在写Flutter技术博客之前,先向大家安利下Flutter。当然,自己写的没有别人的好,下面主要内容总结于互联网关于Flutter的文章。
关于Flutter
Flutter是一款Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过Dart语言进行APP开发,只需要一套代码就可以同时构建Android和iOS应用,并且可以达到与原生应用一样的性能。
优秀特性
跨平台自绘引擎
Flutter使用自己的高性能渲染引擎来绘制widget,保证了在Android和iOS上UI的一致性,也避免了对原生控件依赖而带来的限制及高昂的维护成本。
Flutter使用Skia作为其2D渲染引擎,其在字型、坐标转换,以及点阵图都有着高效能且简洁的表现,目前Google Chrome浏览器和Android均采用Skia作为绘图引擎。
高性能
Flutter APP采用Dart语言开发。Dart支持AOT(Ahead of time)即 “提前编译”运行,运行性能极好。其次,Flutter使用自己的渲染引擎来绘制UI,布局数据等由Dart语言直接控制,所以在布局过程中不需要像RN那样要在JavaScript和Native之间通信,这在一些滑动和拖动的场景下具有明显优势。
高效的Flutter引擎
Flutter引擎纯由C++实现的,其中包括了Skia引擎、Dart运行时、文字排版引擎等。在代码调用dart:ui库时,调用最终会走到Engine层,然后实现真正的绘制逻辑。
优秀开发体验
Flutter支持热重载,可以帮助开发者快速地进行测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以实现毫秒级热重载,不需要重新编译安装新包查看修改代码后的效果,并且不会丢失状态。
对比类似流行的跨平台框架
喜欢折腾移动跨平台的开发的朋友应该对这些并不陌生,这里就不一一介绍了。
下面大致列出特性对比表格:
技术类型 | UI渲染方式 | 性能 | 开发效率 | 动态化 | 框架代表 |
---|---|---|---|---|---|
H5+原生 | WebView渲染 | 一般 | 高 | 支持 | Cordova、Ionic |
JavaScript+原生渲染 | 原生控件渲染 | 好 | 中 | 支持 | RN、Weex |
自绘UI+原生 | 调用系统API渲染 | 好 | Flutter高, QT低 | 默认不支持 | QT、Flutter |
谈谈自己为什么要入坑Flutter
Flutter的诱惑力
Flutter比肩原生的性能,未来将支持Fuchsia OS上构建app,Flutter使用的Dart语言也将作为Fuchsia OS的开发语言。可以说一门框架,一套代码可以同时开发出 Android,IOS和Fuchsia三个平台的应用,潜力可想而知,加上谷歌亲儿子的身份,这些诱惑足以推动了我的兴趣。
跨平台是趋势,大前端更是趋势
Flutter很好的解决了如何节省成本,且快速、高效地开发app的问题。同时也很好的解决了目前市场上多数现营跨平台框架开发的APP“体验不好,界面卡顿,不流畅”的问题。
作为一个开发者,接受和拥抱新技术、新变化是一种良好的态度。作为一个Android开发者,为了提高自己在惨烈的职位市场上的竞争力,Flutter技能加持也是一种很好的选择。
- 最新
- 最热
只看作者