移动端流行的趋势不言而喻,本文记录于一些学习的内容

关注了阮一峰博客,最新一篇新的文章引起了我的兴趣《H5手机APP开发入门:概念篇》,文中介绍了手机APP相关的知识和H5的涵义,内容还是不错的。我接触过原生安卓应用的开发,不过因为原生安卓开发环境部署,以及代码调式编译的时间体验,不符合我,所以弃坑。我还记得我学习原生安卓的时候,谷歌刚刚推出了一个跨平台的移动端开发框架Flutter。不过那个时候这个框架随然激起一波浪潮,但是相关的学习资料,开发生态还不成熟,所以没有去深度了解。今天的移动应用开发入门,主角就是 Flutter。在这里介绍和记录学习Flutter的过程。

学习Flutter,推荐浏览Flutter中文网

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。—— Flutter中文网

Flutter动人之处在于,它的热重载 快速开发的能力,还有富有表现力和灵活的UI以及保持原生性能。

下面是目前移动开发中三种跨平台技术,从框架角度做的对比

技术类型UI渲染方式性能开发效率动态化框架代表
H5+原生WebView渲染一般支持Cordova、Ionic
JavaScript+原生渲染原生控件渲染支持React Native、Weex
自绘UI+原生调用系统API渲染Flutter高, QT低默认不支持QT for mobile、Flutter

跨平台技术对比:上表中开发语言主要指UI的开发语言。而开发效率,是指整个开发周期的效率,包括编码时间、调试时间、以及排错、兼容时间。动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的。

本文部分内容节选于 Flutter中文网内容,原文连接如下:
https://book.flutterchina.club/chapter1/mobile_development_intro.html