<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          iOS 跨平臺(tái)開發(fā),該用 Flutter 還是 Swift?

          共 3505字,需瀏覽 8分鐘

           ·

          2022-01-04 04:23

          ????關(guān)注后回復(fù) “進(jìn)群” ,拉你進(jìn)程序員交流群????


          【CSDN 編者按】在商業(yè)和開源代碼中被廣泛使用的 Flutter 和 Swift 你更中意哪一個(gè)呢?本文對(duì)兩者的優(yōu)勢(shì)、性能、流行度等方面進(jìn)行比較分析,幫助您找出更適合自己項(xiàng)目的框架或語言。


          作者 | Tim Sneath       譯者 | 風(fēng)車云馬
          出品 | CSDN(ID:CSDNnews)

          以下為譯文:

          目前,iOS 應(yīng)用程序已經(jīng)成為一種有效的解決方案,如果你的公司還沒有這款應(yīng)用,就可能失去了潛在的收益。客戶對(duì)可靠、友好的應(yīng)用程序的需求從未像現(xiàn)在這樣高。幸運(yùn)的是,移動(dòng)技術(shù)的進(jìn)步使得開發(fā)高性能的 iOS 和 Android 應(yīng)用程序變得很容易。

          然而,在你正式構(gòu)建應(yīng)用程序之前,你必須確定選用哪個(gè)框架會(huì)更好。iOS 應(yīng)用開發(fā)的兩個(gè)主要選擇是 Flutter/Dart 和 iOS/Swift。因此,我們對(duì)這兩種移動(dòng)應(yīng)用程序框架作以比較,以幫助您找出更適合自己項(xiàng)目的框架或語言。


          Flutter VS Swift


          2014 年,蘋果發(fā)布了其多范式編譯編程語言 Swift。它是一種開源的通用語言,專為原生 iOS 開發(fā)而設(shè)計(jì)。Swift 提供了許多好處,包括:

          • 優(yōu)秀的文檔

          • 免費(fèi)和開源

          • 代碼可讀性好

          • 速度快

          • 高級(jí)功能

          • 易于伸縮的動(dòng)態(tài)庫

          Flutter 是谷歌開發(fā)的一個(gè)開源、多平臺(tái)的移動(dòng) SDK。它使用 Dart 編程語言,F(xiàn)lutter允許你在相同的源代碼中構(gòu)建 iOS、Android、Linux、Windows、Mac、Google Fuchsia 和 web 應(yīng)用程序。Flutter 和 Swift 有類似的優(yōu)勢(shì),還有幾項(xiàng)額外的好處:

          • 免費(fèi)和開源,擁有更多的用戶

          • 完美的文檔

          • 速度快

          • 圖形引擎

          • 加速開發(fā)的各種工具

          • 熱重載

          • 兼容舊設(shè)備

          • 便于界面創(chuàng)建的小部件


          構(gòu)建速度


          當(dāng)你使用本地編程語言時(shí),應(yīng)用程序的構(gòu)建時(shí)間都會(huì)比較快。因此,當(dāng)您比較Flutter、Kotlin 或 Swift 的干凈構(gòu)建時(shí)間時(shí),后一種語言肯定會(huì)更快。然而,當(dāng)您額外構(gòu)建時(shí),Dart 語言也會(huì)變得更有競(jìng)爭(zhēng)力。


          上市時(shí)間


          當(dāng)考慮到 Flutter 與原生 iOS 開發(fā)的上市時(shí)間時(shí),F(xiàn)lutter 確實(shí)很出色。很少有公司只想要一個(gè)單一平臺(tái)的應(yīng)用,所以如果你使用 Swift 來構(gòu)建一個(gè) iOS 應(yīng)用,你還必須為 Android 開發(fā)一個(gè)單獨(dú)的應(yīng)用。這可能會(huì)非常昂貴,因?yàn)殚_發(fā)人員將不得不構(gòu)建兩個(gè)獨(dú)立的代碼庫。

          然而,當(dāng)您將 Flutter 用于跨平臺(tái)應(yīng)用程序開發(fā)時(shí),您可以利用一個(gè)代碼庫為多個(gè)平臺(tái)開發(fā)應(yīng)用程序。這些應(yīng)用程序不僅可以在各自的操作系統(tǒng)和設(shè)備上完美運(yùn)行,還可以減少開發(fā)、維護(hù)時(shí)間和費(fèi)用。

          此外,F(xiàn)lutter 的發(fā)展速度更快。有很多集成開發(fā)環(huán)境(IDE)加速了 Flutter 應(yīng)用程序的開發(fā),例如 Visual Studio Code,它有許多與 Android Studio 和 IntelliJ 相同的特性,但它更輕更快。你可以在幾個(gè)月內(nèi)就向市場(chǎng)推出一個(gè)基本的 Flutter  MVP(Minimum Viable Product,最小化可行產(chǎn)品),并隨著市場(chǎng)的變化逐步添加新功能,而不是等待一年半載或更長(zhǎng)時(shí)間來啟動(dòng)一個(gè)完全開發(fā)好的應(yīng)用程序。


          插件和代碼重用性


          我們已經(jīng)提到了 Flutter 出色的代碼重用性,以及使用單一代碼庫為多個(gè)平臺(tái)開發(fā)應(yīng)用程序的優(yōu)勢(shì)。該優(yōu)勢(shì)也減少了測(cè)試時(shí)間,因?yàn)殚_發(fā)者不必為兩個(gè)完全獨(dú)立的應(yīng)用程序測(cè)試其性能;而如果使用 Swift 或其他框架,他們可能就需要這樣做。Flutter 還提供了各種各樣的插件,以實(shí)現(xiàn)更快、更容易的開發(fā)。


          性能


          如果你有一大筆預(yù)算為每個(gè)平臺(tái)開發(fā)不同的應(yīng)用,那么 Swift 是一個(gè)很好的選擇。您將使用本地框架開發(fā)流暢、快速、可靠的應(yīng)用程序。然而,較小的預(yù)算并不意味著你必須在性能上妥協(xié)。

          Flutter 應(yīng)用程序可以在所有平臺(tái)上提供本機(jī)級(jí)性能,因?yàn)樗鼈兪褂帽緳C(jī)編譯的代碼運(yùn)行,沒有解釋器干擾。此外,F(xiàn)lutter 動(dòng)畫包可以很容易地構(gòu)建一個(gè)整潔、直觀的用戶界面。大多數(shù) Flutter 動(dòng)畫小部件不僅具有預(yù)先設(shè)置的效果,而且也可以根據(jù)您的特定需求自定義。


          流行度和用例


          在 2020 年的 Stackoverflow 調(diào)查中,F(xiàn)lutter 在最受歡迎的框架、庫和工具的使用中位居前三名。Flutter 在 GitHub 上有 118 萬顆 star,而 Swift 只有 5.5 萬顆。當(dāng)然,這兩個(gè)框架都被用來創(chuàng)建各種各樣的應(yīng)用程序:

          Swift Apps:

          • LinkedIn

          • SlideShare

          • Lyft

          • Firefox

          • Eventbrite

          Flutter Apps:

          • Google Ads

          • Alibaba

          • Square

          • Ebay

          • Hamilton Musical

          • Reflectly

          • Groupon

          • Cryptomaniac

          • SpaceX Go

          • Realtor.com

          從 Flutter 應(yīng)用程序示例中可以看到,該框架可用于各種規(guī)模的企業(yè)構(gòu)建各種應(yīng)用程序,包括零售商、金融機(jī)構(gòu)、供應(yīng)商、特許經(jīng)銷商等。

          然而,在考慮 Swift /Dart 時(shí),請(qǐng)記住在某些情況下,本地框架可能會(huì)更好地服務(wù)。如果:

          • 你的應(yīng)用程序大小比較小(1-3MB),因?yàn)?Flutter 應(yīng)用程序往往比本地應(yīng)用程序大很多。

          • 當(dāng)你更新你的應(yīng)用時(shí),你需要使用熱代碼(hot code)推送來跳過應(yīng)用商店(App Store)的審查過程。

          • 你正在開發(fā)一款更復(fù)雜的游戲,如《絕地求生》(PUBG)。Flutter 主要是為應(yīng)用程序設(shè)計(jì)的,而不是游戲。然而,這個(gè)框架對(duì)于簡(jiǎn)單的游戲來說工作得很好。


          iOS 應(yīng)用程序的附加功能


          當(dāng)著眼于為 iOS 應(yīng)用開發(fā)選擇合適的框架時(shí),不要認(rèn)為所有很酷的蘋果解決方案都只與本地框架兼容。它可以無縫集成以下功能:

          • Apple HealthKit ——允許設(shè)備將用戶的健康和健身數(shù)據(jù)讀取/寫入到他們的健康應(yīng)用程序,為用戶增加了不同層級(jí)的信息,并與他們當(dāng)前的解決方案完美匹配。

          • Machine learning ——利用設(shè)備上的機(jī)器學(xué)習(xí)開發(fā)創(chuàng)新、強(qiáng)大的功能,給用戶帶來全新的體驗(yàn)。

          • HomeKit ——應(yīng)用程序和設(shè)備能夠無縫連接到用戶當(dāng)前的智能家庭系統(tǒng),并使用 Siri 控制它們。


          結(jié)論


          Swift 本身就是一個(gè)很棒的本地框架,但 Flutter 提供了更多好處,包括使用單一源代碼為多個(gè)平臺(tái)開發(fā)應(yīng)用程序的能力。Flutter 可以完美地為各種各樣的應(yīng)用程序工作,它享有更多的社區(qū)支持,它將節(jié)省您的開發(fā)時(shí)間和資金。Swift 適用于原生應(yīng)用,但隨著 Flutter 的不斷改進(jìn),它在 iOS 應(yīng)用開發(fā)方面甚至?xí)^ Swift。

          原文鏈接:https://evrone.com/flutter-vs-swift

          聲明:本文由CSDN翻譯,轉(zhuǎn)載請(qǐng)注明來源。

          -End-

          最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

          點(diǎn)擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取

          在看點(diǎn)這里好文分享給更多人↓↓

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天爽天天爽天天爽天天爽天天爽 | 全国高清无码在线观看 | 成年人视频中文字幕在线播放 | 天天干夜夜操www | 国产一级aaa |