cordova icon generator

cordova/phonegap 能实现跨平台,在各个平台下有不同的 icon、land screen,作为独立开发者,没有设计师,一切都自己搞的人来说,要做那么多套 icon 和 land screen 真是一件悲痛的事情。仅仅就 iOS 和 android 而言,都要生成这么多的图标,下面这还仅仅是iOS 的:

pic

pic

pic

于是,写了个工具,从一张大图片直接生成所有的 icon 、land screen ,放到了 github 上

注意: 依赖 ImageMagic 的 convert 命令

  1. 在 Mac 下 安装 brew install imagemagick
  2. linux (Ubuntu) 下 apt-get install imagemagick

iOS 8 发布对Hybrid app有什么影响?

iOS 8 正式发布后,基于 UIWebView 的 Hybrid app 性能有望获得大幅提升.

webview 使用了和 safari javascript 引擎

Hybrid app 是基于 UIWebView 的应用,比如 Phonegap/cordova 最终会将 html/js/css 打
包运行在 UIWebView 中。而在 iOS 8 之前,处于安全的考虑[1],只有 Safari 开启了 JavaScriptCore just-in-time (JIT) 技术,实时的将 javascript 编译为机器码。使用了 JIT 技术有什么影响呢?js的计算能力有 200% - 300% 的提升,见下图 [2] —— 注意是js计算能力,对于非计算密集型的,比如游戏之外的项目,可能性能提升不是那么明显,比如参考[3]提到了一个 Todo MVC 的应用,经他的测试也有 20% 左右的提升.

ios_chrome

ios_safari

需要 Hybrid 应应用框架 Phonegap/cordova 跟进

iOS 8 发布了,如果开发者的应用依赖像 Phonegap/cordova 这样的第三方框架,是不能立马享受到带来的好处的,需要 Phonegap/cordova 从 UIWebView 迁移到 WKWebView API. 不过,网络上还没有看到 cordova 跟进的消息,本身 iOS 的正式发布也要等一段时间,拭目以待吧.

参考

[1] http://www.cnet.com/news/ios-8-grants-new-power-to-rival-browsers-web-based-apps/ One possible reason was security: a JIT compiler essentially creates a new program on the fly and marks the region of memory it’s stored in as executable, and a hacker could potentially abuse that privilege.

[2] http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/

http://developer.telerik.com/wp-content/uploads/2014/06/Chrome_for_iOS_SunSpider.jpg

http://developer.telerik.com/wp-content/uploads/2014/06/iOS_Safari_SunSpider.jpg

[3] http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/

[4] http://www.minemobile.com/nitro-javascript-engine-in-ios-phonegap-apps/

两个hybrid手机开发UI框架

第一个版本:基于chocolatechip-ui

做了一个手机APP练手,一个月前上线了一个非常简单的版本。

v1_1

v1_2

v1_3

v1_4

v1_5

第二个版本:基于 ionic

ios_1

ios_3

使用下来的一些感受

  1. chocolatechip-ui 只是一个UI框架,UI的展示逻辑需要开发者自己处理,亮点在于在不同的平台下,自动匹配到相应的系统UI风格;
  2. http://ionicframework.com/ 只有一套UI风格,就是iOS 7扁平化的风格,ionic 与 AngularJs 进行了深度绑定,如果熟悉mvvm的开发风格的话,开发起来会非常快,不过曲线略微陡峭,不过 ionic 作为UI单独使用也是可以的
  3. 感觉 ionic 提供更为华丽的组件,而且官方的开发论坛也非常活跃,作为一名f2e,学下Angular自是不在话下,第二版的APP,加上学习Angular也就花了4天时间。