前言
最近有朋友问我粉笔网iPhone端使用了哪些第三方的开源库。我在这儿整理了一下,分享给大家。
ASIHttpRequest
ASIHttpRequest 是一个被广泛使用的第三方网络访问开源库。用于提供更加友好的网络访问接口。相信很多搞iOS开发的朋友都用过它。 ASIHttpRequest 的主要使用文档可以参考这里。
另外,由于ASIHTTPRequest的作者已经公开说明不再维护这个开源项目,并且该项目已经一年多没有更新了,所以我一直在寻找替代的开源库。不过现在暂时还没有找到更好的。
RegexKit
RegexKit是一个正则表达式工具类。提供强大的正则表达式匹配和替换功能。我们主要使用它来对类似微博的正文替换工作。例如将 @某某 换成带链接的,将图片的URL换成img标签等。
同时,开源库MGTemplateEngine也依赖于此库。附上RegexKit4.0的官方文档教程。
MGTemplateEngine
MGTemplateEngine是一个模版引擎。我们主要使用它来生成单条微博页的内容。我们的单条微博页打算用UIWebView来显示,所以内容需要用模版渲染成HTML格式。MGTemplateEngine的模版语言比较象:Smarty, FreeMarker 和 Django的模版语言。
MGTemplateEngine的作者官方博客在这里。
我们在使用时,对此开源库的Filter类进行了修改,主要增加了3个自定义的filter,用于提供我们的格式化时间,转义html和过滤空头象的用户的方式。
JSONKit
JSONKit是一个比较高效的JSON解析库。我之前比较过各大JSON解析库的性能(文章在此),JSONKit算是非常不错的,大概的使用示例如下:
1
2
3
4
5
6
|
#import "JSONKit.h"
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSData *content = [NSData dataWithContentsOfFile:path];
NSDictionary *kitData = [content objectFromJSONData];
NSString *kitString = [kitData JSONString];
|
GTMNSString
GTMNSString主要用于转义HTML中的特殊字符。以防止XSS攻击。
FMDB
FMDB是一个sqlite数据库封装类,需要加入 libsqlite3.dylib 依赖以及引入 sqlite3.h 头文件即可。在使用上非常简单。如下是一个例子:
1
2
3
4
5
6
7
8
9
10
11
|
NSString * docsdir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString * dbpath = [docsdir stringByAppendingPathComponent:@"user.sqlite"];
FMDatabase * db = [FMDatabase databaseWithPath:dbpath];
[db open];
FMResultSet * rs = [db executeQuery:@"select * from People"];
while ([rs next]) {
NSLog(@"%@ %@",
[rs stringForColumn:@"firstname"],
[rs stringForColumn:@"lastname"]);
}
[db close];
|
BBCustomBackButtonViewController
BBCustomBackButtonViewController 是用于在ios4上提供自定义的NavigationBar按钮的开源库。使用上异常简单,只需要让自己的ViewController继承它就可以了。
我对BBCustomBackButtonViewController进行了修改,主要是改动它的自定义的按钮的样式,使其和我们的风格一致。
MTStatusBarOverlay
MTStatusBarOverlay 是一个在iphone的顶部status bar显示消息的开源库。示例代码如下:
1
2
3
4
5
6
7
8
|
+ (void)showCompletedTextOnStatusBar:(NSString *)text {
NSString * message = [NSString stringWithFormat:@"%@成功", text];
MTStatusBarOverlay *overlay = [MTStatusBarOverlay sharedInstance];
overlay.animation = MTStatusBarOverlayAnimationFallDown;
overlay.detailViewMode = MTDetailViewModeHistory;
[overlay postImmediateFinishMessage:message duration:2.0 animated:YES];
overlay.progress = 1.0;
}
|
但是stackoverflow上说,有项目因为这个审核被拒,但是新浪微博明显采用了此UI方案,所以我们还是大胆用了这个库。后来,我们也顺利通过了审核。
MBProgressHUD
MBProgressHUD 是一个用于显示灰色的加载进度或结果的类。与系统自带的UIAlertView相比,MBProgressHUD由于背影是黑色的,所以视觉上不是那么强烈。我们主要用它来显示一些加载中的提示,以及一些自已会消失的操作结果(例如网络失败等)。
NSStringWrapper
因为自己有多年Java开发的经历,我还是不太习惯Objective-C连基本的字符串操作都要查文档,而我自己又记不住老长的方法名,所以我把Objective-C的字符串基本操作都封装成了Java风格的方法调用。这部分是很早前拿周末时间在家里写的,所以是开源的,源代码地址。
EGOTableViewPullRefresh
EGOTableViewPullRefresh 一个开源的下拉刷新组件。我对它进行了改进,增加了强制刷新功能。
LoadMoreTableFooterView
LoadMoreTableFooterView 一个开源的上拉加载更多的组件。我做了少量修改,以便让它支持iPhone5的分辨率。
zepto.js
zepto是一个类似JQuery的javascript开源库,用于实现css选择器和一些dom操作。它的api几乎和JQuery完全一样,优点是体积小巧。
ejs
ejs一个js端的模版库。我们主要用于渲染一些UIWebview中异步加载的内容。例如笔记的评论,问题的答案。
总结
希望上面的开源库能对你有用。最后分享一张粉笔网全站用到的所有开源项目的图片。
分享到:
相关推荐
粉笔网使用MySQL作为其核心的数据存储层,用于持久化存储用户信息、课程资料等关键数据。 - **Redis**:Redis是一种开源的键值存储系统,被广泛用于缓存和实时数据处理场景。粉笔网利用Redis进行高速数据读取,尤其...
电子粉笔屏幕粉笔是一种创新的工具,专为提升PPT演讲效果而设计。它模拟了传统的粉笔体验,让讲师或演示者能够在屏幕上进行实时标注、绘图和讲解,以此增强观众的理解和记忆力。这一技术尤其适用于教育、培训、会议...
在本压缩包“行业文档-设计装置-护手粉笔套及其配套使用的粉笔.zip”中,主要包含了一份关于护手粉笔套及其配套粉笔的设计与应用的详细文档——“护手粉笔套及其配套使用的粉笔.pdf”。这篇文档深入探讨了在教育、...
5. **示例与测试**:压缩包中的 "examples" 文件夹通常包含了一些演示如何使用库的代码片段,这有助于快速理解和学习。"test" 文件夹则包含单元测试,确保库的功能正确无误。 6. **安装与集成**:在你的项目中使用 ...
"chalker"就是其中之一,它是一个专为前端开发者设计的开源库,致力于在字符串中实现ANSI颜色设置,通过XML与“粉笔”的概念,使得在终端输出彩色文本变得更加便捷和直观。 首先,我们需要理解什么是ANSI颜色。ANSI...
粉笔电脑端-XP版.exe
"电子粉笔"是一种在数字化教学环境中广泛使用的工具,它模拟了传统粉笔的功能,但以数字形式呈现,便于在电脑或投影屏幕上进行演示和讲解。这种工具通常包含注释、绘图、高亮和擦除等核心功能,极大地提升了教学和...
蜡笔 粉笔 画笔 笔刷 PS粉笔
本资源“三份粉笔黑板报风格的PPT素材.rar”提供了三种独特的粉笔手绘风格PPT模板,适合那些希望为他们的演示文稿增添艺术感和个性的用户。 首先,我们来看“PPT模板——粉笔画黑白.ppt”。这个模板以经典的黑白...
《粉笔网:一个教育领域的社交媒体探索》 粉笔网,自2012年8月27日正式上线,以其“学习,从粉一个老师开始”的口号,将自身定位为一个融合了微博与文库特点的教育社区。该平台旨在为教育培训领域的教师和学生提供...
而粉笔直播课pc客户端是在电脑上可以直接使用的粉笔直播课客户端,比起粉笔直播课网页版要显得稳定很多,你可以直接使用你在手机正在看的课程的课程码在粉笔直播课电脑版上同步学习进度。 粉笔直播课电脑版怎么用?...
粉笔公考行测知识导图是针对国家公务员考试行政职业能力测验(行测)部分的内容。行测是公务员考试中的重要部分,考察应试者的逻辑推理、数学运算、判断推理、资料分析等多方面的能力。粉笔公考提供的知识导图,旨在...
电子粉笔电子粉笔电子粉笔电子粉笔电子粉笔电子粉笔电子粉笔
前端开源库“synchro-prompt”是一个专为开发者设计的工具,它提供了在命令行界面(CLI)中进行同步提示的功能。在快速发展的前端开发领域,交互式的命令行工具对于测试、配置和调试项目至关重要。synchro-prompt...
粉笔公考申论晨读笔记模板
asl文件是Photoshop的样式库文件,名为"Chalkboard Text Effects.asl",其中包含了4种精心制作的粉笔字样式。这些样式是专业人士根据真实粉笔在黑板上书写的质感和效果模拟出来的,包括了粉笔的不规则边缘、颗粒感...
【电子粉笔】是一种专为多媒体教学设计的高科技工具,它替代了传统的黑板和粉笔,极大地提升了教学效率和互动性。电子粉笔通常具备以下核心特点: 1. **数字化书写**:与传统粉笔不同,电子粉笔能够在电子白板或...
1、第一时间从这里获取名师发布的学习资料 2、收藏次数越多资料越靠前,经过历届考生的实战检验 3、在资料室可以找到老师发布的所有资料,点击直接离线下载 分享 1、用新浪微博、QQ空间、人人网可以...