自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flutter應(yīng)用開發(fā)入門指南

譯文 精選
開發(fā) 開發(fā)工具
本文向您介紹了Flutter的基本特征,以及它在應(yīng)用開發(fā)過程中的各項優(yōu)缺點,最后給出了如何開始使用Flutter的基本建議。

隨著跨平臺開發(fā)在軟件交付市場上的迅速流行,全球頂尖的移動應(yīng)用開發(fā)公司也聚焦到了該領(lǐng)域。近年來,各種簡化了跨平臺開發(fā)的工具也如雨后春筍般層出不窮。其中,最知名的工具之一當(dāng)屬Flutter。它不但可以讓您通過簡單的數(shù)行代碼,快速地開發(fā)出適用于Android和iOS平臺的原生應(yīng)用程序,而且可以減少專業(yè)開發(fā)人員的工作量與用時,以便加快交付可擴展的移動應(yīng)用。

什么是Flutter?

由Google創(chuàng)建的Flutter,是一種被用作開發(fā)原生Android和iOS應(yīng)用的開源技術(shù)。其Flutter SDK允許開發(fā)者在較短的時間內(nèi),通過協(xié)同使用各種工具、小部件、以及綜合框架,來創(chuàng)建和部署直觀的移動應(yīng)用。目前,Google App Store中的Flutter應(yīng)用已超過50,000個,其中不乏eBay和Alibaba等大廠應(yīng)用。Google甚至將Flutter工具包放到了Google Home Hub UI、及其各種Google Assistant模塊中,以便大型組織利用Flutter來開發(fā)出用戶友好的Web和移動應(yīng)用。

Flutter概覽

據(jù)??統(tǒng)計??,目前有大約三分之一的移動開發(fā)人員正在使用Flutter作為跨平臺移動開發(fā)的技術(shù)與框架。其主要特性包括如下方面:

  • Flutter自帶有多種部件和UI元素。
  • 您不但可以免費使用Flutter,還能自定義其功能。
  • Flutter是全球開發(fā)人員正在使用的第二最受歡迎的跨平臺技術(shù)。
  • Flutter不但易于學(xué)習(xí)、支持快速且面向?qū)ο蟮木幊陶Z言—Dart,而且?guī)в杏脩粲押玫腢I。
  • Flutter使用了C++渲染引擎。
  • 建立在響應(yīng)式編程基礎(chǔ)上的Flutter架構(gòu),足以與React Native相媲美。

Flutter對于應(yīng)用開發(fā)的優(yōu)勢

商業(yè)級應(yīng)用的平臺穩(wěn)定性和整體性能,對于任何企業(yè)都是至關(guān)重要的。而Flutters恰好能夠通過如下方面,來實時支持和及時調(diào)整,以保證客戶的滿意度:

高性能

由Flutter開發(fā)的應(yīng)用程序,可以被直接編譯成機器代碼,并通過代碼解釋來抑制各種錯誤。這為跨平臺技術(shù)的實現(xiàn)提供了高性能的基礎(chǔ)。

節(jié)約資源

定制化的應(yīng)用開發(fā)往往需要在渲染引擎中加入高級的編譯。而Flutter可以通過調(diào)整用戶界面,并將其轉(zhuǎn)移到某個平臺上,來輕松地實現(xiàn)編譯,并節(jié)省渲染資源的使用。

開發(fā)競爭力

與其他跨平臺語言相比,F(xiàn)lutter可以提供更有價值、成本更低的工作流程。而與原生開發(fā)相比,建立Flutter移動應(yīng)用所需的工時則會更少。

高效穩(wěn)定

由于Flutter的語法需要更少的代碼量,且更易于調(diào)試和升級,因此它可以協(xié)助開發(fā)人員更快地編寫出具有較高生產(chǎn)力的代碼。據(jù)此,由Flutter制作出的即用型工具往往能夠提供出色的平臺穩(wěn)定性。

更快的面市時間

與使用其他編程語言創(chuàng)建應(yīng)用程序相比,開發(fā)Flutter應(yīng)用所需的時間會更少,當(dāng)然也就加快了應(yīng)用程序的編碼交付、以及面市時間。

什么是Flutter開發(fā)框架?

