成品直播大全观视频的技巧有哪些,免费国外B站刺激战场直播APP,咪咕视频体育直播,九球直播免费体育直播,CCTV8直播观看正在直播,暴躁妹妹CSGO直播,体育直播在线观看,24小时免费视频直播

Google Flutter 評測——為什么移動應(yīng)用開發(fā)者喜歡Flutter 發(fā)布時間:2022-08-29   點(diǎn)擊瀏覽:770次

為什么應(yīng)用開發(fā)者喜歡Flutter?因?yàn)镕lutter很棒。

Flutter迎合了企業(yè)(通過提供合理的開發(fā)成本)和開發(fā)人員(通過提供出色的可用性和速度)。這就是一些大公司轉(zhuǎn)向Flutter的原因,例如Google Ads、阿里巴巴、Reflectly等等。

谷歌在構(gòu)建Flutter方面做得很好,他們繼續(xù)讓這個框架變得更好。

在這篇文章中,我將簡要介紹Flutter及其全新的優(yōu)勢,并討論為什么這個框架值得使用。另外,我將討論可能阻礙大公司采用Flutter的原因。

但首先要做的事情。

Flutter的要點(diǎn)是什么?

以下是您可能已經(jīng)知道的有關(guān)Flutter的內(nèi)容:

它是一個開源、跨平臺的工具包

應(yīng)用程序是用Dart編程語言編寫的

它有自己的圖形引擎(Skia)

它正式支持三個平臺:iOS、Android和Web(測試版)

非官方——它也支持桌面

Google于2018年2月底推出了Flutter的第一個版本。截至2020年4月,1.12版本可用。

Flutter有什么特別之處?

Flutter結(jié)合了原生應(yīng)用的質(zhì)量和跨平臺開發(fā)的靈活性。

實(shí)際上,許多跨平臺工具讓您只需編寫一次代碼即可在iOS和Android上使用。然而,并非所有人都可以像原生應(yīng)用一樣呈現(xiàn)相同的外觀。

但這正是Flutter所做的:Flutter不是在原生UI組件(如React Native和Xamarin)之上的包裝器,而是從頭開始繪制UI。

Flutter保持了應(yīng)用程序的原生體驗(yàn)和感覺,您不必?fù)?dān)心它在任何平臺上的性能。

此外,由于Flutter是一個開源框架,任何開發(fā)人員都可以在GitHub上對其進(jìn)行更改并發(fā)送合并請求。如果你看看Flutter的受歡迎程度——90.4K GitHub星數(shù)、12k分叉和18,445次提交——你就會明白開發(fā)人員喜歡Flutter并為讓它變得更好做出貢獻(xiàn)。

顫振如何工作?

Flutter不直接編譯到iOS或Android應(yīng)用程序。應(yīng)用程序基于渲染引擎(基于C++構(gòu)建)和Flutter(基于Dart構(gòu)建)的組合啟動。以這種方式生成的所有文件都附加到特定平臺的每個應(yīng)用程序和SDK程序集軟件。

這就像游戲開發(fā):游戲不分配其框架,功能由游戲引擎執(zhí)行。Flutter軟件也是如此——所有基于Flutter SDK的應(yīng)用程序都將部分原生框架替換為Flutter元素。

盡管它會影響最終應(yīng)用程序的大小,但性能仍然相當(dāng)不錯——渲染速度高達(dá)120 FPS。

由于ARM處理器的原生編譯、簡單的渲染以及一組集成的小部件和工具,F(xiàn)lutter使開發(fā)過程更加簡單。

此外,它還提供了一些非常美味的功能,例如Hot Reload。

以下是它的工作原理:

當(dāng)您單擊Hot Reload按鈕時,代碼中的所有更改都會立即顯示在小工具、模擬器和模擬器中。該應(yīng)用程序從您點(diǎn)擊熱重載之前的位置繼續(xù)工作:代碼更新,但繼續(xù)執(zhí)行。

為什么為跨平臺應(yīng)用選擇Flutter?

新的Flutter版本將不斷推出更多高級功能。但是已經(jīng)有很多增強(qiáng)的功能完美地解釋了為什么Flutter如此受歡迎。

首先,與流行的看法相反,使用Flutter進(jìn)行跨平臺開發(fā)并不會使軟件變得更糟。

