日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

跨平台技术栈

發(fā)布時(shí)間:2025/3/19 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跨平台技术栈 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

跨平臺(tái)技術(shù)棧可以做到多平臺(tái)支持,但是原理完全不同。

跨平臺(tái)技術(shù)棧的框架,都是使用自己的語(yǔ)法編寫頁(yè)面,不使用 Web 技術(shù),編譯的時(shí)候再將其轉(zhuǎn)為原生控件,或者使用自己的底層控件,生成原生 App。這樣就完全解決了 Web 頁(yè)面性能不佳的問(wèn)題。下面介紹三個(gè)這樣的框架。

  • React Native: 使用 JavaScipt 語(yǔ)言編寫頁(yè)面
  • Xamarin:使用 C# 語(yǔ)言編寫頁(yè)面
  • Flutter:使用 Dart 語(yǔ)言編寫頁(yè)面
  • React Native

    (1)原理

    2013年, Facebook 公司發(fā)布了 React 框架。這個(gè)框架是為網(wǎng)頁(yè)開(kāi)發(fā)設(shè)計(jì)的,核心思想是在網(wǎng)頁(yè)之上,建立一個(gè) UI 的抽象層,所有數(shù)據(jù)操作都在這個(gè)抽象層完成(即在內(nèi)存里面完成),然后再渲染成網(wǎng)頁(yè)的 DOM 結(jié)構(gòu),這樣就提升了性能。

    很快,工程師們就意識(shí)到了,UI 抽象層本質(zhì)上是一種數(shù)據(jù)結(jié)構(gòu),與底層設(shè)備無(wú)關(guān),不僅可以渲染成網(wǎng)頁(yè),也可以渲染成手機(jī)的原生頁(yè)面。這樣的話,只要寫一次 React 頁(yè)面,就能分別編譯成 iOS 和安卓的原生 App。這就是 React Native 項(xiàng)目的由來(lái)。
    注意,React Native 雖然也使用 JavaScript 語(yǔ)言,并且寫法看上去像 Web 頁(yè)面,但其實(shí)所有控件都是自己定義的,編譯時(shí)再一一翻譯為對(duì)應(yīng)的原生控件。舉例來(lái)說(shuō),React Native 的文本渲染控件是,翻譯成 iOS 控件為UIView,翻譯成安卓控件為TextView。這種做即保證了性能,又做到了跨平臺(tái)支持,所以一誕生就引起開(kāi)發(fā)者的關(guān)注,成了熱門技術(shù)。

    Xamarin

    Xamarin 是微軟公司的跨平臺(tái) App 開(kāi)發(fā)框架,原理跟 React Native 很相似,只不過(guò)它的語(yǔ)言是 C#。

    Flutter

    Flutter 是谷歌公司最新的跨平臺(tái)開(kāi)發(fā)框架。它為了解決 React Native 的平臺(tái)差異問(wèn)題,采用了一個(gè)完全不同的方案。

    它自己實(shí)現(xiàn)了一套控件。打包的時(shí)候,會(huì)把這套控件打包進(jìn)每一個(gè) App,因此不存在調(diào)用原生控件的問(wèn)題。不管什么平臺(tái),都調(diào)用內(nèi)嵌的自己那套控件,就能做到 iOS 和安卓體驗(yàn)完全一致。

    Flutter 歷史還不長(zhǎng),應(yīng)用還不廣泛,API 也沒(méi)穩(wěn)定下來(lái)。但是很值得關(guān)注。

    總結(jié)

    以上是生活随笔為你收集整理的跨平台技术栈的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。