7.3 Flutter
Flutter, Google 出品,使用 Dart 语言和 Flutter Engine 引擎,采用响应式设计模式,原生渲染。 Flutter 是 Google 于 2018 年发布的跨平台移动 UI 框架。与 React Native 和 Weex 通过JavaScript 语言开发不同, Flutter 的编程语言是 Dart 语言,所以执行时并不需要 JavaScript 引擎,但实际效果最终也通过原生渲染来实现。在 Flutter 中,大多数东西都是 Widget,而Widget 是不可变的,仅支持 1 帧,并且在每一帧上都不会直接更新,而更新必须使用 Widget的状态。无状态和有状态 Widget 的核心特性是相同的,它们会重新构建每一帧,有一个 State对象,它们可以跨帧存储状态数据并恢复自己。
7.3.1 Flutter 简介
Flutter 是 Google 的移动 UI 框架,可以快速地在 iOS 和 Android 上构建高质量的原生用户界面, Flutter 可以与现有的代码一起工作。在全世界范围, Flutter 正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。
Flutter 有以下几个特点。
1.快速开发
可实现毫秒级的热重载,进行修改后,你的应用界面会立即更新。可以使用丰富的、完全可定制的 Widget 在几分钟内构建原生界面。
2.富有表现力和灵活的 UI
快速发布聚焦于原生体验的功能。分层的架构允许你完全自定义,从而实现难以置信的快速渲染和富有表现力、灵活的设计。
3.原生性能
Flutter 包含了许多核心 Widget,如滚动、导航、图标和字体等,这些都可以在 iOS 和Android 上达到原生应用一样的性能。
Flutter Widget 采用现代响应式框架进行构建,这是从 React 中获得的灵感,中心思想是用Widget 构建你的 UI。 Widget 描述了它们的视图在给定当前配置和状态时应该看起来像什么。当 Widget 的状态发生变化时, Widget 会重新构建 UI, Flutter 会对比前后的变化,以确定底层渲染树从一个状态转换到下一个状态所需的最小更改。
7.3.2 Dark 语言简介
Dart 是 Google 于 2011 年推出的编程语言,是一种结构化的 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机( Dart VM)直接运行 Dart 语言编写的程序,免去了单独编译的步骤。以后这些程序将从 Dart VM 较快的性能与较短的启动延迟中受益。 Dart 从设计之初就为配合现代 Web 整体运作而考虑,其开发团队也同时在持续改进 Dart 向 JavaScript 转换的快
速编译器。 Dart VM 以及现代 JavaScript 引擎( V8 等)都是 Dart 语言的首选目标平台。以下是一段简单的 Dart 语言代码:
1. import 'package:flutter/material.dart';
2.
3. void main() {
4. runApp(
5. new Cente