为什么要掌握 Flutter(二)?

好啦,各位亲爱的读者朋友们,今天晚上又和大家见面了。那么今天晚上小凡接着为大家来讲讲Flutter。

今天主要从下面三个方面来讲讲Flutter:

  1. Flutter 特点
  2. Flutter 框架结构
  3. Flutter社区活跃度和趋势

 

1:Flutter 特点

Flutter 是一个框架,基于 Dart 语言编写,语言风格和 React 很像。

Flutter 里几乎都是采用组件的形式进行构建应用和功能的,组件采用现代响应式框架构建,中心思想是用组件(Widget)构建你的 UI。

一切对象都是组件,Flutter 可以说是全新的技术和平台框架,学习和开发起来并不难,开发应用的效率也相对于原生提升了很多,并且运行速度和原生几乎没太大差别,远远高于 HTML 的应用的渲染速度。Flutter 的引擎使用 C++ 开发,基础库由 Dart 编写,提供了用 Flutter 构建应用所需的基本的类和函数。

我们一起来看下 Flutter 官方的架构图:

 

为什么要掌握 Flutter(二)?

( Flutter 官方架构图 - 来自 Flutter 官方网站 )

可以看出核心引擎是使用 C++ 编写,上层采用 Dart 语言编写的 SDK,采用 React 风格组件化方式。并且提供了 Material 和 Cupertino 两套风格的 UI Widget,使用起来非常方便。

那么接下来我们详细了解下 Flutter 的特点:

  • Flutter 的一个重要的特点就是速度快。它基于 Skia 2D 硬件加速图形引擎,该引擎也同样用在了 Chrome 和 Android 平台。媲美原生应用的速度,让用户体验和流畅度做到更好。Flutter 的代码基于 Dart 平台,可以被编译成 iOS 和 Android 平台上 32 位和 64 位的 ARM 代码。
  • Flutter 非常高效。Flutter 引入了 Stateful Hot Reload(保持应用状态的热重载),这个革命性的新特性可以让移动开发者和设计师们时时快速预览应用程序。通过 Stateful Hot Reload,无需重新启动应用,就可以在程序运行的时候直接看到代码修改之后的效果。在Flutter官方的用户反馈中,很多开发者表示这个特性使得开发效率提升了三倍以上。
  • Flutter 是开放的、开源的。Flutter 是一个基于 BSD-style 许可的开源项目,全球数百位开发者在为Flutter贡献代码。Flutter 的插件生态系统平台也已经非常的丰富,有数千款插件已经发布,避免了重复造轮子。由于 Flutter 应用程序使用标准的 Android 和 iOS 的编译打包工具 (build tools),因此它的开放性还体现在我们可以使用原生开发资源和技术。比如,我们依然可以在 Android 上使用 Kotlin 或者 Java,在 IOS 上使用 Swift 或者 Objective-C 来写逻辑或者界面,使得可以Flutter和原生混合开发。
  • Flutter 提供了两套 UI Widget 风格库:Material 和 Cupertino,这使得我们可以方便的快速构建 Android 和 iOS 不同平台风格的应用,大大提升了开发效率。组件化开发风格也使得绘制UI的效率大大提升,学习成本也降低了很多。
  • Flutter 支持多种开发工具进行开发,比如 Visual Studio Code、Android Studio、IntelliJ 或其他开发工具,只需要安装相关的插件即可。

为什么要掌握 Flutter(二)?

Visual Studio Code 预览

Google Flutter 团队官方也宣布,Flutter Web SDK(Hummingbird)已经在研发中,我们先来简单的看下其架构:

为什么要掌握 Flutter(二)?

Flutter Web SDK(Hummingbird)

目前在 Google I/O 2019 大会当天 Flutter Web SDK 已经正式发布,而且开发出的 Web 性能非常高。

2:Flutter 社区

看一个技术和语言的发展情况和支持情况看它的相关资源、社区等也非常重要。Flutter 技术已经被很多大公司采用,具体案例列表,可以在官方查看:flutter.dev/showcase 或https://itsallwidgets.com。

为什么要掌握 Flutter(二)?

ShowCase

