1.原生开发git
优点:github
1)可访问平台所有功能web
2)速度快、性能高、可实现复杂的动画及绘制、总体用户体验度好小程序
缺点: 微信小程序
1)平台特定、开发成本高;不一样平台必须维护不一样代码浏览器
2)内容固定、动态化弱,有新功能更新时只能发版。微信
2.跨平台开发框架
1)H5+原生混合开发(Cordova、Ionic、微信小程序)【原理就是将APP的一部分须要动态变更的内容经过H5来实现,经过原生的网页加载控件WebView (Android)或WKWebView(iOS)来加载】 【运行在WebView中,而webView实质上就是一个浏览器】性能
优:动态内容是H5、web技术栈、社区及资源丰富测试
缺:性能很差、对于复杂用户界面或动画、WebView不堪重负
2)JavaScript开发+原生渲染(React Native、Week、快应用)
JavaScript开发+原生渲染的方式主要优势以下:
不足:
3)自绘UI+原生(QT for mobile、Flutter)
Flutter发展:
2017 年 Google I/O 大会上,Google 首次推出了一款新的用于建立跨平台、高性能的移动应用框架——Flutter。
2018年2月,Flutter发布了第一个Beta版本,同年五月, 在2018年Google I/O 大会上,Flutter 更新到了 beta 3 版本。
2018年6月,Flutter发布了首个预览版本,这意味着 Flutter 进入了正式版(1.0)发布前的最后阶段。
观其发展,在2018年5月份,Flutter 进入了 GitHub stars 排行榜前 100 名,已有 27k star。而今天(2019年5月29日),已经有65K的Star。经历了短短2年多的时间,Flutter 生态系统得以快速增加,因而可知,Flutter在开发者中受到了热烈的欢迎,其将来发展值得期待!
优势:
生态:从Github上来看,目前Flutter活跃用户正在高速增加。从Stackoverflow上提问来看,Flutter社区如今已经很庞大。Flutter的文档、资源也愈来愈丰富,开发过程当中遇到的不少问题均可以在Stackoverflow或其github issue中找到答案。
技术支持:如今Google正在大力推广Flutter,Flutter的做者中不少人都是来自Chromium团队,而且github上活跃度很高。另外一个角度,从今年上半年Flutter频繁的版本发布也能够看出Google对Flutter的投入的资源不小,因此在官方技术支持这方面,大可没必要担忧。
开发效率:Flutter的热重载可帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上能够实现毫秒级热重载,而且不会丢失状态。这真的很棒,相信我,若是你是一名原生开发者,体验了Flutter开发流后,极可能就不想从新回去作原生了,毕竟不多有人不吐槽原生开发的编译速度。