多年之前,当咱们讨论什么是构建移动应用程序最流行的解决方案时,总会将原生开发和跨平台开发进行对比,也总会有人提出“跨平台应用程序速度慢”的刻板问题。对于跨平台技术及其应用开发,咱们不能单一的从性能进行考虑,还应该从开发效率、公司业务场景等多方面进行评估。git
总的来讲,跨平台开发在开发效率上是有了很大的提高,应该的性能在通过优化以后也是能够接受的。目前,主流的跨平台技术主要能够分为三类:一种是使用原生内置的浏览器加载HTML5的Hybrid技术,采用此方案的主要有Cordova、Ionic和微信小程序;另外一种是使用JavaScript开发,而后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一种是使用自带的渲染引擎和自带的原生组件实现跨平台,采用这种方案的主要是Flutter。github
目前,对于应用性能的对比有不少种,但如下几条数据是必不可少的,包括:web
接口(API):与手机应用程序接口交互(访问照片、文件系统、获取GPS位置等)。算法
业务逻辑:数学计算和内存操做的速度,该性能对具备复杂业务逻辑的应用程序来讲最为重要。数据库
页面渲染速度:动画平滑度、用户界面改变时的每秒帧数或一些实时出现的用户界面效果。编程
下面就横向对比下Flutter、React Native和原平生台在性能上的表现,经过运行同一个应用程序而后查看在不一样指标下的性能,数据来源于网络。小程序
上面的对比数据都是通过测试100次获得的,源代码在github.com/nazarcybuls…微信小程序
对比发现,在移动应用开发中,原生开发出来的应用性能仍然是最好的,可是考虑到开发效能,那么使用Flutter也是不错的选择。下面是我最近将要出版的一本关于Flutter应用开发的书籍,暂定名称为《Flutter跨平台应用实战》,书目以下: 浏览器
2020年注定是一个不平淡的年份,新年伊始,一场新型冠状病毒肺炎疫情席卷全国,不断更新的新型冠状病毒肺炎疫情数据让很多民众产生了焦虑,很多城市采起的封城措施也给你们的生活带来诸多不便。在这场全国性的新型冠状病毒肺炎疫情的影响下,大多数线下商业,特别是实体店在一晚上之间歇业,其中人员密集型的餐饮、旅游和文化活动等行业深受其害。bash
面对疫情来袭,隔离是最有效的预防和控制手段,也成为牵引商业模式变革的重要变量。面对严峻的疫情形势,即使是春节假期,各类走亲访友、商业往来、逛街购物等活动都通通按下了“暂停键”。同时,各级政府积极响应抗灾防疫,作到及时的隔离,并提供及时疫情发展信息,为防疫赢得宝贵时间。
2020年的春节是惨淡的,也是悲伤的,疫情的发生让咱们每一个人都始料不及,可是在这场战役里,全国人民团结一心、众志成城,相信必定会打败肺炎疫情。肺炎疫情应用正是基于这一现实开发的一款工具类应用,提供肺炎疫情最新的发展信息,以及提供一些防御措施。以下是新冠肺炎疫情应用的部分效果。
在Flutter应用开发过程当中,系统提供的组件和API并不能知足所有的开发需求,为了快速的完成开发任务,大多数状况下须要使用一些第三方的开源库,如下是本项目使用的部分开源库,以下所示。
cupertino_icons: ^0.1.2 //图标库
dio: 3.0.9 //网络请求库
fluro: 1.5.2 //路由导航库
provide: 1.0.2 //状态管理库
webview_flutter: 0.3.19+8 //WebView库
device_info: 0.4.1+5 //设备版本信息库
pull_to_refresh: 1.5.8 //下拉刷新
flutter_swiper: 1.1.6 //Swiper库
cached_network_image: 2.0.0 //网络图片
shared_preferences: 0.5.6+2 //持久化数据库
intl: 0.16.1 //国际化
open_file: 3.0.1 //文件选择
url_launcher: 5.4.2 //打开第三方应用
connectivity: 0.4.8+1 //网络状态监听
photo_view: ^0.9.2 //大图预览
fluttertoast: ^3.1.3 //Toast消息提示
syncfusion_flutter_charts: ^18.1.0 //图表组件库
复制代码
使用时,只须要在pubspec.yaml文件中添加这些第三方开源库便可。
为了方便广大的开发者进行入门学习,已经在Git上进行了开源,欢迎Fork和Star,下载连接:新冠肺炎疫情应用。
参考资料: 1,移动跨平台方案对比:WEEX、React Native、Flutter和PWA
2,Flutter入门与环境搭建
3,Flutter开发之Dart语言基础
4,Flutter基础知识
5,Flutter开发之基础Widgets
6,Flutter 应用程序调试
7,Flutter For Web入门实战
8,Flutter开发之异步编程
9,Flutter开发之网络请求
10,Flutter开发之JSON解析
11,Flutter开发之路由与导航
12,Flutter 必备开源项目
13,Flutter 国际化适配实战
14,Flutter应用集成极光推送
15,Flutter混合开发
16,构建属于本身的Flutter混合开发框架
17,Flutter 应用性能检测与优化
18,Flutter异常监测与上报
19,Flutter的Hot Reload是如何作到的
20,Apple为何不封杀 Flutter,之后会封杀吗
21,《Flutter in action》开源