介紹
flutter 應用是使用dart語言開發的,作為一個跨平台架構,flutter非常像React Native ,
(1)比如flutter支援響應式程式設計和聲明式程式設計。但是和React Native不同的是,flutter不需要JavaScript橋接,打打提升了整個應用的性能和應用啟動時間,Dart是通過AOT技術取得了上述表現。
(2)另一方面,擁有JIT的Flutter 支援在開發期間,不需要從頭建構整個應用就可以重新整理ui,提高開發效率。
(3)flutter架構是建立在元件思想之上的,一切皆元件。在flutter中組建不單單指應用視圖,而是整個界面甚至是整個應用。
特點
跨平台性:Liunx Android IOS Fuchsia
原生使用者界面:它是原生的,體驗跟性能更好
flutter是完全免費、開源的
flutter具有120fps的超高性能,因為我們原生的渲染一般使用的是CPU渲染而flutter使用的是GPU渲染,也就是說flutter有可能比原生app渲染的更快。
這裡簡單說下flutter與React Native的對比,Reat Native是将ui通過RN自己的虛拟機DOM轉換為原生的ui,這樣的轉換對性能是有一定影響的,這也就是RN在list清單相關顯示方面的缺陷,但RN總體上性能還是可以的,而flutter在渲染技術上選擇了自己實作(GDI),flutter使用Skia 2D渲染引擎直接在GDI層面繪制頁面和控件,對系統的依賴降低到最低,提供更好的跨平台相容性和更高的性能。
環境搭建
參考:https://flutter.dev/docs/get-started/install
第一個應用
import 'package:flutter/material.dart'; //導入flutter推薦的ui元件,material樣式
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
title: "Hello flutter",
home: Scaffold(
appBar: AppBar(
title: Text("hello world"),
),
body: Center(
child: Text("hello world"),
),
),
);
}
}