Flutter是最新的跨平台开发技术,可以横跨Android、iOS、MacOS、Windows、Linux等多个系统。Flutter采用了更为彻底的跨平台方案,即自己实现了一套UI框架,然后直接在GPU上渲染UI页面。
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
Flutter的特点:跨平台、丝滑般的体验、响应式框架、支持插件、60fps超高性能。
Flutter的核心:组件、构建、状态、框架等。
在Java编程时,我们将一切看作对象。而使用Flutter时,我们将一切视为组件(Widget)。组件是Flutter应用程序用户界面的基本构建块。
Widget具有丰富的属性及方法,属性通常用来改变组件的状态(颜色、大小等)及回调方法的处理(单击事件回调、手势事件回调等);方法主要是提供一些组件的功能扩展。
我们可以使用Flutter的组件嵌套来实现复杂度高的UI。最基础的组件类是Widget,其他所有的组件都是继承Widget的。
Flutter Widget分为:有状态组件(Stateful Widget)及无状态组件(Stateless Widget)。
构建Widget
我们可以重写Widget的build方法来构建一个组件。
@protected Widget build(BuildContext context);
处理用户交互
父Widget可以自由地创造子Widget的新实例且不会失去子Widget的状态,而不是通过持有子Widget来维持其状态。
State(状态),State是一个组件的UI数据模型,是组件渲染时的数据依据
分层的框架
Material层通常组合来自Widget层的基本Widget
Widget层通过较低级对象渲染层来构建。
//新建flutter-app,修改main.dart文件如下:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World!',
theme: ThemeData(
primaryColor: Colors.red,
),
home: Scaffold(
appBar: AppBar(
title: Text('Welcome to Fultter'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
参考资料:亢少军老师的《Flutter技术入门与实战》