Hybrid App

Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。

对比

Hybrid App开发框架有很多,在此做了一个记录。这里没有覆盖所有的框架,而且有一定的偏好,更多的希望能找到一个适合我们技术背景的选择。

国内

一、AppCan http://www.appcan.cn/

号称国内 [Hybrid混合开发]、[移动平台]、[移动云平台]的倡导者&领导者,从网站上来看有不少政企的客户。

Paste_Image.png

AppCan Javascript SDK: 是appcan根据自己的需求封装的一个开发库,对底层的接口进行更高层的封装,能让开发者更快速、 高效的开发更加稳定的项目,该库依赖backbonejs、zeptojs、underscorejs默认打包在基础库中,开发者 不需要进行额外的引用,另外在该库的基础上提供了丰富的插件,能让开发者更高效的开发app。

IDE:AppCan IDE是基于Eclipse定制的移动集成开发环境,专为无Native开发经验的HTML开发人员设计。

小结:该有的都有,UI的文档感觉比较简单。

二、DCloud http://dcloud.io/

Paste_Image.png

  • HBuilder

HTML5 IDE,飞速编码的极客工具,手指爽,眼睛爽下载。

  • 5+Runtime

增强版的手机浏览器引擎,让HTML5达到原生水平!原生40万API随意调用。

  • MUI

最接近原生App体验的前端框架。

小结:感觉对开发非常友好,突出的特点的性能。IDE、UI都很齐全、

三、APICloud http://www.apicloud.com/

Paste_Image.png

  • IDE支持:APICloud Studio(基于Eclipse),Sublime Text插件(支持Linux),Atom插件,WebStom插件

  • 端API

  • SuperWebView:APICloud官方推出的另一项重量级API生态产品,以SDK方式提供,致力于提升和改善移动设备Webview体验差的整套解决方案。

  • AUI,http://www.auicss.com/

小结:和DCloud非常类似,但是定位推广策略略有不同,APICloud可能更多是站在用户(不一定是开发)想解决用户的APP开发需求,最近重点推出了App外包服务。

四、Weex http://weex-project.io/cn/

是阿里的一个项目,对应React-Native而推出的Vue-Nactive。基于Vue编写,最后能编译成原生代码进行发布。

Paste_Image.png

国外

一、PhoneCap & Apache Cordova

http://phonegap.com/
Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Javascript、CSS等Web APIs开发跨平台的移动应用程序。原本由Nitobi公司开发,现在由Adobe拥有。PhoneGap被Adobe收购后,剥离了核心代码贡献给 Apache Software Foundation,Apache 将这个项目命名为Cordova ,也就是说 PhoneGap 是基于 Cordova 的。现在很多Hyprid App的框架实际上都是基于Cordova来做的。

Paste_Image.png

二、React Native

https://facebook.github.io/react-native/
一句话,Build native mobile apps using JavaScript and React。

Paste_Image.png

三、OnsenUI

https://onsen.io/
基于PhoneGap / Cordova,提供了一个统一的UI框架和工具,让你可以使用AngularJS、React、Vue之类的框架来进行App的开发,进一步提高App的开发效率。

Paste_Image.png

四、Quasar Framework

http://quasar-framework.org/
也是基于Cordova,也支持Electron,不过是完全使用Vue2来进行架构。

Paste_Image.png

类似的项目还有Framework7等等好多。

其他

RubyMotion

http://www.rubymotion.com/
使用同一种语言(Ruby)和同一套开发环境同时开发 iOS 和 Android 应用。RubyMotion 应用是静态编译的,并可以调用各平台原生 API。

RubyMotion并不算Hybrid开发,但是对于我们来说也是可以尝试的一条道路呢。Mark一下!

Paste_Image.png

总结

下一步研究可能更多集中在使用Vue开发的框架之上,例如Weex、OnsenUI、Quasar,而Cordova作为许多项目的基础,也是深入了解的内容。国内的DCloud、APICloud并不支持ES6,这个是一个硬伤。

RubyMotion作为兴趣会作为课余的辅助了解对象。期望最后能够确定一个适合于我们团队和应用的最优解决方案。