Flutter慢慢来

Posted 亓壹笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter慢慢来相关的知识,希望对你有一定的参考价值。

Flutter是什么

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

为什么采用dart

Flutter采用Dart语言进行开发,而并非Java,javascript这类热门语言,这是Flutter团队对当前热门的10多种语言慎重评估后的选择。因为Dart囊括了多数编程语言的优点,它更符合Flutter构建界面的方式

使用Dart的优势:

  • Fuchsia 的终端开发人员已经在使用 Dart;

  • Flutter正是使用Dart语言编写的,一拍即合;

  • Dart 开发项目效率高,书写简单;

  • Dart 语言有异步支持较好,同时具有内存安全保证,降低了开发的中存在的安全漏洞风险;

但是它也有缺点:

  • Dart 借鉴了Java的垃圾回收机制,也具有一套自己的垃圾回收机制来管理内存,所以会更加占用资源,需要在程序中手动释放内存资源,以减少内存泄漏;

  • Dart 具有Dart VM虚拟机,类似于Java也有JVM虚拟机环境,Flutter项目打包apk时也会把它打包进去;

  • Dart更注重性能,但是在启动延迟,二进制大小等方面就不够,特别是Flutter使用了Dart,官方为了性能考虑,暂时没办法兼顾热更新,动态加载程序什么的都暂时没考虑进去。


Dart 的诸多特性堪称为 Flutter 量身打造:

  • Dart 是 AOT(Ahead Of Time)编译的,编译成快速、可预测的本地代码,使 Flutter 几乎都可以使用 Dart 编写。这不仅使 Flutter 变得更快,而且几乎所有的东西(包括所有的小部件)都可以定制。

  • Dart 也可以 JIT(Just In Time)编译,开发周期异常快,工作流颠覆常规(包括 Flutter 流行的亚秒级有状态热重载)。

  • Dart 可以更轻松地创建以 60fps 运行的流畅动画和转场。Dart 可以在没有锁的情况下进行对象分配和垃圾回收。就像 JavaScript 一样,Dart 避免了抢占式调度和共享内存(因而也不需要锁)。由于 Flutter 应用程序被编译为本地代码,因此它们不需要在领域之间建立缓慢的桥梁(例如,JavaScript 到本地代码)。它的启动速度也快得多。

  • Dart 使 Flutter 不需要单独的声明式布局语言,如 JSX 或 XML,或单独的可视化界面构建器,因为 Dart 的声明式编程布局易于阅读和可视化。所有的布局使用一种语言,聚集在一处,Flutter 很容易提供高级工具,使布局更简单。

  • 开发人员发现 Dart 特别容易学习,因为它具有静态和动态语言用户都熟悉的特性。



Flutter的一些准备资料

  • Flutter与Dart 入门

  • Flutter学习之Dart基础数据类型

  • 掘金 - Flutter & Dart从入门到实战

  • Flutter瘦身大作战

  • 研读Flutter——打包编译流程详解

  • 今日头条 | 让Flutter真正支持View级别的混合开发

  • Flutter 与 React Native 深入对比分析

  • 如何入门 Flutter 开发 - GsyGitHubAppFlultter

  • 闲鱼-Flutter

Sample

  • Flutter Samples (https://flutter.github.io/samples/#/)

  • Flutter 2048 (https://gitee.com/fyl080801_admin/flutter2048)

  • Flutter面试真题全解析(https://zhuanlan.zhihu.com/p/96498874)

以上是关于Flutter慢慢来的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 入门 --- 内部分享

Flutter 完整项目 WanAndroid 开发总结

webview_flutter滑动存在卡顿问题的完美解决方法

肚皮舞大师Sadie教你如何学会Flutter

Flutter - 如何自动启用 AnimatedOpacity?

Flutter凉了吗?