Flutter 介紹
Flutter 是什么?
- Flutter 是 Google 開源的 UI 工具包楼誓,幫助開發(fā)者通過一套代碼庫高效構(gòu)建多平臺精美應用,支持移動师坎、Web厌杜、桌面和嵌入式平臺。
Flutter 現(xiàn)在能做什么霹崎?
- 能夠開發(fā)Android瘦材,iOS,web仿畸,macOS應用食棕,支持深色模式
web和macOS 目前屬于beta階段
Flutter 未來能做什么?
Flutter今年的目標是:能在 Android错沽,iOS簿晓,web瀏覽器,macOS千埃,Windows憔儿,F(xiàn)uchsia運行應用程序
2020年重點事項:Web和Desktop
更新速度:計劃每月一個beta版本,3個月一個穩(wěn)定版
HOT UI https://github.com/flutter/flutter-intellij/wiki/HotUI-Getting-Started-instructions
Flutter 有什么優(yōu)勢放可?
性能好谒臼,流暢
一致體驗,UI跨平臺
開發(fā)效率高
采用Dart靜態(tài)語言
Flutter是如何做到高性能的耀里?
下圖展示了Android和iOS的架構(gòu)圖蜈缤,紅色部分為上層應用程序需要開發(fā)的代碼
原生開發(fā)需要Android開發(fā)寫java/kotlin代碼,需要iOS開發(fā)寫OC/Swift代碼
React Native利用JSBridge 動態(tài)創(chuàng)建原生UI
Flutter為我們提供了對接各個平臺的SDK冯挎,上層應用開發(fā)只需要使用Dart調(diào)用Flutter提供的Widget
Flutter開發(fā)初體驗
和原生開發(fā)Android對比
開發(fā)工具
Android:AS, IDEA
Flutter:VSCode,AS,IDEA
UI開發(fā)區(qū)別:
Android畫UI XML文件描述+代碼動態(tài)創(chuàng)建底哥,一般情況會使用XML,XML文件有代碼模式+預覽模式房官,支持代碼編寫趾徽,支持控件拖拽,編譯運行前能夠進行頁面預覽翰守,對于后期接受項目的開發(fā)能夠快速定位到UI元素孵奶。
Flutter目前階段還沒有類似Android原生開發(fā)這樣能夠在編譯前進行頁面預覽,但是HOT UI 已經(jīng)在路上蜡峰。
編程模式上的區(qū)別
Flutter的思想主要借鑒了React的響應式編程思想了袁,開發(fā)只需要對狀態(tài)進行管理,框架負者渲染事示,而Android原生開發(fā)早像,大多數(shù)還是函數(shù)式編程,雖然說有一些響應式編程的寫法肖爵,但是始終不夠徹底卢鹦。
介紹AS操作指南
創(chuàng)建項目
左邊目錄,頂部:選擇運行平臺,配置運行的入口文件冀自,run,debug揉稚,
右側(cè) outline概要 inspector-檢查(widgets列表和renderTree列表)
debug,profile熬粗,release三種模式
同時部署4端看看效果