常见类库js &&移动
App是一个全新的领域,充满了未知,但这也正是它的魅力所在。开源社区上有各种千奇百怪的发明创造,以GitHub名气最大,其中一些开源项目已经为很多App所广泛使用,比如说,本章第5节已经介绍过如何在字体文件中使用icon。接下来我们就要看看还有哪些优秀的开源SDK:
Html5篇
关于跨平台交互的开源项目有很多,以下几个比较有名:
1. 首先是PhoneGap,这是跨平台开源项目的老大哥。我研究过一段时间,个人感觉这个框架太重了,所以才有下面这些开源项目的面世。
2. WebViewJavascriptBridge.js
这是一个优秀的开源小项目,国内很多大公司的App都在使用它。它优雅的实现了Html5和App之间的互相调用。就像项目的名称一样,它是连接JavaScript和WebView的bridge。[1]
3. zepto.js
这个开源项目兼容于jQuery,和jQuery这个老前辈相比算是青出于蓝而胜于蓝。[2]
4. CryptoJS
为 JavaScript 提供了各种各样的加密算法。[3]
5. mraid.js
MARID是Mobile RichMedia Ad Interface Definitions的缩写,即移动富媒体广告接口定义,基于JavaScript实现。[4]
iOS篇
1. CocoaPods
iOS最有名的类库管理工具,解决类库之间依赖关系的开源项目。
2. EGOImageLoading
异步加载图片的第三方类库,有点类似于Android的ImageLoader。[5]
3. CocoaLumberjack
这是一个集快捷、简单、强大和灵活于一身的日志框架。[6]
4. YAJL
YAJL(Yet Another JSON Library)是一个小型事件驱动(SAX风格)的 JSON 解析器,采用ANSI C编写。[7]
5. zlib
用于解压缩Zip包。我们在App中打包Html5页面时会用到这个东西。[8]
Android篇
1. aSmack
说到aSmack,自然要先提提Smack。Smack API是一个完整的实现了XMPP协议的开源API库,而aSmack则是Smack在Android上的构建版本,于2013年2月初迁移到 GitHub上,该资源库并不包含太多的代码,只是一个构建环境。开发者可以利用该API进行基于XMPP协议的即时消息应用程序开发。[9]
2. EventBus
EventBus是一个发布-订阅的事件总线,是为Android量身打造的开源项目。看到发布-订阅,我们自然就会想起观察者模式,其实这个开源项目就是按照这个思路实现的。[10]
其他
1. Pinyin4j
它是上的一个开源项目,可以将汉字转化为拼音,这样的话,当我们从服务器取出中文城市列表的数据后,就可以通过输入全拼或者拼音首字母,迅速的查找到相应的中文城市了。[11]
在此,我谈一下对这个技术的一点看法。我认为不该在客户端做这个事情,太重了。应该由服务器端在返回中文城市数据时,额外返回该城市的全拼或者拼音首字母这两个字段。把复杂的业务逻辑放在服务器端。
2. Countly
精益化运营,需要一个优秀的统计分析平台,其中比较优秀的有Countly和Google Analytics,后者又简称为GA。
市面上的App对GA使用的比较多,对Countly了解不多。Countly是一款专门给移动应用的统计分析平台,而且它居然是开源的。Countly由两部分组成,APP SDK和服务器。服务器是建立在Node.js和MongoDB之上的。如果厌倦了第三方平台的局限性,可以考虑使用该开源平台。