回覆列表
  • 1 # 非著名程式設計師

    未來 App 開發的主流模式,我認為不會是 H5 ,但是會是類 H5 開發那樣的跨平臺系統。

    我認為隨著手機效能的提升,不管是跨平臺的混合開發,還是原生開發,在體驗上來講,手機效能的提高,已經把混合開發與原生開發的體驗差距縮小到人們不在乎的程度了。

    目前,也就是這一年多超級火熱的開發方式就是 Flutter 。2018 年 12 月 5 日,谷歌公開發布 Flutter 1.0 版本, Flutter 正式成為全平臺框架,支援手機、Web、桌面電腦和嵌入式裝置,“一套程式碼、多端執行”。到目前,來講 Flutter 發展的還算順利,身邊好多開發 App 的同事都在開始用 Flutter 了。

    我為什麼看好 Flutter?

    Flutter 是谷歌的移動 UI 框架,可以快速在 iOS 和 Android 上構建高質量的原生使用者介面。 Flutter 可以與現有的程式碼一起工作。在全世界,Flutter 正在被越來越多的開發者和組織使用,並且 Flutter 是完全免費、開源的。

    它也是構建未來的 Google Fuchsia 應用的主要方式。

    框架特性可以說是:

    1、快速開發

    Flutter 的熱過載幫助你快捷方便的試驗、重構 UI、新增特性和修復 bug。在模擬器、模擬器和 ios、android 硬體上體驗亞秒級的過載,而不會丟失狀態。

    2、絢麗 UI

    透過 Flutter 內建的漂亮的質感設計和 Cupertino(ios-flavor)小工具、豐富的動畫 api,平滑的自然滾動和平臺感知,讓使用者感到滿意。

    3、響應式框架

    透過 Flutter 的現代響應式 (Reactive) 框架和豐富的平臺佈局和基礎元件輕鬆構建您的使用者介面。用強大而靈活的 apis 解決 2D、動畫、手勢、效果等難題。

    4、訪問原生功能

    透過平臺 api、第三方 sdk 和原生程式碼使您的應用變得生動起來。Flutter 讓您可以重用您現有的 java、swift 和 Objc 程式碼,並在 iOS 和 Android 上訪問原生特性和 SDK。

    Flutter 可以說是現在越來越到得重視,也有要火的趨勢,但是其官方程式語言為 Dart,也是一門全新的語言。所以說,上手成本比較高,對於移動端開發人員,語言以及框架都是全新的,整個技術棧的積累也都得從頭開始。

    Flutter 對於移動開發人員,最誘惑的能力是其完全的跨平臺特性,不同於 RN 這種一處學到處寫,它是一處寫到出跑。

    另外 Flutter 不同於市面上的其他解決方案,之前我們最常見的無非就是兩類,一個就是:使用平臺支援的 Web 技術,還一個就是本地跨平臺,比如:RN、Weex 等。但是 Flutter 跨平臺最核心的部分,是它的高效能渲染引擎(Flutter Engine)。Flutter 不使用瀏覽器技術,也不使用 Native 的原生控制元件,它使用自己的渲染引擎來繪製 widget。

    對於 Android 平臺,Flutter 引擎的 C/C++ 程式碼是由 NDK 編譯,在 iOS 平臺,則是由 LLVM 編譯,兩個平臺的 Dart 程式碼都是 AOT 編譯為原生代碼,Flutter 應用程式使用本機指令集執行。

    Flutter 正是是透過使用相同的渲染器、框架和一組 widget,來同時構建 iOS 和 Android 應用,而無需維護兩套獨立的程式碼庫。

    跨平臺開發,最終成敗可能還得看蘋果臉色

    我雖然非常看好跨平臺開發,非常看好 Flutter ,但是,其實從目前來講,世界最大得了兩個手機端移動作業系統, Android 和 iOS ,Android 我們不用說了,是開源的系統,沒有什麼x限制,想用什麼語言開發就用什麼開發,想採取什麼模式開發,就可以採取什麼模式開發。

    一個跨平臺最終的成敗好像還得看蘋果的臉色。比如,之前 RN 非常火,熱更新也非常火,蘋果說不讓你用,你就不能用。蘋果是一個封閉的生態系統,有自己的一套遊戲規則,你所有的東西,只要想在蘋果上使用,就必須遵守它的遊戲規則。都必須經過它的嚴格稽核。蘋果官方說:不能上架什麼語言開發的 App ,那這個語言,可能就不能開發跨平臺了,蘋果不能用,就不能談跨平臺了,也不能說能夠節約成本了,蘋果總得你自己開發一套啊!

    所以啊,蘋果的臉色也很重要。

  • 中秋節和大豐收的關聯?
  • “委婉”的近義詞和反義詞有哪些?