1. iOS 跨平臺開發(fā),該用 Flutter 還是 Swift?

        共 3505字,需瀏覽 8分鐘

         ·

        2022-01-04 04:23

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


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


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

        以下為譯文:

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

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


        Flutter VS Swift


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

        • 優(yōu)秀的文檔

        • 免費(fèi)和開源

        • 代碼可讀性好

        • 速度快

        • 高級功能

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

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

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

        • 完美的文檔

        • 速度快

        • 圖形引擎

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

        • 熱重載

        • 兼容舊設(shè)備

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


        構(gòu)建速度


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


        上市時(shí)間


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

        然而,當(dāng)您將 Flutter 用于跨平臺應(yīng)用程序開發(fā)時(shí),您可以利用一個(gè)代碼庫為多個(gè)平臺開發(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)就向市場推出一個(gè)基本的 Flutter  MVP(Minimum Viable Product,最小化可行產(chǎn)品),并隨著市場的變化逐步添加新功能,而不是等待一年半載或更長時(shí)間來啟動一個(gè)完全開發(fā)好的應(yīng)用程序。


        插件和代碼重用性


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


        性能


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

        Flutter 應(yīng)用程序可以在所有平臺上提供本機(jī)級性能,因?yàn)樗鼈兪褂帽緳C(jī)編譯的代碼運(yùn)行,沒有解釋器干擾。此外,F(xiàn)lutter 動畫包可以很容易地構(gòu)建一個(gè)整潔、直觀的用戶界面。大多數(shù) Flutter 動畫小部件不僅具有預(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í),請記住在某些情況下,本地框架可能會更好地服務(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è)框架對于簡單的游戲來說工作得很好。


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


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

        • Apple HealthKit ——允許設(shè)備將用戶的健康和健身數(shù)據(jù)讀取/寫入到他們的健康應(yīng)用程序,為用戶增加了不同層級的信息,并與他們當(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è)平臺開發(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)載請注明來源。

        -End-

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

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

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

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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 69成人网| 肏屄免费 | 一线天超碰在线 | 农村少妇一区二区三区四区五区 | 国产精品视频播放豆花网址 |