自2017年5月面市以來,F(xiàn)lutter是GitHub上增長最快的??存儲庫??之一。其改進版框架--v2.0于2021年3月發(fā)布。目前,F(xiàn)lutter框架包含了一個完整的UI軟件開發(fā)工具包(software development kit,SDK)、以及一個擁有包括:滑塊、文本輸入、以及按鈕等各種可重用UI元素的小部件庫。它的這些組件和工具包都是免費且開源的。

Flutter的應(yīng)用開發(fā)服務(wù)可以支持那些具有完整的Flutter元素的Android、iOS、Windows、Linux、以及Mac系統(tǒng)。由于它能夠模仿平臺獨有的原生體驗,因此您可以在任何設(shè)備(如移動設(shè)備、電視、平板電腦等)上運行Flutter應(yīng)用。此外,借助Flutter的各種測試和集成API、渲染引擎、現(xiàn)成的小部件、以及命令行工具,您還可以開發(fā)出性能卓越的應(yīng)用。

Flutter基于何種編程語言?

如前所述,F(xiàn)lutter采用的是一種旨在取代經(jīng)典的JavaScript的Dart編程語言。在Dart程序的幫助下,開發(fā)人員可以直接在服務(wù)器上運行某個應(yīng)用程序。而在瀏覽器中,程序代碼會被反編譯器Dart2js轉(zhuǎn)換為JavaScript。例如,Google新的操作系統(tǒng)平臺—Fuchsia上的各種應(yīng)用程序,就是使用Dart創(chuàng)建的。Flutters的結(jié)構(gòu)完全可與著名的、面向?qū)ο蟮木幊陶Z言Java和C#相媲美。

Flutter應(yīng)用開發(fā)的優(yōu)點

每種編程語言都有自身的優(yōu)、缺點,F(xiàn)lutter也不例外。除了對開發(fā)人員十分友好以外,F(xiàn)lutter還具有如下各種源于編程語言和開發(fā)工具的固有優(yōu)點:

一個適用于所有平臺的代碼庫

與傳統(tǒng)的Android編寫方法、以及在iOS設(shè)備上調(diào)用其他代碼庫的方式不同,F(xiàn)lutter只需一個代碼庫。Flutter代碼的可重用性功能,方便了開發(fā)人員僅編寫一個代碼庫,并將其運用到Android、iOS、Web以桌面等環(huán)境中。如此單一的代碼庫不但有助于減少開發(fā)時間和成本,而且能夠更快地啟動您的應(yīng)用程序。

小部件(Widget)的概念提供了無數(shù)的可能性

Flutter的自定義小部件,非常適合為您開發(fā)出色的應(yīng)用視覺效果。同時,F(xiàn)lutter應(yīng)用開發(fā)服務(wù)提供器(service provider)也會協(xié)助您構(gòu)建出一個精良的應(yīng)用程序,而且您不必擔(dān)心自己的應(yīng)用是否會在其他設(shè)備上存在的UI問題。

豐富的庫

Flutter使用了流行的框架--Skia圖形庫。這是一個小巧而成熟的開源圖形庫。每次視圖設(shè)計出現(xiàn)更改時,它都會重新設(shè)計應(yīng)用程序中的UI。因此,用戶會獲得快速加載和流暢使用的體驗。

使用熱重載進行快速測試

在測試了熱重載功能后,應(yīng)用程序的開發(fā)速度往往會加快。如果您使用Flutter的話,則無需重新加載應(yīng)用程序,即可查看到代碼的更改效果。據(jù)此,您可以輕松地、實時地更改自己的應(yīng)用程序,以便在開發(fā)過程中盡早發(fā)現(xiàn)并修復(fù)代碼中的錯誤。

Flutter應(yīng)用程序的缺點

Flutter的缺陷雖然不至于破壞某個交易或應(yīng)用,但是它作為應(yīng)用工具包的確存在著如下方面的不足:

體積大

由于帶有各種小部件,因此Flutter應(yīng)用程序往往占用大量的有限空間。而正是因為它體積臃腫,因此需要更長的時間去下載、或更新數(shù)據(jù)。

更新較為復(fù)雜

Flutter需要更新相關(guān)模塊,以升級操作系統(tǒng)中的編程要素,其中既涉及到Flutter模塊與程序中固定元素的結(jié)合,又涉及到重新編譯、以及在設(shè)備上重新安裝。

有限的工具和庫集

