Flutter开发者

Flutter是什么

2018-01-01

什么是Flutter

Flutter 是一个跨平台(Android 和 iOS)的移动开发框架,使用的是 Dart 语言。

Flutter 的目标是用来创建高性能、高稳定性、高帧率、低延迟的 Android 和 iOS 应用。并且开发出来的应用在不同的平台用起来跟原生应用具有一样的体验。不同的平台的原生体验应该得到保留,让该应用看起来同整个系统更加协调。不同平台的滚动操作、字体、图标 等特殊的特性 应该和该平台上的其他应用保持一致,让用户感觉就像操作原生应用一样。

为何选择使用 Flutter?

  • 开发效率高,一套代码可以开发出 Android 、 iOS、Fuchsia平台应用
  • 同样的功能只需要很少的代码,如果你只开发一个平台的应用,使用 时髦的、更具有表达性的开发语言,也可以让你用更少的代码来实现同样的功能。
  • 开发原型和迭代更加方便
  • 在应用运行的时候就可以修改代码并重新加载修改后的功能(hot reload)
  • 直接修改崩溃的 bug,然后继续从崩溃的地方执行调试
  • 创建优雅的、可定制的用户界面
  • Flutter采用 Materal Design 设计语言(规范),该规范定义了用户界面上的元素的用途、外观、展现形式以及形态变化的规范
  • 提供了可定制的 UI 框架,不再受制于手机平台控件的支持。
  • 完全从头设计的系统,不会有为了兼容考虑的历史包袱——比如 Java 虚拟机的慢速,又比如 Android 较慢的渲染速度。因此也可以把体积做的很小,塞到存储容量很小的设备中。

Flutter&ReactNative

  • ReactNative –> Facebook,Flutter–> Google
  • ReactNative的控件都是在原生控件上的扩展,如ReactNative里的ListView在android平台下的实现就是继承于android里的ListView。在Flutter中,它的所有 UI 组件都是一帧一帧画出来的。这样也能够很准确,也很灵活的做出你想要的 UI 。

ReactNative中View渲染过程

Flutter中View渲染过程

  • 性能上的差距,由于ReactNative里的动画都是由js驱动的所以在动画处理或者高帧率刷新的界面上可能会有一点卡顿或者延迟。
  • 热加载,虽然ReactNative二次加载上也很快但是跟Flutter的 hot reload比起来真的还是有一定差距的,毕竟flutter的 hot reload是支持数据缓存的。

Flutter hot reload

  • 开发语音,ReactNative 是使用js和xml驱动的,Flutter使用的Dart开发的

小结

总之,Flutter就是一套全新的扩平台开发框架,支持你使用Dart语音来开发(Android 、Iso、Fuchsia)应用,虽然Flutter目前还在alpha阶段,但是他的前途还是很不错的。

使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

打赏请备注姓名或者昵称,方便我后期统计哦

关注公众号,及时查阅最新文章