Flutter帶有適用于Android和iOS界面的所有原生小部件,例如Material Design和Cupertino。此外,該框架可以改變單獨(dú)元素的行為,為應(yīng)用程序的用戶創(chuàng)建類似的用戶體驗(yàn)。

其次,F(xiàn)lutter使得在dev模式下實(shí)現(xiàn)離散文件編譯成為可能。JiT編譯加速了開發(fā)和軟件調(diào)試。

第三,F(xiàn)lutter允許靈活且可擴(kuò)展的后端。

它支持Firebase、SQLite等插件(pub.dev將幫助您找到所需的插件)。Firebase使應(yīng)用程序的基礎(chǔ)架構(gòu)具有可擴(kuò)展性、無服務(wù)器和冗余性。

因此,如果您正在開發(fā)需要實(shí)時數(shù)據(jù)庫或云功能的應(yīng)用程序,F(xiàn)lutter將為您提供支持。

最后一個:Flutter非常好學(xué)。

從一開始,Google開發(fā)人員就設(shè)定了降低進(jìn)入門檻的目標(biāo)。他們仔細(xì)制定了開發(fā)人員可以使用的文檔和資源。它甚至有一些特殊的部分,您可以根據(jù)您的專業(yè)來開始學(xué)習(xí)該框架:

面向Android開發(fā)者的Flutter

適用于iOS開發(fā)者的Flutter

面向React Native開發(fā)者的Flutter

Flutter for Xamarin.Forms開發(fā)人員

面向Web開發(fā)人員的Flutter

由于Flutter的詳細(xì)文檔,即使您只有使用Unity圖形工具制作Android游戲的經(jīng)驗(yàn),您也將了解如何在Dart中編寫代碼。

Flutter 1.12(最新版本)及其優(yōu)勢

讓我們看看Flutter在其最新的1.12版本中引入了哪些熱門特性:

iOS深色模式

從現(xiàn)在開始,F(xiàn)lutter支持iOS 13的外觀和感覺,包括Cupertino小部件中完整的暗模式支持。這不僅僅是換掉背景,而是調(diào)整其余顏色以使其成為一個很好的匹配。

添加到應(yīng)用程序支持

另一個重大改進(jìn)是Add-to-App更新,用于將Flutter集成到現(xiàn)有的iOS/Android應(yīng)用程序中。

新版Flutter支持在應(yīng)用中添加一個全屏Flutter實(shí)例,以及:

Java、Kotlin、Objective-C和Swift中的穩(wěn)定API集成

支持在Flutter模塊中使用插件

通過Android AAR和iOS框架的其他集成機(jī)制

測試版網(wǎng)絡(luò)支持

新的Flutter master、dev和beta通道為web提供了改進(jìn)的支持。想要一些例子嗎?

這是Rivet,這是一個使用Flutter和Firebase創(chuàng)建其應(yīng)用程序的Web版本的教育項(xiàng)目。

新版本的框架引入了Dart 2.7。

此更新增強(qiáng)了使用Dart 2.5運(yùn)行的體驗(yàn),即安全字符串如何處理能力和擴(kuò)展過程。這有助于開發(fā)人員在變量獲得零值并解析字符串中的整數(shù)時防止錯誤。

以下是最新Flutter版本的其他一些功能:

macOS桌面支持(alpha)

多設(shè)備調(diào)試

黃金形象測試

Android構(gòu)建改進(jìn)

更新的DartPad

這很好,但并非沒有問題:是什么阻礙了開發(fā)人員?

Flutter真的很酷:易于上手,易于使用,并且由一家大型科技公司提供。然而,這就是為什么您的高級開發(fā)人員可能不會像您一樣樂觀的原因。

Dart的(低)受歡迎程度

與適用于Android的Java/Kotlin或適用于iOS的Swift/Objective-C不同,Dart的流行度還不高。而且它是極不可能的。

Dart并不難學(xué),而且有大量的教程(比如這個),但一些開發(fā)者仍然堅(jiān)持使用Java和其他熟悉的工具。

同時,你不能使用Flutter而不使用Dart:即使是Flutter的殺手級功能——Hot Reload——如果沒有Dart也無法工作。

不支持所有設(shè)備

