Cordova

+

Angularjs与Cordova做混合应用开发

分享人:左威威 (猿创前端工程师)

GitHub: https://github.com/wewoor

Blog: http://imziv.com/

QQ: 191879617

Email: wewoor@foxmail.com

简述

混合(Hybird)开发已经不是新鲜词了,随着HTML5的定稿,移动设备的高速发展,混合模式的App已经是越来越多的公司或者开发者都采用的方式,在今年的D2大会上,阿里的团队介绍说淘宝的移动版本中混合开发的部分已经达到了60%, 而Native部分则是40%。

AngularJs在过去几年一直是几乎就成了前端的代名词,但是自去年Facebook发布了自家的Reactjs后,ReactJs声名鹊起,几乎替代了Angularjs的位置。由于Angularjs自身设计的一些问题,例如比较重的架构设计,性能问题,较高的学习成本等等, 所以很多公司已经放弃了Angularjs, 拥抱ReactJS了。

与此同时,AngularJS的开发团队前不久已经打造出了完全不同的AngularJS2, 这是一个与之前版本完全不兼容的版本,新的语法,新的概念。这也就意味着我们手里的Angularjs是个被淘汰的东西。AngularJS2打着"One framework.Mobile and desktop"的口号, 据官方首页上的介绍,AngularJS2拥有更快的执行速度,移动端更好的性能,强大的扩展能力。当然这些还需要时间的检验,2016年,前端领域又将是不平静的一年。

常见的混合方案

  • PhoneGap
  • Cordova 
  • React-native
  • Appcan
  • DCloud
  • APICloud

我们的技术选型

为什么(Why)

Cordova是一个自由度比较高的打包方案,而且是由Apache负责维护的, 插件资源非常丰富。 Angularjs虽然已经是过去时了,但是毕竟是一个成熟度高的框架,有丰富的社区资源和开源资源做支撑,所以基本上你遇到的问题,别人已经遇到过然后解决的差不多了。例如基于AngularJS构建的Ionic,则是一套完成度很高的移动端UI框架。所以可以看到,上面的技术结合自由度会比较高,而且是比较成熟的技术方案,这样对项目质量和进度上有一定的保证。

或许有人会问,想Dcloud,Appcan这种解决方案更完善,为什么不用。首先我必须承认的是他们拥有更完整的解决方案,从UI库,Native插件,打包发布,数据监控等等。但是目前我还不想项目过度依赖某个平台。

遇到的一些问题

  • 登录怎么做
  • UI组件
  • 场景动画
  • ...
  •  

总结

总结下,混合模式的应用的优势显而易见,通过前端来到达跨平台的目的,确实提升了很大的开发效率。但是它存在的问题依然老生常谈,性能,性能,性能。但是如果有不错的技术团队做支持,混合应用还是可以在这两者之间做到很不错的权衡。

Q&A (问与答)

Made with Slides.com