<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>

          跨平臺應(yīng)用即將消亡!

          共 7431字,需瀏覽 15分鐘

           ·

          2020-12-22 12:24

          點(diǎn)擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)?”

          讓一部分開發(fā)者看到未來


          作者 | Pen Magnet 來自 前端之顛? 譯者 |?張健欣

          2015 年時(shí),我是一名自由職業(yè)的原生 iOS 開發(fā)者。我知道 Objective C——這是唯一我睡著都能寫的語言。Swift 還在努力解決 ABI 兼容性問題,而我還在觀望。

          當(dāng)我決定重新進(jìn)入就業(yè)市場時(shí),每個(gè)人都想要 React Native

          我是這個(gè)領(lǐng)域的新手。每個(gè)工程博客,主要 包括 Airbnb,都在鼓吹“一次編寫,隨處發(fā)布”的優(yōu)勢。我的朋友們建議我轉(zhuǎn)向跨平臺,或者立即退休。

          如果有人給我提供機(jī)會,相信我在 Windows + iOS 領(lǐng)域的工程技能,我可以在工作中學(xué)習(xí)原生安卓。

          但是我猶豫要不要學(xué)習(xí) RN。LinkedIn 在 2013 年放棄了其基于 HTML5 的 跨平臺 app,這在我的腦海中記憶猶新。盡管 React Native 在執(zhí)行時(shí)是完全原生的,但是它沒有像 Objective C 或 Java 那樣暴露出原生的感覺。

          我的猶豫很快得到了驗(yàn)證:

          我讀到了相關(guān)新聞,RN 的創(chuàng)造者 Facebook——宣布將其 iOS 主頁(新聞流)切換到 Kit 組件——一個(gè)基于 Objective C++ 創(chuàng)建的框架。他們大量借用了 React 的聲明式方案,但是 用 Objective C++ 實(shí)現(xiàn)了所有東西 來利用 iOS 架構(gòu)的真正力量——甚至 Swift 現(xiàn)在還無法提供。

          圖片來源:Reddit

          現(xiàn)在大部分經(jīng)常使用的應(yīng)用程序依賴 C++ 或它的一些變種(對于安卓是 JNI,對于 iOS 是 Objective C++)。

          快進(jìn)到 2020 年。

          Airbnb 早在 2019 年就 放棄了繼續(xù)使用 RN。這在工程界引起了足夠的轟動,迫使人們重新思考。在 2019 年的同一年,蘋果發(fā)布了 SwiftUI,一個(gè)聲明式的 UI 框架,旨在再次吸引新手開發(fā)者度過其 Swift 災(zāi)難(盡管現(xiàn)在已經(jīng)穩(wěn)定了)。

          什么敲響了跨平臺的喪鐘:

          跨平臺的應(yīng)用程序有其固有缺陷。隨著市場的不斷變化,現(xiàn)在市場已經(jīng)成熟,它們要么改進(jìn)要么消亡。

          蘋果正在整合
          在開發(fā)者收入方面,蘋果已經(jīng)占據(jù)了主導(dǎo)地位

          這是 公開的秘密,從未變過。盡管安卓的市場份額很大,但在應(yīng)用程序收入方面,它遠(yuǎn)遠(yuǎn)落后于蘋果。這不僅僅是因?yàn)榘沧吭谑澜绲牡褪杖氲貐^(qū)處于領(lǐng)先地位,還因?yàn)榘沧康暮诵臉I(yè)務(wù)是授權(quán),而不是硬件制造。

          因此,iOS + iDevice 的更新更符合其高付費(fèi)用戶的需求。

          蘋果的系統(tǒng)在移動體驗(yàn)方面已經(jīng)非常成熟

          盡管非蘋果制造商引領(lǐng)了許多智能手機(jī)創(chuàng)新。

          由于蘋果對操作系統(tǒng)和硬件的控制更嚴(yán)格,蘋果在提供卓越 + 個(gè)性化的體驗(yàn)方面做得更好,而這也是高價(jià)值用戶在移動設(shè)備上的追求。

          由于蘋果最新致力于成為一個(gè)以隱私為中心的軟件生態(tài)系統(tǒng),顯而易見,蘋果將繼續(xù)在企業(yè)移動解決方案領(lǐng)域占據(jù)主導(dǎo)地位。

          對于開發(fā)者來說,蘋果和安卓之間的收入分成非常簡單:

          蘋果開發(fā) =>高價(jià)值付費(fèi)用戶 =>應(yīng)用程序銷售收入

          安卓開發(fā) =>低價(jià)值用戶 =>廣告收入

          蘋果最近強(qiáng)制應(yīng)用程序請求用戶權(quán)限來分享廣告數(shù)據(jù)。這對于那些以廣告數(shù)據(jù)為唯一資產(chǎn)的公司來說是一個(gè)直接的打擊——特別是 Facebook 和谷歌。

          而 Facebook 和谷歌碰巧是 React Native 和 Flutter 的創(chuàng)造者,這應(yīng)該不是個(gè)巧合。

          你很容易看到這對于 App 開發(fā)者來說意味著什么:進(jìn)一步搞明白你的理想的用戶基礎(chǔ)。盡早做出選擇,并選擇你相應(yīng)的工具集。

          例如,如果你不想做廣告,你最好先開發(fā)蘋果應(yīng)用。經(jīng)過驗(yàn)證后,再開發(fā)安卓應(yīng)用。這種比較零碎的方案幾乎沒有動力來進(jìn)行跨平臺開發(fā)。只要團(tuán)隊(duì)保持不變,通用代碼庫需求很容易得到滿足。

          Apple Silicon 是蘋果在應(yīng)用經(jīng)濟(jì)領(lǐng)域的王牌

          除非某家顛覆性的硬件公司從黑暗中走出來。

          谷歌是一個(gè)規(guī)模相當(dāng)大的挑戰(zhàn)者,但并不可怕。它在移動領(lǐng)域的主要目的不是銷售軟件,而是掌握用戶數(shù)據(jù)。如果不在硬件上取勝,正如 它所公開承認(rèn)的那樣,谷歌很難打破這種平衡。安卓的采用直接取決于它許可的硬件制造商。

          有了 Apple Silicon,蘋果就整合了它的開發(fā)者社區(qū)。它已經(jīng)向開發(fā)者支付了更多?,F(xiàn)在有了 Apple Silicon,iOS 開發(fā)者可以輕松遷移到新的蘋果 Mac 上。

          這一舉措使得 開發(fā)蘋果應(yīng)用更有利可圖,使用它自己的工具:XCode、Playground 等等,使用 Apple Silicon 驅(qū)動的 Mac 電腦,因?yàn)樗梢酝耆刂扑挠布?。有更明確的動機(jī)讓所有人都投入到一個(gè)平臺上,至少在最初是這樣,而且沒有開發(fā)者或創(chuàng)業(yè)公司會錯過這個(gè)優(yōu)勢。

          跨平臺是一種漸進(jìn)性改進(jìn),而不是創(chuàng)新

          這是一種漸進(jìn)性改進(jìn),告訴壟斷者:

          現(xiàn)在,我挑戰(zhàn)你進(jìn)行創(chuàng)新。我不能做一個(gè)更好的 IDE 或硬件,但是我可以剝奪你從中獲取的一些收益或開發(fā)者。

          一次又一次,跨平臺工具將自己作為解決每個(gè)與平臺相關(guān)的問題的靈丹妙藥。

          如果沒有底層硬件,它們會成為壟斷者的挑戰(zhàn)者,因?yàn)閴艛嗥髽I(yè)有很高的進(jìn)入成本壁壘。Mac 機(jī)器 vs windows 機(jī)器的成本是被引用最多的標(biāo)準(zhǔn)。

          它們迅速被采用的另一個(gè)原因,不是它們有能力創(chuàng)造更好的體驗(yàn),而是開發(fā)者對專有平臺的不滿。

          每個(gè)超過千萬美元的初創(chuàng)公司都會雇傭一名移動開發(fā)人員來維護(hù)一個(gè)最終依賴于遠(yuǎn)程 GitHub 貢獻(xiàn)者支持的代碼庫

          它們可以是開源的??焖偃腴T項(xiàng)目、Youtube 教程和價(jià)值 100 美元的模板充斥在開發(fā)人員的信息流中,但幾乎很難找到依據(jù):

          跨平臺 App 可以實(shí)現(xiàn)的東西用原生并不容易實(shí)現(xiàn)!(5 行代碼 vs 3 個(gè)類?。?。不要看原生提供的定制可能性 vs 5 行代碼的底層機(jī)制。

          它提供了 通用業(yè)務(wù)邏輯 的獨(dú)特優(yōu)勢——這是任何初創(chuàng)公司都無法抗拒的。最后,每個(gè) 千萬美元 的初創(chuàng)公司都會雇傭一名移動開發(fā)人員來維護(hù)一個(gè)最終依賴于 GitHub 貢獻(xiàn)者支持的通用代碼庫。這些公司沒有意識到的是,通用業(yè)務(wù)邏輯必須通過清晰的文檔(嗯?那是什么)和簡潔的規(guī)范(但我們是敏捷開發(fā)!)維護(hù)。

          幸運(yùn)的是,如果這些初創(chuàng)公司能夠超過一個(gè)收入點(diǎn),如果出現(xiàn)開發(fā)人員流失,增長策略就會介入,在 app store/play store 上排名退步 + 投資人的壓力會促使創(chuàng)始人重新考慮他們最初追求快速但雜亂的解決方案的決定。這也解釋了 LinkedIn、Facebook iOS 版、Airbnb 以及其它無數(shù)應(yīng)用后期采用原生方案的原因。

          然而,初露頭角的創(chuàng)業(yè)公司數(shù)量從未減少,跨平臺開發(fā)人員的市場也從未枯竭。反抗精神萬歲!但現(xiàn)實(shí)是這樣的:如果你知道 C++(或 Objective C 及其變種)或者 Java,你的技能將在幾十年后還不落伍。如果你用一個(gè)奇特的跨平臺開源工具集來修飾你的簡歷,那就要準(zhǔn)備好每 3-5 年做一次徹底的調(diào)整。

          跨平臺糟糕透了

          它們被開發(fā)是為了發(fā)布,而不是維護(hù)。

          在跨平臺應(yīng)用中,困惑不斷。

          如今的跨平臺產(chǎn)品能夠提供幾乎 100% 的原生代碼——這一點(diǎn)毫無疑問。Xamarin、React Native 和 Flutter——都承諾 100% 原生執(zhí)行。

          它們不同于以往運(yùn)行在瀏覽器上和基于 HTML5 的 PWA 應(yīng)用。

          但在設(shè)計(jì)上,它與每一個(gè)代碼組織原則都相反。它們由 500 多個(gè)從完全不同的不受監(jiān)控的源代碼(而不是本地庫)下載的包組成,模仿了 Web 開發(fā)方法。在移動開發(fā)中采用這種方法——其源代碼被視為公開的,而不是在由開發(fā)人員控制的服務(wù)器的邊界內(nèi),人們可以想象其風(fēng)險(xiǎn)。

          跨平臺工具很容易被采用,因?yàn)樗鼈兲峁┝顺鯇W(xué)者更容易理解的更高級別的抽象。它們?nèi)诤狭瞬煌讓釉?API 之間的差異。它們采用了最常用的功能,其余的定制工作留給了開發(fā)人員。

          設(shè)想一個(gè)假設(shè)的 函數(shù) F 在原生 iOS 和安卓中有如下實(shí)現(xiàn):

          iOS: function f (int a, int b, int c)

          Android: function f (int a, int b, int p, int q, int r)

          一個(gè)典型的跨平臺包會提供如下函數(shù):

          function f (int a, int b)

          如果你想要充分利用這兩個(gè)功能,你必須在原生代碼(即 Objective C 和 Java)中找出 c、p、q 和 r 的調(diào)整。

          在我的上一個(gè)組織中,由于現(xiàn)有的 Flutter 通知包的缺點(diǎn),開發(fā)人員必須在以下方面進(jìn)行開發(fā):

          1. Dart

          2. iOS 插件

          3. 安卓插件

          因?yàn)?Flutter 開發(fā)人員只熟悉 XCode 或 Android Studio,并不精通 Objective C 或 Kotlin API,所以這被認(rèn)為是一個(gè)缺陷。

          大部分跨平臺愛好者都是大學(xué)生,他們在圖書館中創(chuàng)建了他們的第一個(gè)軟件,不能忘記他們的“初戀”。他們構(gòu)建跨平臺 App 是用來發(fā)布,而不是維護(hù)。

          但當(dāng)你被迫下載一個(gè)包來實(shí)現(xiàn)一個(gè)簡單的功能,例如 設(shè)備信息,真正的痛苦就開始了。

          大部分跨平臺愛好者都是大學(xué)生,他們在圖書館中創(chuàng)建了他們的第一個(gè)軟件,不能忘記他們的“初戀”。

          平均而言,雖然一個(gè)移動應(yīng)用開發(fā)人員開發(fā)一個(gè)單一代碼庫只節(jié)省了 20% 時(shí)間(而不是 50%,因?yàn)樾枨筠D(zhuǎn)化 + 定制化),包管理占用了維護(hù)者 70% 多的時(shí)間。

          一個(gè) React Native 應(yīng)用程序被一些 非常嚴(yán)重的功能 + 性能相關(guān)問題 困擾,這些問題會在開發(fā)周期的后期被發(fā)現(xiàn)。

          相比于原生開發(fā)者的 IPA 和 APK,一個(gè)典型的 flutter app 的尺寸要大得多。

          在我的上一個(gè)組織中,我修改了 70 多個(gè)文件,來處理 Flutter 的 Equatable 實(shí)現(xiàn)的兼容性中斷。

          這并不痛苦,直到我了解了其背后的原因:早期的哈希算法對于一個(gè)對象內(nèi)屬性值的交換產(chǎn)生相同的哈希值!

          換句話說,以下對象將在舊的有缺陷的實(shí)現(xiàn)中產(chǎn)生相同的哈希值,除非你顯式地重寫 Equatable 哈希函數(shù),在 1.0 之前,這從不是一個(gè)強(qiáng)制要求!

          對象 A:

          x = 3, y = 4

          對象 B:

          x = 4, y = 3

          想象一下,檢查所有 500 多個(gè)包是否存在 equality 檢查漏洞...?

          我問我的架構(gòu)師,為什么像我們這樣的數(shù)據(jù)密集型應(yīng)用程序首先采用了 Flutter。

          他的回答非常經(jīng)典:

          “管理人員常說:敏捷的目標(biāo)之一,就是避免無價(jià)值的操作,例如文檔。通用代碼庫就是我們的文檔和唯一信源?!?/p>

          跨平臺是一種不依賴的依賴關(guān)系

          這個(gè)問題不是跨平臺固有的。但這個(gè)問題通過開源共享與跨平臺緊緊綁定在了一起。

          庫所有人具有不可思議的權(quán)力

          這個(gè)問題的存在有兩個(gè)原因。

          首先,GitHub(和它的競品)是未評級的,但要對國家法律負(fù)責(zé)。它可以在任何時(shí)候通過合法的改組來 摧毀任何東西。

          其次,庫所有人對于貢獻(xiàn)者的工作具有不可思議的權(quán)力,無論這個(gè)庫有多大。

          庫所有者的暴政 已經(jīng)在區(qū)塊鏈領(lǐng)域臭名昭著,創(chuàng)始貢獻(xiàn)者在制定鏈幣發(fā)行規(guī)則方面占據(jù)上風(fēng)。

          所有頭部公司(包括 FAAMG)都已經(jīng)在利用開源,來使他們的 SDK 可以被獲取 + 對 bug 修復(fù)開放。公司雇傭開發(fā)者來維護(hù)社區(qū)意識,關(guān)注開發(fā)者的興趣,并根據(jù)大眾需求來發(fā)布特性。

          如果他們不這么做,他們的核心產(chǎn)品就會受損。

          對于跨平臺供應(yīng)商則不是這樣。事實(shí)上,他們對嚴(yán)重的 bugs 或關(guān)鍵的增強(qiáng)請求沒有任何反映。因此,錯誤處理 GitHub 問題不會對他們造成任何后果。

          如果 Flutter 有嚴(yán)重的 bugs,谷歌在已經(jīng)微不足道的 Pixel 銷量或龐大的搜索流量方面不會有任何減少。

          如果 React Native 缺少一個(gè)功能,F(xiàn)acebook 的廣告收入不會縮減。

          但是,如果 Android/Kotlin 或 iOS/Swift 有嚴(yán)重的漏洞,谷歌和蘋果肯定會遭受損失——谷歌在授權(quán)收入方面受損,蘋果在 iPhone 銷量方面受損。開發(fā)者會削減 30% 收入。

          因此,與那些在午夜發(fā)布修補(bǔ)程序的原生平臺所有者不同,跨平臺開發(fā)者對開發(fā)人員的請求置若罔聞。

          稍好點(diǎn)的回應(yīng)者會對問題寫一個(gè)正式的回應(yīng),并單方面關(guān)閉它們,而不進(jìn)行后續(xù)處理。在沒有適當(dāng)文檔的情況下,開發(fā)人員的唯一辦法就是深入研究包 / 庫代碼,修復(fù)問題,然后發(fā)布他們的應(yīng)用程序。

          有時(shí),他們被庫開發(fā)者誘導(dǎo)回饋,而這也沒有任何激勵措施,這一切都是基于開源精神。

          對于一個(gè)被承諾了高效跨平臺實(shí)現(xiàn)的開發(fā)者來說,這是 2 個(gè)缺點(diǎn):花在 bug 上的時(shí)間更多 + 特性請求是開源的。

          但還有更糟糕的。

          雪上加霜的是,他們的 PR 有時(shí)候會被庫所有者拒絕或忽視,理由是為了保證他們的記錄簿干凈。

          除非高薪的跨平臺庫所有者平等對待他們的低薪同行創(chuàng)新者,否則情況只會惡化。

          隨著有經(jīng)驗(yàn)的開發(fā)人員轉(zhuǎn)向更好的平臺原生的解決方案,跨平臺項(xiàng)目注定會是一個(gè)偽裝成創(chuàng)新的巨大漸進(jìn)改動。

          ? ? 結(jié)論? ??

          跨平臺開發(fā)將很快意味著對于多種設(shè)備的單平臺開發(fā)

          在所有的移動開發(fā)廠商中,蘋果是唯一一家真正的業(yè)務(wù)線是硬件的公司。隨著他們平臺的統(tǒng)一,它向開發(fā)者發(fā)出了一個(gè)明確的信息:你對我們的服務(wù)業(yè)務(wù)至關(guān)重要,我們關(guān)心你們的增長。

          現(xiàn)在預(yù)測其長期市場主導(dǎo)地位還為時(shí)過早。谷歌有足夠的財(cái)力來為其原生安卓平臺提供燃料,使其對開發(fā)者更有吸引力。

          雖然單靠蘋果無法撼動整個(gè)跨平臺社區(qū),但它肯定能夠迫使其競爭對手采用一種更結(jié)構(gòu)化更易于維護(hù)且更不易出現(xiàn)故障的移動開發(fā)方案。

          跨平臺開發(fā)領(lǐng)域?qū)⒑芸煲馕吨鴮Χ喾N設(shè)備的單平臺開發(fā),就像.NET 早期那樣。

          創(chuàng)業(yè)公司最好不要跨平臺。公共代碼庫的誘惑必須被良好的老文檔取代,這樣才能在開發(fā)人員心中培養(yǎng)真正的通用商業(yè)邏輯。

          你的客戶值得原生平臺提供的最佳統(tǒng)一體驗(yàn)。

          你的開發(fā)者?休息(不是雙關(guān)語) + 尊敬。

          作者介紹

          Pen Magnet 創(chuàng)業(yè)作家、程序員、科技職業(yè)博主、教育愛好者。

          延伸閱讀

          https://medium.com/swlh/the-end-of-cross-platform-as-we-know-it-dad658d96b8

          ? ? 資料推薦? ??

          近年來,隨著移動智能設(shè)備的快速普及,移動多端統(tǒng)一開發(fā)框架已成為一個(gè)熱門話題。閑魚是國內(nèi)最早接觸使用 Flutter的團(tuán)隊(duì),經(jīng)過多次研討驗(yàn)證并大規(guī)模上線,在App性能、穩(wěn)定性、開發(fā)效率上收益甚多。



          這本《Flutter技術(shù)解析與實(shí)戰(zhàn)》并非基礎(chǔ)知識的簡單羅列,而是從一線問題出發(fā),循序漸進(jìn),娓娓道來。它從通用業(yè)務(wù)工程化開始,進(jìn)而展開Flutter在閑魚整體云端一體化架構(gòu)的創(chuàng)新思考。


          —— 阿里巴巴資深技術(shù)專家 孫兵(酒丐)




          近年來,隨著移動智能設(shè)備的快速普及,移動多端統(tǒng)一開發(fā)框架已成為一個(gè)熱門話題。閑魚是國內(nèi)最早接觸使用 Flutter 的團(tuán)隊(duì),經(jīng)過多次研討驗(yàn)證并大規(guī)模上線,在App性能、穩(wěn)定性、開發(fā)效率上收益甚多。


          去年,閑魚發(fā)布了《Flutter in action》電子書,系統(tǒng)地總結(jié)了閑魚在Flutter開發(fā)實(shí)踐過程中的一手實(shí)踐知識和技術(shù)沉淀。



          現(xiàn)在《Flutter in action》全面升級,納入更多創(chuàng)新思考并重新整理全書邏輯——《Flutter 技術(shù)解析與實(shí)戰(zhàn)》正式發(fā)布!



          長按二維碼2秒關(guān)注:高薪Offer與面試現(xiàn)場

          回復(fù)”Flutter技術(shù)“ 獲取最新PDF

          長按二維碼2秒關(guān)注


          這本書并非基礎(chǔ)知識的簡單羅列,而是從一線問題出發(fā),循序漸進(jìn),娓娓道來。


          它從通用業(yè)務(wù)工程化開始,進(jìn)而展開Flutter在閑魚整體云端一體化架構(gòu)的創(chuàng)新思考。




          • 第?1、2?章重點(diǎn)關(guān)注?混合工程搭建以及關(guān)鍵能力擴(kuò)展和優(yōu)化

          • 第?3、4?章探討關(guān)于?大規(guī)模工程實(shí)踐?中遇到的具體問題,如?應(yīng)用架構(gòu)設(shè)計(jì)、?性能統(tǒng)計(jì)和調(diào)優(yōu)等

          • 第?5?章將給出整體的?梳理和總結(jié),以期讀者可以有一個(gè)自頂向下展開的閱讀路徑


          Flutter開源工具大集合

          閑魚Flutter應(yīng)用框架Fish Redux、開發(fā)利器AspectD、FlutterBoost等一眾開發(fā)工具正式開源,現(xiàn)在《Flutter in action》一次幫你找全了。開源地址+技術(shù)解析,手把手教你Flutter應(yīng)用框架和混合開發(fā)原理!

          閑魚Flutter企業(yè)級應(yīng)用實(shí)踐

          隨著無線,IoT的發(fā)展,5G的到來,移動研發(fā)越發(fā)向多端化發(fā)展。傳統(tǒng)的基于Native+Web+服務(wù)端的開發(fā)方式,研發(fā)效率低下,顯然已經(jīng)無法適應(yīng)發(fā)展需要。

          而Flutter是Google開源的跨端便攜UI工具包,除了具有非常優(yōu)秀的跨端渲染一致性,還具備非常高效的研發(fā)體驗(yàn),豐富的開箱即用的UI組件,以及跟Native媲美的性能體驗(yàn)。由于它的眾多優(yōu)勢,也使得Flutter成為了近些年來熱門的新技術(shù)。

          在這本書中將詳細(xì)講解閑魚Flutter&FaaS云端一體化架構(gòu),和閑魚基于Flutter的架構(gòu)演進(jìn)與創(chuàng)新,學(xué)習(xí)一套全面的Flutter架構(gòu)應(yīng)用方案。

          混合開發(fā)實(shí)踐指南

          你將在這里看到閑魚技術(shù)團(tuán)隊(duì)利用Flutter技術(shù)改造和上線復(fù)雜業(yè)務(wù)的混合工程改造實(shí)踐、抽取Flutter依賴到遠(yuǎn)程的實(shí)現(xiàn)細(xì)節(jié)、以及使用Plugin橋接獲取設(shè)備信息、使用基礎(chǔ)網(wǎng)絡(luò)庫等混合開發(fā)實(shí)踐指南。

          這些實(shí)踐遍布閑魚各大業(yè)務(wù)線和應(yīng)用場景,為你使用Flutter打造自己的研發(fā)體系探索一條實(shí)踐之路。

          Flutter的深入進(jìn)階教程

          在獲得開源工具與開發(fā)實(shí)踐指南后,你還將在本書中學(xué)到Flutter的更多應(yīng)用場景。

          它們包括了如何低成本實(shí)現(xiàn)Flutter富文本、設(shè)計(jì)一個(gè)高準(zhǔn)確率的Flutter埋點(diǎn)框架、Flutter外接紋理、可定制化的Flutter相冊組件等等深入進(jìn)階內(nèi)容。

          目前本書的電子版開放下載(30M左右 ,請開啟wifi環(huán)境),我已經(jīng)幫大家下載好了。

          長按二維碼2秒關(guān)注:GitHub中文社區(qū)

          回復(fù)”Flutter技術(shù)“ 獲取該P(yáng)DF

          長按二維碼2秒關(guān)注

          好文點(diǎn)個(gè)在看吧!
          瀏覽 43
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  欧美三级网页 | 91国产网站 | 免费的黄色国产视频 | 久久精品在线视频 | 欧美黄色免费观看 |