flutter 简介
?自己一直想找一个好的库来进行GUI编写,之前用过walk库、gio库、但是都不完美。walk只能在windows下使用,且不美观,所以不想再用了。后来又使用gio来写gui,但是也不是很好用,虽然很美观,单很多功能不成熟,性能也一般,所以也放弃了。后来发现flutter这个移动开发框架,简单了解了一下他,感觉还是很不错的,一套代码可以在多个平台跑,而且一些展示的例子都很美观绚丽,所以决定用课余时间来学习一下。
flutter简介
?Flutter是谷歌的移动UI框架,使用Dart语言,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。现在版本已经来到了3.3,开始支持windows、mac、linux等系统。Flutter 由 Google 的工程师团队打造,提到Google就想起国内某不争气的搜索引擎,搜Flutter关键字的结果之中,翻了两页都没有出现Flutter的官网,生气。
flutter发展历史
?Flutter的第一个版本被称为“Sky”,运行在Android操作系统上。它是在2015年Dart开发者峰会上亮相的,其目的是能够以每秒120帧的速度持续渲染。
?Beta1版本于2018年2月27日在2018 世界移动大会公布。
?Beta2版本2018年3月6日发布。
?1.0版本于2018年12月5日(北京时间)发布。
?2.0版本于2021年3月4日(北京时间)发布。
?3.0版本于2022年5月12日(北京时间)发布。
flutter优势
?快速:
?Flutter 代码可以直接编译成 ARM 或 Intel 平台的机器代码,以及 JavaScript 代码,确保了 Flutter 应用能够拥有原生平台的性能表现。
?高效:
?使用热重载 (Hot Reload) 快速构建和迭代你的产品,更新代码后即刻看到变化,也不会丢失应用状态。
?灵活:
?屏幕上的每个像素都由你来把握,尽情去创造不被定义、不受局限、彰显品牌的完美体验吧,这个舞台专属于你。
?多平台支持:
?只需要一份代码库,支持移动、网页、桌面和嵌入式设备 
?被多数人信赖:
?Flutter 由 Google 支持被并广泛使用,全球性的开发者社区广泛参与和维护,并得到众多世界知名品牌的信任。 
flutter支持语言
?Dart是Google在2011年推出的一款应用于Web开发的编程语言,Dart刚推出的时候,定位是替代JS做前端开发,后来逐步扩展到移动端和服务端。Dart是Flutter的开发语言,Flutter必须遵循Dart的语言特性。在此基础上,也会有自己的东西,例如Flutter的上层Framework,自己的渲染引擎等。可以说,Dart只是Flutter的一部分。Dart是强类型的,对定义的变量不需要声明其类型,Flutter会对其进行类型推导。如果不想使用类型推导,也可以自己声明指定的类型。目前版本已经来到了2.18。
?Dart语言可以同时支持JIT/AOT: ?JIT(just in time)即时编译技术:JIT编译器将字节码编译成本机机器代码。flutter debug模式下使用的是JIT 编译,将更新的源代码文件注入正在运行的Dart VM中,从而运行的时候实时刷新最新代码。
?AOT (Ahead Of Time) 运行前编译(静态编译)。flutter 打包时使用的是AOT编译,运行之前将代码编译为本机机器语言

flutter开发工具
?开发工具我们当然首选vscode,简洁、高效、灵活、插件众多。同时,你也可以利用vscode写自己的Python、Go代码,甚至Markdown文档,一个vscode全部搞定。当然你如果不喜欢vscode,也是可以使用Android Studio、IntelliJ等其他工具来写代码的。
flutter案例
?国内也有很多公司在使用flutter,这只是其中一些案例: 
flutter Hello, world!
?下边是一个简单的Hello, world实例:
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Welcome to Flutter',
home: new Scaffold(
appBar: new AppBar(
title: new Text('Welcome to Flutter'),
),
body: new Center(
child: new Text('Hello World'),
),
),
);
}
}
?效果是这样的: 
flutter资料
?就我自己这几天的学习经验来看, flutter的资料还是相当丰富的,B站,CSDN等网站到处都是flutter的学习教程,大家不用担心找不到学习资料。这里推荐几个学习的网站: ?1.flutter中文网有很多资料,建议大家常去看看:https://www.flutterchina.club/ ?2.如果你英文好的话,也可以去英文网站看第一手信息(当然也有中文的):https://flutter.dev/ ??https://flutter.cn/ ?3.B站有一大堆视频教程,大家可以找找。
|