国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

跨平臺開發(fā)方案的三個時代

這篇具有很好參考價值的文章主要介紹了跨平臺開發(fā)方案的三個時代。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

跨平臺開發(fā)從本質(zhì)上講是為了增加業(yè)務(wù)代碼的復(fù)用率,減少因為要適配多個平臺帶來的工作量,從而降低開發(fā)成本。在提高業(yè)務(wù)專注度的同時,能夠為用戶提供一致的用戶體驗,實現(xiàn)“多快好省”的效果。

跨平臺是跨哪些平臺?怎么樣的跨平臺邏輯?從當(dāng)前的實際情況來看,移動端跨平臺需求主要集中在以下3點:

  • 桌面端跨移動端:桌面向移動端過渡的早期,希望 PC Web 與移動 Web 復(fù)用同一套代碼。
  • Native 跨 Web:一套功能差不多的 Web 頁能夠在端外訪問,需要跨 Native App 與 Web。
  • 跨系統(tǒng)雙端:出于開發(fā)效率等原因,希望 Android、iOS 雙端復(fù)用一套業(yè)務(wù)代碼,這也是目前主要的需求點。

而放眼未來,我們預(yù)見可能還會有這些跨平臺需求:

  • 跨小程序/輕應(yīng)用:即用即走的輕量級應(yīng)用,如各平臺的小程序、 Android 快應(yīng)用、iOS App Clips。
  • 跨 IoT 設(shè)備:各種有顯示屏的設(shè)備都會成為新的入口,如車載設(shè)備、智能電視等。

移動跨平臺方案的發(fā)展

不僅是移動應(yīng)用的開發(fā)模式在持續(xù)的演變,跨平臺開發(fā)方案也緊緊的跟隨著開發(fā)模式的變化持續(xù)的演進(jìn),按照技術(shù)的發(fā)展,跨平臺方案可以分為三個時代。

1、Web 容器時代

基于 Web 相關(guān)技術(shù)通過瀏覽器組件來實現(xiàn)界面及功能,典型的框架包括 Cordova、Ionic 和微信小程序。Web 時代的方案,主要采用的是原生應(yīng)用內(nèi)嵌瀏覽器控件 WebView的方式進(jìn)行 HTML5 頁面渲染,并定義 HTML5 與原生代碼交互協(xié)議,將部分原生系統(tǒng)能力暴露給 HTML5,從而擴(kuò)展 HTML5 的邊界。這類交互協(xié)議,就是我們通常說的 JS Bridge。

跨平臺開發(fā)方案的三個時代

2、泛 Web 容器時代

采用類 Web 標(biāo)準(zhǔn)進(jìn)行開發(fā),但在運行時把繪制和渲染交由原生系統(tǒng)接管的技術(shù),代表框架有 React Native、Weex 和快應(yīng)用等。過渡到泛 Web 容器時代,優(yōu)化了 Web 容器時代的加載、解析和渲染這三大過程,把影響它們獨立運行的 Web 標(biāo)準(zhǔn)進(jìn)行了裁剪,以相對簡單的方式支持了構(gòu)建移動端頁面必要的 Web 標(biāo)準(zhǔn)(如 Flexbox 等),也保證了便捷的前端開發(fā)體驗;同時,這個時代的解決方案基本上完全放棄了瀏覽器控件渲染,而是采用原生自帶的 UI 組件實現(xiàn)代替了核心的渲染引擎,僅保持必要的基本控件渲染能力,從而使得渲染過程更加簡化,也保證了良好的渲染性能。

跨平臺開發(fā)方案的三個時代

?

3、自繪引擎時代

自帶渲染引擎,客戶端僅提供一塊畫布即可獲得從業(yè)務(wù)邏輯到功能呈現(xiàn)的多端高度一致的渲染體驗。Flutter,是為數(shù)不多的代表。Flutter 開辟了一種全新的思路,即從頭到尾重寫一套跨平臺的 UI 框架,包括渲染邏輯,甚至是開發(fā)語言。