雖然Flutter已經(jīng)能夠提供市場上具有最新功能的各種工具庫,但是如果您需要創(chuàng)建特定的工具、擴展某個功能、或是開發(fā)一個社區(qū)的話,就需要等待一段時間了。例如:Flutter目前尚無法完全支持3D觸摸應(yīng)用,以及一些需要頻繁調(diào)用相機或電話等功能。

基于Flutter開發(fā)的應(yīng)用

隨著Flutter應(yīng)用開發(fā)熱度的持續(xù)升溫,以及對于Flutter開發(fā)人員需求的不斷增長,Alibaba、Yandex、Airbnb、Philips Hue、Reflectly、Uber、Hookle、以及eBay等頂級新技術(shù)公司都持續(xù)創(chuàng)建了針對各種用途的Flutter應(yīng)用服務(wù)。

如何開始使用Flutter?

由于Flutter應(yīng)用的學(xué)習(xí)曲線比較平滑,因此Flutter開發(fā)人員可以通過友好的UI,為自己的應(yīng)用順利地構(gòu)建出自定義的小部件,并將它們與現(xiàn)有的部件進行無縫結(jié)合??偟卣f來,您可以按照如下步驟開始使用Flutter:

  • 學(xué)習(xí)和理解Dart、以及其他相關(guān)的編程語言,例如C語言和一些面向?qū)ο蟮母拍睢?/li>
  • 加入Gitter聊天室,與具有Flutter實踐經(jīng)驗的開發(fā)人員進行交流。
  • 為待開發(fā)的應(yīng)用程序類型和設(shè)計,提供準確的要求和功能列表。
  • 通過加入Slack和其他Flutter社區(qū),以了解GitHub存儲庫,并獲取足夠的Flutter知識。
  • 參加各種技術(shù)會議、教程、研討會、甚至是黑客馬拉松來獲取業(yè)界動態(tài)。
  • 參加與Flutter相關(guān)的網(wǎng)絡(luò)研討會、在線課程、瀏覽Flutter博客、以及參與代碼挑戰(zhàn)賽等。
  • 安裝編輯器,并了解其基本原理。
  • 根據(jù)框架的更新和版本,檢查對于系統(tǒng)的要求。
  • 選定操作系統(tǒng),下載合適的Flutter SDK版本。

為什么Flutter是Web開發(fā)的最佳選擇?

如果您正準備開發(fā)一個可以在任何平臺上流暢運行的Web應(yīng)用,那么Flutter能允許您構(gòu)建出,除了智能手機之外,可以運行在Linux、Mac和Windows上的應(yīng)用程序。同時,您可以自定義應(yīng)用界面上的圖標、顏色、以及布局等元素,以提高界面的易用性。此外,初創(chuàng)公司也可以使用Google firebase框架,來構(gòu)建無服務(wù)器應(yīng)用程序,以支持后端應(yīng)用,并加快開發(fā)的整個周期。

譯者介紹

陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗;持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。

原文標題:??A Complete Guide on Flutter App Development??,作者:Kiran Beladiya


責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2025-02-17 07:20:00

Flutter 3Flutter開發(fā)

2022-11-04 14:58:59

應(yīng)用開發(fā)鴻蒙

2011-11-29 16:38:58

Knockout

2012-03-21 09:47:48

2011-04-29 10:46:32

iPhone開發(fā)入門iPhoneiOS

2019-01-21 15:52:02

前端工程師Flutter代碼

2013-02-25 11:06:34

2019-11-25 11:20:08

FlutterWeb應(yīng)用軟件開發(fā)

2024-05-07 08:45:16

OpenAILlamaIndex大語言模型

2025-04-16 10:00:00

跨平臺開發(fā)Uniapp開發(fā)

2024-08-27 09:09:49

Web系統(tǒng)JSP

2013-09-13 13:16:05

2012-03-28 09:40:55

安卓開發(fā)入門教程視頻

2011-07-25 17:13:31

iPhone 圖形 動畫

2009-03-11 13:18:57

Android入門Android開發(fā)Android模擬器

2020-12-25 10:52:28

鴻蒙HarmonyOS應(yīng)用開發(fā)

2011-04-18 11:00:34

使用音頻BlackBerry

2009-10-21 09:24:31

VB.NET應(yīng)用程序

2011-03-08 09:22:37

2010-08-03 15:19:08

FlexBuilder
點贊
收藏

51CTO技術(shù)棧公眾號