Flutter 官網 https://flutterchina.club/
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面。 Flutter可以與現有的代碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,並且Flutter是完全免費、開源的。
1、Flutter的特點
1、快速開發
Flutter的熱重載可幫助您快速地進行測試、構建UI、添加功能並更快地修復錯誤。在iOS和Android模擬器或真機上可以在亞秒內重載,並且不會丟失狀態。
2、富有表現力和靈活的UI
快速發佈聚焦於原生體驗的功能。分層的架構允許您完全自定義,從而實現難以置信的快速渲染和富有表現力、靈活的設計。
3、原生性能
Flutter包含了許多核心的widget,如滾動、導航、圖標和字體等,這些都可以在iOS和Android上達到原生應用一樣的性能。
4、現代的,響應式框架
使用Flutter的現代、響應式框架,和一系列基礎widget,輕鬆構建您的用戶界面。使用功能強大且靈活的API(針對2D、動畫、手勢、效果等)解決艱難的UI挑戰。
class CounterState extends State<Counter> {
int counter = 0;
void increment() {
// 告訴Flutter state已經改變, Flutter會調用build(),更新顯示
setState(() {
counter++;
});
}
Widget build(BuildContext context) {
// 當 setState 被調用時,這個方法都會重新執行.
// Flutter 對此方法做了優化,使重新執行變的很快
// 所以你可以重新構建任何需要更新的東西,而無需分別去修改各個widget
return new Row(
children: <Widget>[
new RaisedButton(
onPressed: increment,
child: new Text('Increment'),
),
new Text('Count: $counter'),
],
);
}
}
5、訪問本地功能和SDK
通過平臺相關的API、第三方SDK和原生代碼讓您的應用變得強大易用。 Flutter允許您複用現有的Java、Swift或ObjC代碼,訪問iOS和Android上的原生系統功能和系統SDK。
Future<Null> getBatteryLevel() async {
var batteryLevel = 'unknown';
try {
int result = await methodChannel.invokeMethod('getBatteryLevel');
batteryLevel = 'Battery level: $result%';
} on PlatformException {
batteryLevel = 'Failed to get battery level.';
}
setState(() {
_batteryLevel = batteryLevel;
});
}
6、統一的應用開發體驗
Flutter擁有豐富的工具和庫,可以幫助您輕鬆地同時在iOS和Android系統中實現您的想法和創意。 如果您沒有任何移動端開發體驗,Flutter是一種輕鬆快捷的方式來構建漂亮的移動應用程序。 如果您是一位經驗豐富的iOS或Android開發人員,則可以使用Flutter作爲視圖(View)層, 並可以使用已經用Java / ObjC / Swift完成的部分(Flutter支持混合開發)。