跨平臺開發(fā)方案的三個時代

移動跨平臺技術(shù)方案的對比

對比現(xiàn)有的跨平臺技術(shù)和解決方案也可以分為三類,分別是 Web 跨端、容器跨端、小程序跨端。

1、Web 跨端

Web 跨端比較好理解,因為 Web 與生俱來就有跨端的能力,因為只要有瀏覽器或 WebView,現(xiàn)在絕大多數(shù)端上(甚至包括封閉的小程序生態(tài))都支持 Webview,所以只要開發(fā)網(wǎng)頁然后投放到多個端即可輕松跨平臺,例如 Web App、PWA(Progressive Web Apps)、Hybrid App、PHA(Progress Hybrid App)。

優(yōu)點:

  • 沒有額外的學(xué)習(xí)成本,一套基礎(chǔ)技術(shù)吃天下
  • 不依賴特殊的配套設(shè)施,從開發(fā)、調(diào)試到運維等所有工程化環(huán)節(jié)都是通用的
  • 背靠 npm 龐大的生態(tài),百萬模塊,應(yīng)有盡有

缺點:文章來源地址http://www.zghlxwxcb.cn/news/detail-493741.html

  • 經(jīng)常會遇到白屏、卡頓等情況,用戶的體驗不佳
  • 無法調(diào)用系統(tǒng)的權(quán)限,例如多媒體、藍(lán)牙、相機(jī)等
  • 性能不好,對內(nèi)存的消耗大

2、容器跨端

另一種統(tǒng)一多端的思路是將 Native 定制成標(biāo)準(zhǔn)容器,讓同一份代碼跑在一個個標(biāo)準(zhǔn)容器中。比較典型的代表是React Native 、Flutter、Weex,這類方案通過盡可能的取長補(bǔ)短,綜合了 Web 生態(tài)和 Native 組件,讓 JS 執(zhí)行代碼后用 Native 的組件進(jìn)行渲染,以解決拋棄 Web 歷史包袱的問題。

具體來講 React Native 可以跨 Android、iOS、Web、Windows 四端,F(xiàn)lutter 可以跨 Android、iOS、Web、Linux 四端,Weex 可以跨 Android、iOS、Web 三端。

優(yōu)點:

  • Flutter 快速的開發(fā),富有表現(xiàn)力的精美UI和類似本機(jī)的性能
  • React Native 專注于用戶界面,使應(yīng)用程序開發(fā)人員能夠構(gòu)建高度可靠的界面
  • Weex 頁面就像開發(fā)普通網(wǎng)頁一樣;在渲染 Weex 頁面時和渲染原生頁面一樣

缺點:

  • React Native 沒有提供的需要自定義的應(yīng)用,仍然需要使用原生開發(fā)
  • Flutter 構(gòu)建的應(yīng)用程序文件很大,沒有廣泛的資源基礎(chǔ),這意味著可能找不到開發(fā)所需的第三方庫和包
  • Weex 由于起步比較晚,社區(qū)活躍度不如RN,資料和開源項目也相對較少

3、小程序跨端

小程序跨端也比較好理解,就是讓同樣代碼的小程序能夠運行在多個 App 中,例如開發(fā)完一個小程序除了讓其運行在微信之外,還能運行在支付寶、百度等超級App,甚至是自己的 App 中。

如果說小程序仍然是依靠 Web 技術(shù)運行的,那為什么還要單獨去使用小程序呢?就像前面所說到的一樣,Web 始終沒法調(diào)用例如相機(jī)、藍(lán)牙等這樣的權(quán)限,并且用戶使用體驗會收到一定的影響。而小程序則不同,小程序具有強(qiáng)大的 Web 渲染引擎、提供豐富組件、支持本地緩存、避免 DOM 泄露等,并且其初衷是開放,例如微信、支付寶這樣的超級 App 也都相繼開放了小程序上架能力,小程序逐漸成為跨 App 的正規(guī)方式。