您不能為iPhone 5s之前的32位iOS設(shè)備制作應(yīng)用程序。Windows桌面也是如此:你不能在32位筆記本電腦上運(yùn)行Flutter。

而且Flutter開發(fā)人員沒有修復(fù)它的計劃,因?yàn)椤斑@將涉及大量工作”。

因此,如果您想使用Flutter進(jìn)行編碼,則必須擁有一臺x64位設(shè)備或升級您現(xiàn)在使用的設(shè)備。

圖書館數(shù)量有限

雖然有很多Flutter庫,例如fl_chart(用于在Flutter中繪制圖形)、path_provider(用于在Android/iOS上定位文件)、flutter_sliding_tutorial等等,但數(shù)量仍然有限。

這不難解釋:Flutter是一個相對較新的框架,開發(fā)人員沒有足夠的時間來開發(fā)與原生語言一樣多的庫。

盡管如此,最重要的庫已經(jīng)存在,而且新的庫一直在出現(xiàn)。

Flutter應(yīng)用程序體積更大

與本地開發(fā)的應(yīng)用程序相比。Flutter的團(tuán)隊(duì)測量了最小的應(yīng)用程序大小(沒有Material組件,只有一個Center小部件,使用flutter build apk --split-per-abi構(gòu)建),捆綁和壓縮后,ARM為4.3 MB,ARM 64為4.6 MB。

現(xiàn)在的基本應(yīng)用程序在Android中約為4MB,在iOS中約為10MB。

很少經(jīng)過驗(yàn)證的專業(yè)知識

Flutter可能受到開發(fā)者的喜愛,但大公司并沒有急于停止制作原生(或React Native)應(yīng)用程序而轉(zhuǎn)向Flutter。

對于大多數(shù)公司來說,最大的問題是Flutter的新穎性。Dart比Java或C#更新,而Flutter本身是全新的。

當(dāng)然,有很多Flutter開源應(yīng)用程序,包括Google Ads或Hamilton等大型應(yīng)用程序(在此處查看完整列表),但數(shù)量不多。

沒有人愿意成為采用全新框架的人,幾個月后就不得不切換到原生開發(fā)。

但更重要的是,F(xiàn)lutter是你一個人走的路:

沒有多少已確認(rèn)的最佳實(shí)踐(至少在大型項(xiàng)目中)

總是有機(jī)會你是第一個面臨這個特殊問題的人

希望有人能幫助你——你必須小心翼翼地邁出每一步,并準(zhǔn)備好面對后果

在哪里使用顫振

首先,當(dāng)你有有限的時間和金錢來驗(yàn)證商業(yè)模式時,最好將Flutter用于MVP初創(chuàng)公司。

Flutter應(yīng)用更便宜:

與兩個本機(jī)應(yīng)用程序的成本相比

開發(fā)團(tuán)隊(duì)規(guī)??s小40%

線性過程

您可以花更多時間在應(yīng)用程序的功能上

通過選擇Flutter項(xiàng)目,您可以減少開發(fā)時間。與原生相比,F(xiàn)lutter開發(fā)花費(fèi)的時間并不多。

這是一個例子。假設(shè)您正在為兩個平臺制作類似Instagram的應(yīng)用程序。iOS開發(fā)大約需要700小時,Android也需要700小時。

使用Flutter,您將覆蓋兩個平臺并節(jié)省時間:700h Android + 700h iOS與700h Flutter。

您可以節(jié)省大量時間花在其他事情上,例如完善功能。

總結(jié)

如果你在有限的時間和有限的預(yù)算下構(gòu)建應(yīng)用程序,F(xiàn)lutter絕對值得一試。

它就像看起來一樣好,并且隨著每次新的更新,Google開發(fā)人員都會添加更多甚至用于跨平臺開發(fā)的工具。

當(dāng)然,對于C#和Java愛好者來說,這個框架可能看起來不尋常,但這并不意味著它會迫使你走出舒適區(qū)。掌握了細(xì)微的語法差異后,您很快就會發(fā)現(xiàn)UI開發(fā)比原生開發(fā)快幾倍。

如果你成功了,如果Flutter繼續(xù)存在,它可以為你帶來一些令人興奮的移動開發(fā)體驗(yàn)和未來的機(jī)會。