(来自 Flutter 官方:https://flutter.dev/showcase )我们看下 Flutter 官方 GitHub 的更新情况:

为什么要掌握 Flutter(二)?

Flutter 官方 Github

开发者平时可以关注 Github 的更新动态,官方更新频率也是很快的,这点非常好,也令关注者和使用者对 Flutter 的未来更加有信心,因为社区和生态、更新频率对开发者非常的有帮助。 遇到问题除了使用搜索引擎搜索外,也可以在官方 GitHub 的 Issues 里进行搜索或者提问。

我们再看下官方版本的更新频率:

为什么要掌握 Flutter(二)?

Flutter官方 Github

为什么要掌握 Flutter(二)?

Flutter官方 Github

除了这些以外,我们还可以在官方的仓库进行查找第三方插件库进行使用:https://pub.dartlang.org/。

为什么要掌握 Flutter(二)?

Flutter 官方 Pub

里面有非常多的插件库供我们使用,还配备有相关文档,当然我们也可以提交自己的开源插件库到上面。

为什么要掌握 Flutter(二)?

Flutter 官方 Pub

3:Flutter 未来规划

就目前而言,Flutter 的首要目标平台是 iOS 和 Android,但 Flutter官方团队也在不断探索将 Flutter 拓展到手机端以外的更多平台上,如 Web、PC、嵌入式等平台。实现真正的跨平台:一套代码规范多平台运行。

事实上,Flutter 的设计理念就是希望它可以作为一个灵活且便携的 UI 工具包,以适应各种需要绘制屏幕内容的平台。

其中 Flutter 的一些进展已经公布,Flutter Desktop Embedding(google/flutter-desktop-embedding )就是其中的一个,这是一个使 Flutter 运行于 macOS、Linux 和 Windows 等桌面操作系统的项目。前不久,官方尝试在树莓派平台运行了 Flutter 应用,以非正式和探索的形式向用户展示 Flutter 是有可能运行在一些没有完整桌面环境的小型设备中的。

除了这些,还有 Flutter Web(Hummingbird)。Hummingbird 是一个基于 Web 实现的 Flutter 运行时环境。它利用了 Dart 语言能被编译成 JavaScript 的特性。这个项目让 Flutter 应用程序能够无需改动就运行在标准 Web 平台,目前还在开发测试中:

为什么要掌握 Flutter(二)?

Hummingbird

Flutter 团队也于 2019 年 1 月 27日发布了 2019 年 Flutter 规划路线。

以下几点 Flutter 今年会着重关注:

  • 核心和基础
  • 易用性
  • 生态系统
  • 移动端之外的支持
  • 动态更新
  • 工具链

当然,我们也可以提一些反馈给官方:

  • 通过 Issues:flutter/issues/new/choose
  • 邮件群组:flutter-dev

Flutter 目前有四个版本: master、dev、beta 和 stable,质量和稳定性从前向后依次递增,发布速度当然也会是依次相对放缓。

官方计划每个月发布一个 beta 版本,这个发布通常会是在月初,全年会发布四个较大的正式 (stable) 版本。在生产环境里,还是建议大家使用 Flutter 的正式版本。

这个是官方的版本发布流程:flutter/wiki/Release-process

如果大家对 Flutter 每个月将会发布什么感兴趣的话,可以在官方 GitHub 上的 milestones 页面查看:flutter/milestones

为什么要掌握 Flutter(二)?

Flutter Future

( 图片来自 Google 开发者官方 )

总结

Flutter 现已进入 GitHub Top 20 软件库,通过这门课程希望大家可以对 Flutter 进一步了解,并且对它充满信心,也希望大家有所收获。

Flutter 成为未来主流跨平台开发框架技术已经势在必行,它开发高效、性能优秀、更新频率快、插件三方库支持多、Google 团队的技术支持给力、一套代码多终端运行,这些都非常的吸引人。

大家可以:

  • 去官方 GitHub 查看官方动态,或者去 Flutter Pub 查看下仓库的使用方法,以便对 Flutter 有更加深入的了解。
  • 熟悉 Flutter 特点和未来趋势,做好后续课程的学习和开发的准备。

入门 Flutter,掌握未来技术主流的主动权!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章