后期也甚至出現(xiàn)了例如 FinClip 這樣的小程序容器,可以讓個人或企業(yè)自己的 App 具備小程序的運行能力,讓其他 App 能夠具有超級 App 一致的小程序跨端能力。同時通過Flutter、Taro、 kbone等開發(fā)出來的小程序均可在FinClip當(dāng)中運行。

優(yōu)勢:

  • 具備類似 Native App 的體驗度,使用較為流暢絲滑
  • 可以獲取用戶的相冊、多媒體、藍(lán)牙等基礎(chǔ)權(quán)限
  • 可以通過便捷化的上下架方式完成相關(guān)頁面和業(yè)務(wù)的熱更新

缺點:

  • 大平臺的框架標(biāo)準(zhǔn)不統(tǒng)一,會稍微有影響,但都大同小異,W3C也在做小程序的標(biāo)準(zhǔn)化工作
  • 部分的插件會用到原生相關(guān)的技術(shù)

到了這里,關(guān)于跨平臺開發(fā)方案的三個時代的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 盤點| 三種移動跨平臺方案

    跨平臺技術(shù)是前端人必備技能,今天就來為大家解讀一下近幾年業(yè)界主流的三大移動端跨平臺方案: Web 天然跨平臺: Web App、PWA(Progressive Web Apps)、Hybrid App、PHA(Progress Hybrid App)都可以實現(xiàn)跨平臺,WebView 是一種基于瀏覽器內(nèi)核的跨平臺解決方案,通過在移動應(yīng)用中嵌入一

    2024年02月08日
    瀏覽(32)
  • 微信跨平臺方案Donut快速上手

    微信跨平臺方案Donut快速上手

    Donut 是微信開發(fā)出的多端框架,用于支持使用小程序原生語法開發(fā)移動應(yīng)用的框架,開發(fā)者可以一次編碼,就可以編譯出小程序和 Android 以及 iOS 應(yīng)用,實現(xiàn)多端開發(fā)。能夠幫助企業(yè)有效降低多端應(yīng)用開發(fā)的技術(shù)門檻和研發(fā)成本,以及提升開發(fā)效率和開發(fā)體驗。 目前,Donut已

    2024年02月14日
    瀏覽(48)
  • 跨平臺開發(fā)技術(shù)

    跨平臺開發(fā)技術(shù)

    個人搜集資料并總結(jié)了一些跨平臺開發(fā)技術(shù),如有不足歡迎指正。 1.簡介 QT是一個跨平臺的C++圖形用戶界面應(yīng)用程序框架。它為應(yīng)用程序開發(fā)者提供建立藝術(shù)級圖形所需的所有功能。它是完全面向?qū)ο蟮?,容易擴(kuò)展,并且允許真正的組件編程。 2.優(yōu)勢 使用Qt開發(fā)的程序可以運

    2024年02月08日
    瀏覽(91)
  • 跨平臺低延遲RTSP轉(zhuǎn)RTMP推送技術(shù)方案探討

    跨平臺低延遲RTSP轉(zhuǎn)RTMP推送技術(shù)方案探討

    實現(xiàn)RTSP攝像頭數(shù)據(jù)轉(zhuǎn)RTMP推送到服務(wù)器,可以用第三方庫或者工具實現(xiàn),總體設(shè)計架構(gòu)如下: ? 一個好的轉(zhuǎn)發(fā)模塊,首先要低延遲!其次足夠穩(wěn)定、靈活、有狀態(tài)反饋機(jī)制、資源占用低,跨平臺,最好以接口形式提供,便于第三方系統(tǒng)集成,整體功能設(shè)計如下: 1. 拉流: 通

    2024年02月13日
    瀏覽(20)
  • C語言跨平臺游戲開發(fā)

    通常我們認(rèn)為, 純C (即不使用C艸)很難實現(xiàn)跨平臺的游戲。這是由于它支持的圖形庫非常少,一般需要調(diào)用系統(tǒng)句柄才能進(jìn)行圖形化。但是很顯然這是一個及其費時費力還容易出錯的方式。所以,在這篇文章里,我希望給大家介紹一些 比較 輕松的制作C語言的跨平臺游戲的

    2023年04月15日
    瀏覽(19)
  • 【uniapp&微信小程序】跨平臺使用echarts的方案選擇&踩坑

    【uniapp&微信小程序】跨平臺使用echarts的方案選擇&踩坑

    使用Uniapp(vue)開發(fā)微信小程序,想用echarts圖表實現(xiàn)類似github熱力圖的效果。 簡要列一些可行或不可行的方案。 有echarts官網(wǎng)提供的跨平臺方案:在微信小程序中使用 ECharts 簡單易用,圖表齊全 renderjs-echarts-demo 可參考的使用總結(jié) render.js+echarts echarts圖表在移動端的應(yīng)用 支持

    2024年02月13日
    瀏覽(199)
  • web自動化測試——跨平臺設(shè)備管理方案Selenium Grid

    web自動化測試——跨平臺設(shè)備管理方案Selenium Grid

    Selenium Grid 是 Selenium 的三大組件之一,它可以在多臺機(jī)器上并行運行測試,集中管理不同的瀏覽器版本和瀏覽器配置。通過將客戶端命令發(fā)送到遠(yuǎn)程瀏覽器的實例, Selenium Grid 允許在遠(yuǎn)程計算機(jī) (虛擬或真實) 上執(zhí)行 WebDriver 腳本. 它旨在提供一種在多臺計算機(jī)上并行運行測試的

    2024年02月08日
    瀏覽(24)
  • .NET Core使用SkiaSharp快速生成二維碼( 真正跨平臺方案)

    .NET Core使用SkiaSharp快速生成二維碼( 真正跨平臺方案)

    在.NET 6之前我們一直是使用QRCoder來生成二維碼(QRCoder是一個非常強(qiáng)大的生成二維碼的組件,用到了 System.Drawing.Common ?包),然后從.NET 6開始,當(dāng)為非 Windows 操作系統(tǒng)編譯引用代碼時,平臺分析器會發(fā)出編譯時警告。異常如下: 由于 System.Drawing.Common 被設(shè)計為 Windows 技術(shù)的精

    2024年01月20日
    瀏覽(105)
  • 前端移動端開發(fā)分類及跨平臺開發(fā)框架簡述

    前端移動端開發(fā)分類及跨平臺開發(fā)框架簡述

    前端移動端主流分為以下三種:Native App ,Hybrid App ,Web App 優(yōu)點: (1)用戶體驗好 (2)性能穩(wěn)定 (3)操作速度快 (4)能夠訪問本地資源(通訊錄,相冊) (5)能夠設(shè)計出色的動效,轉(zhuǎn)場 (6)擁有系統(tǒng)級別的貼心通知或提醒 (7)用戶留存率高 缺點: (1)開發(fā)成本高

    2024年02月04日
    瀏覽(98)
  • 我想開發(fā)一款跨平臺桌面軟件,請告訴我qt、electron、tauri、pyqt、flutter分別適合開發(fā)哪些跨平臺桌面

    我想開發(fā)一款跨平臺桌面軟件,請告訴我qt、electron、tauri、pyqt、flutter分別適合開發(fā)哪些跨平臺桌面

    不同的跨平臺桌面開發(fā)工具適用于不同的應(yīng)用場景和開發(fā)者需求。以下是關(guān)于 Qt、Electron、Tauri、PyQt、Flutter 的簡要說明,以幫助你更好地選擇適合你項目的工具: Qt: 適用場景: Qt 是一個強(qiáng)大的 C++ 框架,適用于開發(fā)需要高性能和原生外觀的桌面應(yīng)用。它具有廣泛的平臺支持

    2024年02月22日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包