混合開發 Flutter框架 序言

#混合開發 Flutter框架 序言

Flutter是一個由谷歌開發的開源移動應用軟件開發工具包,用於爲Android、iOS、 Windows、Mac、Linux、Google Fuchsia開發應用

# 架構組織

flutter 主要組成部分:

  • Dart 平臺
  • Flutter 引擎
  • 基礎庫
  • 定製化設計的語言組件

# Dart平臺

Flutter應用是使用Dart語言編寫的,並利用了該語言的許多高級功能。

WindowsmacOSLinux上,通過半官方的Flutter Desktop Embedding項目,Flutter在Dart虛擬機中運行,該虛擬機具有即時編譯執行引擎。在編寫和調試應用時,Flutter使用即時編譯功能進行“熱重載”,可以將對源文件的修改注入正在運行的應用中。Flutter通過支持有狀態的熱重載來擴展此功能,在大多數情況下,對源代碼的更改可以立即在運行的應用中反映出來,而無需重新啓動或丟失任何狀態。[11]Flutter實現的此功能已廣受讚譽。

Flutter應用的發佈版本在Android和iOS上都進行了提前(AOT)編譯,使Flutter在移動設備上可以高性能地運行。

# Flutter引擎

Flutter的引擎主要使用C++開發,通過Google的Skia圖形庫提供底層渲染支持,亦提供平臺相關的SDK,例如AndroidiOS[10]。Flutter引擎是用於託管Flutter應用的可移植的運行環境。它實現了Flutter的核心庫,包括動畫和圖形、文件和網絡I/O、可訪問性支持、插件架構以及Dart運行環境和編譯工具鏈。大多數開發人員將通過Flutter框架與Flutter進行交互,該框架提供了一個現代、響應式的框架,以及一組豐富的平臺、佈局和基礎組件。

# 基礎庫

基礎庫由Dart編寫,提供了用Flutter構建應用所需的基本的類和函數,例如與引擎通訊的API

# 組件

Flutter是通過組織、創建不同的組件完成用戶界面設計的。在Flutter中,一個組件代表用戶界面中不可變的一部分;包括文本、多邊形以及動畫在內的所有圖形都是用組件創建的。複雜的組件由簡單的組件結合而成。

# 定製化設計風格的組件

Flutter框架包含了兩套符合特定設計語言組件。 稱作Material Design的組件實現的是同名的谷歌設計語言,稱作Cupertino的組件實現蘋果公司iOS扁平化設計(Flat Design)

# Hello World示例

import 'package:flutter/material.dart';

void main() => runApp(HelloWorldApp());

class HelloWorldApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hello World App',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Hello World App'),
        ),
        body: Center(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章