Flutter官网地址为https://flutter.io/。
Flutter的主要优点如下:
- 免费开源
- 利用保持状态的热重载(Hot Reload)、全新的响应式框架、丰富的控件以及集成的开发工具这些特点进行快速开发。
- 通过可组合的控件集合、丰富的动画库以及分层可扩展的架构来实现富有感染力的灵活界面设计。
- 借助可移植的 GPU 加速的渲染引擎以及高性能本地 ARM 代码运行时以达到跨设备跨平台的高质量用户体验。
Flutter是一个跨平台的移动UI框架,旨在帮助开发者使用一套代码开发高性能、高保真的Android和iOS应用。
使用Flutter开发出来的应用符合不同平台的原生体验,让应用看起来跟系统更加协调,在不同平台的滚动操作、字体、图标应该和该平台上的其他应用保持一致,让用户感觉就像操作原生应用一样。比如,Android 和 iOS 的返回图标是不一样的。
Flutter有如下优点:
-
提高生产力
-
使用一套代码同时开发Android和iOS
-
同样的功能只需要很少的代码,如果你只开发一个平台的应用,使更现代化、更具有表达力的开发语言可以事半功倍。
-
原型和迭代方便
- 在App运行时就可以修改代码并利用热重载来加载
- 修复Crash后可继续从上一次停下的地方开始运行
-
-
创建漂亮、高度自定义的用户UI
- Flutter框架本身提供了丰富的Material Design和Cupertino(iOS-flavor)风格的控件
- 可自由扩展控件不受手机平台控件的限制
核心原则
Flutter拥一个现代化的响应式框架、2D渲染引擎、丰富的控件以及一系列开发工具。这些用来帮助开发者设计、构建以及调试App,一切都是围绕着以下几个原则:
一切皆控件
Widget是使用Flutter构建UI的基本模块,每个Widget作为UI界面的一部分,且是不可变的声明。其他框架可能分离了视图、视图控制器、布局和其他属性,而Flutter则拥有统一的对象模型:Widget(控件)。
一个Widget可以定义如下内容:
- 一个结构化元素,比如按钮或菜单
- 一个风格元素,比如字体或颜色方案
- 一个布局的某个属性,如padding
- 其他
Widget通过组合形式构成层次结构,Widget互相嵌套并继承父Widget的属性。在Flutter中并没有单独的Application概念,根Widget则扮演了这个角色。
通过Widget可以响应用户交互,通知框架将视图结构中的一个Widget替换为另一个Widget,框架会对比新旧Widget然后高效地更新UI。
组合大于继承
Widget通常组合许多小的、单用途的Widget来实现强大的效果。例如,Container (容器)是一个常用的控件,由多个小Widget组成,这些小Widget负责布局、绘图、定位和大小调整。具体而言,Container 由LimitedBox、ConstrainedBox、 Align、Padding、 DecoratedBox及 Transform 等Widget组成。通常您可以用任何新颖的方式组合简单的Widget来实现自定义效果而不是去实现一个容器类的子类。
网友评论