Flutter开发系列(一)--Flutter介绍及环境安装

    传统的原生开发需要维护至少两个平台的代码(Android, IOS),这样对版本迭代及人力成本等有更多的要求。而使用Flutter跨平台开发可以实现一套代码多个平台使用,提升了代码复用,降低了人力成本。

    跨平台开发历经几个阶段:

    第一阶段:原生开发,维护成本高。

    第二阶段:H5跨平台交互,Android提供了WebView,担任JavaScript与原生API之间通信的Bridge桥梁,用于在JavaScript与原生之间通信的工具称之为WebViewJavaScriptBridge(JsBridge)。WebView使用浏览器内核加载渲染页面,有较严重的性能问题和内存泄漏问题。

    第三阶段:Reactive Native通过桥梁完成原生绘制,以达到更优的性能。RN使用JavaScript完成类似Android中xml等的配置文件的工作,然后通过bridge传递到原生,通知原生完成控件的解析并完成绘制渲染等,其性能优于WebView,但是bridge成本高、压力大,因为需要频繁的跨桥调用,这样会导致卡顿等性能问题。

    Flutter正是这样一种跨平台的移动UI框架,它不需要桥梁,并能够与现有代码一起工作,而且可以支持混合开发。Flutter是完全免费且开源的,Flutter支持的平台有Android,IOS,Fuchsia(Fuchsia为Google公司开发的另一个操作系统)。

    Flutter架构是两层结构:Framework层和Engine层,Framework层使用Dart语言编写,提供各种基础组件库;Engine层使用C++实现,包括Skia渲染引擎,DartVM等。Flutter能够实现快速开发,界面效果十分丰富,并且性能更好。Flutter支持instant-run热更新。

    Flutter使用Dart语言进行开发,它是单线程模型,也就不需要锁,不存在数据竞争和变量状态的同步问题,也没有线程上下文切换带来的性能损耗和加锁导致的卡顿等。垃圾回收采用了多生代垃圾回收算法(DartVM参考了JVM的实现),专门为UI框架中常见的大量Widgets对象创建和销毁进行优化。

    Flutter基于JIT的快速开发周期,Flutter在开发阶段采用JIT模式,这样避免了每次改动都要编译,节省了开发时间;

    基于AOT的发布包,Flutter在发布时可以通过AOT生成高效的ARM代码以保证性能。

    Flutter在Debug时使用JIT编译,支持热重载,可以提升开发效率;Release时使用AOT直接编译成机器码,能够达到更好的性能。

    Flutter开发环境配置参考Flutter开发中文网如下链接:

    https://flutterchina.club/get-started/install/

   按照如上链接中的说明下载Flutter SDK,配置系统环境变量,并在AndroidStudio安装和配置Flutter插件,操作过程比较简单。

   待上述配置完成之后,就可以使用AndroidStudio创建第一个Flutter项目了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值