什么是 Flutter?
Flutter 是 Google 公司推出的新一代前端框架,最后指标只是为了满足挪动端跨平台的利用开发,开发人员可应用 Flutter 在 iOS 和 Android 上疾速构建高质量的原生用户界面。但现在,Flutter 曾经 开始扩大为同时面向挪动端、Web、桌面端以及嵌入式设施开发利用了。Flutter 正在被越来越多的 开发人员和组织所应用,也是构建将来的 Google Fuchsia 利用的次要形式,并且它是完全免费、开源的。
Flutter 的劣势:
1、开源,也正是因为开源,所以在寰球开发者的疯狂反对下,这几年 flutter 飞速发展,越来越趋于欠缺,置信当前再 windows,mac,linux 等各个平台也能大放荣耀。真正做到一套代码多端部署。
2、稳固,Flutter UI 因为自绘 UI,从而防止了平台层面的 UI 和系统升级导致的各种兼容问题。然而作为跨平台开发技术不可避免的须要去保护底层适配层和各种插件实现与原始平台的通信,这是所有跨平台的通病。
3、高效,对开发者来说,应用 Flutter 开发利用非常高效。Flutter 广受好评的 Hot Reload 性能能够在 1 秒内实现代码到 UI 的更新,使得开发操作周期被大幅缩短。
Flutter 独特性能:
- 专一于可定制的小部件,能够应用 Material Design 和 Cupertino 包(而不是 android XML)中的所有小部件集来轻松开发 UI。
- 热重载可帮忙开发人员立刻查看其更改。这缩小了开发工夫以及谬误修复工夫。一次写入,能够在任何平台上运行的任何代码,无需更改即可运行。
- Flutter 应用 Dart 编程语言,该语言既能够提前应用,也能够及时进行编译,从而提供高性能和更快的启动工夫。
- 原生 ARM 机器码可在 Android 和 iOS 上实现原生性能。
装置 Flutter
您应该做的第一件事是获取 SDK –软件开发工具包–它是一组软件工具,这些工具打包在一个软件包中,并且能够在您的开发环境中应用。对于开发,咱们应用集成开发环境(IDE)–使您的开发和测试变得轻松快捷。如咱们之前所学,有 2 种风行的 IDE –
VS Code –它轻便,疾速,你想要 IDE 领有的性能它全都有!
Android Studio –应用设施上的 Android Studio,您只需装置 Flutter 和 Dart 的插件,设置 SDK,就能够了。
设置很容易,您能够依照官网文档中的阐明进行操作。
应用 Flutter 构建一个简略的应用程序
让咱们构建一个简略的 Hello World 程序。通过此程序,咱们将理解 Flutter 的构造以及应用的次要办法。只管它很简略,但依然是一个良好的开始。
要想创立一个新的 Flutter 我的项目,只须要键入:
$ flutter create flutter_app
Flutter 新我的项目次要蕴含以下几个目录:
flutter_app
android –生成 Android 利用。任何对于 Android 的实现都将放在此文件夹中。
资产–用于存储数据文件,图像等…
ios - 生成的 iOS 利用。任何对于 iOS 的实现都将放在此文件夹中。
lib- 次要代码文件都在这里创立,main.dart - 主文件
test–用于单元测试
对于咱们这个比较简单的 App,咱们仅须要“main.dart”。文件。该文件自带一些代码,开发人员通常将其删除以从头开始编写代码。这正是咱们也将要做的!
首先重要的是导入“material”包。它用于引入 UI 组件。
import 'package:flutter/material.dart';
就像许多其余语言一样,执行从 main 办法开始。main 办法应包含 runApp() 办法,该办法调用要执行的代码。
void main() => runApp(new HelloWorldApp());
要执行的代码不过是一个小部件。请记住,Flutter 是齐全基于 widget(小部件) 的。
那么,什么是 widget(小部件)?
如果您还不晓得,那么 widget(小部件) 能够是视图内的任何货色 - button(按钮),list(列表),table(表格),input box(输入框),card view(卡片视图),等等。因而,您的整个 Flutter 利用都是一个个小部件的汇合,这些小部件嵌套组合在一起,从而构建一个丑陋的 UI。这就是为什么您创立的每个类都应扩大小部件类的起因。
因为咱们的应用程序只须要打印 Hello World,所以咱们只须要一个不须要保留任何状态的小部件 -StatelessWidget(无状态小部件)。StatelessWidget(无状态小部件) 具备构造方法。
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Now comes the main magic –
return new MaterialApp(
home: new Material(
child: new Center(child: new Text("Hello world!"),
MaterialApp 是小部件的封装,Material 是 materials 中的一种,Center 是将元素居中的小部件。Text 将增加文本字段小部件。除了您看到的属性(home,child)外,还有许多其余属性(例如 style(款式),position(地位),decoration(装璜),等等)能够欠缺整个 UI。
而后,当初让咱们将所有代码放在一起
import 'package:flutter/material.dart';
void main() => runApp(new HelloWorldApp());
class extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Material(
child: new Center(child: new Text("Hello world!"),
),),);}}
…并应用命令运行它
$ flutter run
零碎学习
这份谷歌开源的《Flutter 残缺开发实战详解 》,心愿能够帮忙大家用最短时间学习 Flutter。教程通俗易懂,实例丰盛,既有基础知识,也有进阶技能,可能帮忙读门者疾速入进阶,快珍藏起来!!!
一、Dart 语⾔和 Flutter 根底
⼆、疾速开发实战篇
1、根底控件
2、数据模块
3、其余性能
三、打包与填坑篇
1、打包
2、细节
3、问题解决
四、Redux、主题、国际化
1、Redux
2、主题
3、国际化
五、深⼊摸索
1、WidgetsFlutterBinding
2、InheritedWidget
3、内存
4、线程
5、热更新
六、深⼊ Widget 原理
七、深⼊布局原理
1、单⼦元素布局
2、多⼦元素布局
3、多⼦元素滑动布局
⼋、实⽤技巧与填坑
九、深⼊绘制原理
1、绘制过程
2、Slider 控件的绘制实现
⼗、深⼊图⽚加载流程
1、图⽚流程
2、本地图⽚缓存
3、其余补充
⼗⼀、全⾯深⼊了解 Stream
1、Stream 由浅⼊深
2、StreamBuilder
3、rxdart
⼗⼆、全⾯深⼊了解状态治理设计
1、scoped_model
2、BloC
3、flutter_redux
4、fish_redux
⼗三、全⾯深⼊触摸和滑动原理
⼗四、混合开发打包 Android 篇
1、前⾔
2、打包
3、插件
4、堆栈
Flutter ⾯试知识点集锦
Dart 局部
Flutter 局部
Flutter 开发实战与前景瞻望 – RTC Dev Meetup
1、挪动开发的现状
2、Flutter 实战
3、混合开发
4、PlatformView
文末
因为篇幅无限,材料内容过多,只展现目录和局部截图,须要完整版《Flutter 残缺开发实战详解》请扫下方 csdn 官网二维码收费支付 !