[关闭]
@jflame 2015-07-06T01:41:17.000000Z 字数 1324 阅读 1443

hybrid app 方案

hybrid


native 与 hybrid

native

hybrid

广义的hybrid很好实现,activity 里加个webview控件就行了。

事实上一个完整hybrid包括:
桥接器native功能模块集合相关开发工具的一系列解决方案

cordova(phoneGap) + Ionic/framework7

整个app就是一个webview
UI一般是纯html5实现

后两个是css+js移动端库,也就是移动端的“前端”框架,但官方其实就是奔着和cordova结合去的
Ionic仅支持iOS6和Android 4及更高版本,使用了 angularjs,有各种很好的css样式,web UI组件,比如 card list,以及比较容易使用的html5无限滚动

转场动画还是慢(与原生比,据说iOS里效果很好)
framework7 IOS7的风格,包括交互动画什么的

cordova 插件很多,毕竟全世界人民在用,不一定找得到 ORZ,很零散
主要是一些功能性模块,ionic 专门做了一个模块汇总打包

自定义开发插件相对容易

Hbuilder/Dcloud/Html5+

偏重于纯html5实现,尤其是其native.js技术,似乎是希望全部功能都用js实现(这是不可能的)
转场动画用webview实现,整个app就是多个webview的集合

内置一些基本功能模块,但还是太少了,需要自己去实现各种各样的需求,需要本地打包

apicloud

整个app是多个activity,每个activity里又有多个webview。
转场是activity的原生转场动画,因此相对流畅

走的是 桥接器 + 类 parse(国内的有bmob/avoscloud)路线
我还没看到它的云服务比后几个有多大优势
劣势倒是不少,比如文档太少了

云平台有一些支持功能如自动更新、云修复

内置模块不少,尤其是原生UI插件很多,而且还在一直增加,但有很多坑和bug,怀疑其稳定性和安全性。

但总会有各种各样的需求需要自定义模块

很难调试,不能使用 chrome 的inspect(其他大多方案会用这种调试方式)

添加自定义模块不方便,因为不能使用 R ,自定义模块必须小心引用开源SDK之类的lib

而且它就算只是官方模块也不开源,想照着自定义模块都没法

文档太简略,尤其模块开发SDK,简直是让人去猜方法有什么用

个人觉得,其注重商业运作重于产品技术

Crosswalk 和 Cocoonjs的webview+

crosswalk 支持 安卓4.0+,iOS8+

http://support.ludei.com/hc/en-us/articles/202568973-First-steps-with-CocoonJS-CLI

主流应用中的hybrid

转场、navigator用原生实现,内容展示用H5实现。

native总归是有优势的,一些情况,纯js不好实现,而native却有往往有现成的方案(比如各种开源库,一些官方控件等等)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注