我們常說的流應用到底是什么?

流應用是DCloud公司開發的一種可以讓手機App安裝包實現邊用邊下的技術。基于HTML5+規范的即點即用應用,開發者按照HTML5+規范開發的應用,可以在支持HTML5+流應用的發行渠道實現即點即用的效果。

流應用是基于?HTML5+規范的即點即用應用,開發者按照 HTML5+規范開發的應用,可以在支持 HTML5+流應用的發行渠道實現即點即用的效果。

流應用

流應用是?DCloud?公司開發的一種可以讓手機 App 安裝包實現邊用邊下的技術。利用 js 的動態語言特點,把手機端 App 的安裝包拆解,流式下載到手機端。類似流媒體邊看邊下一樣,流應用也可以邊用邊下。再輔以特殊的壓縮解碼技術,使得流應用可以在 5 秒內完成 App 的下載-安裝-啟動全過程。

DCloud 流應用引擎是一款基于 HTM5+的技術的增強型 js 引擎,它首先對 H5 進行了大幅強化,讓 js 可以調用 40 萬原生能力,并且大幅提升了 H5 的性能體驗。經過強化過后,使得基于 HTML5+開發的流應用可以達到原生應用的標準。

邊用邊下依賴于動態語言的支持,所以流應用的客戶端安裝包是使用 HTML 和 JS 這種動態語言來編寫的,但是為了保證 App 的功能和體驗仍然是原生效果,使用了經過強化的 js 引擎,這種稱之為 HTML5+的引擎可以使得 js 調用幾十萬原生 API,包括離線使用、本地設備能力調用以及強化的渲染引擎,使得流應用仍然做到了和原生一樣的功能和體驗。

流應用的離線能力并非 web 緩存,是原生存儲,不會被三方清理軟件清理緩存而導致流應用失效。流應用結合了原生 App 和 Web App 的優勢,又消除了各自的缺點,雖然是體驗良好的 c/s 結構,但又讓 client 秒開秒更新,是移動互聯網 App 的更高級形態。

流應用即點即開,無需下載安裝,即可以保證離線運行,又能夠使用所有原生的能力。流應用類似流媒體,在應用第一次安裝時,動態下載首頁的程序及相關資源,快速打開 App 首頁,并持續下載后續程序,下次可離線從本機運行。

在功能和體驗與原生接近的前提下,流應用擁有原生 App 也無法比擬的 6 大特點:

1.以往獲取一個 App 要經歷下載、安裝、啟動等過程,至少一分鐘,點擊若干次。而流應用做到了 5 秒開完成全部過程。以往 App 從下載到啟動激活的激活率不足 50%,而流應用的激活率在 95%以上。

2.流應用比原生 App 的包體積縮小至原來的 10%,安裝幾千個流應用也不會讓手機變卡變費電。

3.流應用更新是在使用時自動差量更新,一般每次更新消耗幾 K 流量左右。流應用可以方便的通過社交網絡分享。

4.可以方便的進入到 App 的內容頁面,可以實現搜索直購、掃描直購、分享直購等各種營銷新方式。

5.流應用基于 HTML5,使用 DCloud 的 MUI 框架開發流應用,可以自動兼容多個平臺。

流應用的重要前提是功能和體驗要足夠好,達到原生 App 的效果。過去業內也有 HTML5 強化引擎或 hybrid 方案,比如 phonegap/cordova,但其在功能和性能上與原生應用相差還非常遠。HTML5+做到了這一點,傳統 HTML5 效果不佳的窗體切換、長列表滾動、下拉刷新、大容量選項卡切換等問題都被解決,體驗流暢,用戶很難感知到與原生的區別。而且 HTML5+強化引擎使得 js 可以調用原生幾十萬 API,掃一掃、搖一搖、開關藍牙、獲取 IMEI 等各種原生 API 都可以隨意使用。

■ 流應用小結?■

流應用是一種實時應用程序,它以流的形式實時交換數據。它與Web應用程序的主要區別在于,流應用程序通常不需要用戶發送HTTP請求,數據可以以持續的方式發送。

流應用程序通常使用特定的協議來傳輸數據,例如HTTP流,WebSocket或TCP。許多流應用程序使用持續連接來提高性能,因為它們不需要每次傳輸數據都重建連接。

這種方法為開發人員提供了更多的靈活性,以便他們可以與來自不同領域的客戶端交互,例如多媒體應用程序,社交網絡應用程序和虛擬現實應用程序等。

開發人員可以將流應用程序用于多種不同的目的,包括推送到客戶端的實時消息,交易處理,流媒體內容傳輸,可視化多媒體內容傳輸,社交網絡管理,流應用程序管理,以及機器學習和深度學習等等。

例如,流應用程序可以用于實時更新交易信息,例如股票市場的實時交易信息。使用流應用程序可以實現低延遲的實時交互,并顯著地提高客戶端體驗。

此外,與傳統的web應用程序不同,流應用程序使開發人員能夠構建更輕,更可擴展的應用程序,因為它們只需要使用更少的步驟就可以完成任務,基本上可以說,它們可以迅速地構建出功能強大的應用程序,并且能夠以更簡單,更高效的方式推送消息和內容。

因為它們旨在提供實時,有效的信息,因此流應用程序具有廣泛的應用,并在諸如財務數據和媒體視頻方面越來越受歡迎。事實上,在最近幾年,流應用程序一直在不斷地發展和繼續成長,已經成為許多應用領域,特別是移動應用程序開發和互聯網應用程序開發的基礎。


? 番外:關于HTML5 和 HTML5+

HTML5

就是傳統意義上的 HTML5。目前最新的 HTML 規范,互聯網的下一代標準,W3C 聯盟制定,手機端主要由 webkit 實現規范,對用戶來說就是瀏覽器實現了它。

HTML5+ / HTML5Plus

通過 HTML5 開發移動 App 時,會發現 HTML5 很多能力不具備。為彌補 HTML5 能力的不足,在 W3C 中國的指導下成立了中國HTML5+產業聯盟,推出 HTML5+ 規范。

HTML5+ 擴展了 JS 對象 plus,使得 JS 可以調用各種瀏覽器無法實現或實現不佳的系統能力,設備能力如攝像頭、陀螺儀、文件系統等,業務能力如上傳下載、二維碼、地圖、支付、語音輸入、消息推送等。同時實現了 Android 和 IOS 的解析引擎,使得開發者的代碼編寫一次,可跨平臺運行。

除了功能外,HTML5+ 很重要的特點是提供了原生的渲染能力,通過 plus.webview、 plus.nativeObj、 plus.nativeUI,讓開發者可以使用 JS 來調用原生渲染能力,實現體驗的大幅提升。

原生的 API 多達 40 萬,HTML5+ 的封裝并非把 40 萬 API 都封裝了一遍,而是分成了 2 個層面:HTML5+ 規范和Native.js

Native.js

手機 OS 的原生 API 有四十多萬,大量的 API 沒有被 HTML5+ 封裝。所以 Native.js 把四十多萬原生 API 映射成了 JS 對象,通過 JS 可以直接調 IOS 和 Android 的原生 API。這部分就不再跨平臺,寫法分別是 plus.ios 和 plus.android。

上面的 HTML5+ 就是 Native.js 一個實現好的子集。Native.js 不是 JS 框架,是技術!

使用 Native.js 需要對原生語法和 API 十分的了解,你至少要學過 Android 或者 IOS 開發,否則只能復制別人代碼。

HTML5+ Runtime / 5+ Runtime

HTML5+ Runtime 是 Native.js 的運行環境。相當于 .NET 之于 C#,JRE 之于 JAVA,有把 Native.js 映射到 JAVA 和 ObjectC 代碼的原生 API 功能,從而實現原生的調用。

對于 HTML5+ Runtime 和 Native.js 的關系可以理解成:Native.js 是一種語言(語法基于 JS),HTML5+ Runtime 是這語言的運行環境!

HTML5+ SDK / 5+ SDK

軟件開發工具包,它和 Android SDK,IOS SDK 一樣。

HTML5+ SDK 是把 HTML5+ Runtime 封裝為原生 SDK ,它有 3 個用途:

  • 使用 HTML5+ SDK 實現本地打包。
  • 通過原生代碼擴展 HTML5+ Runtime 的功能。
  • 在現有原生項目中使用 HTML5+ SDK 替換原有的 webview,以獲得更強的 web 增強表現。

- 資料來源:uniapp、HTML5、HTML5+、HTML5+ Runtime、HTML5+ SDK、Native.js 名詞解釋


? 番外:原生App和webApp的區別小結

原生app和webapp的區別為:來源不同、開發成本不同、流暢度相對不同。

一、來源不同

1、原生app:原生app是與移動設備所安裝的操作系統所使用的同一種編程語言開發的APP。

2、webapp:webapp是由html5所做的網站通過一些打包平臺或者使用工具打包而成的軟件。

二、開發成本不同

1、原生app:原生app開發成本高,需要使用單獨的開發工具進行開發。

2、webapp:webapp開發成本低,不需要使用單獨的開發工具進行開發。

三、流暢度相對不同

1、原生app:原生app完美適配移動設備,流暢度相對較高。

2、webapp:webapp兼容適配移動設備,流暢度相對較低。

? 相關參考:原生app、webapp、混合app有哪些區別?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212586.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Nacos注冊中心客戶端容災

目前Nacos客戶端有一個FailoverReactor來進行容災文件的管理,可以通過在指定磁盤文件里寫入容災數據來進行客戶端使用數據的覆蓋。FailoverReactor目前會攔截Nacos客戶端查詢接口調用,以getAllInstances接口為例,目前FailoverReactor的工作流…

【合集】SpringBoot——Spring,SpringBoot,SpringCloud相關的博客文章合集

前言 本篇博客是spring相關的博客文章合集,內容涵蓋Spring,SpringBoot,SpringCloud相關的知識,包括了基礎的內容,比如核心容器,springMVC,Data Access;也包括Spring進階的相關知識&…

免費的網頁數據抓取工具有哪些?【2024附下載鏈接】

在網絡上,有許多網頁數據抓取工具可供選擇。本文將探討其如何全網采集數據并支持指定網站抓取。我們將比較不同的數據采集工具,幫助您找到最適合您需求的工具。 網頁數據抓取工具種類 在選擇網頁數據抓取工具之前,讓我們先了解一下這些工具…

TC397 EB MCAL開發從0開始系列 之 [21.2] FlsLoader配置實戰 - 擦除讀寫Pflash

一、FlsLoader配置1、配置目標2、目標依賴2.1 硬件使用2.2 軟件使用2.3 新增模塊3、EB配置3.1 配置講解3.2 模塊配置3.2.1 MCU配置3.2.2 PORT配置3.2.3 FlsLoader配置3.2.5 Irq配置3.2.6 ResourceM配置4、ADS代碼編寫及調試<

[ 藍橋杯Web真題 ]-布局切換

目錄 介紹 準備 目標 規定 思路 解法參考 介紹 經常用手機購物的同學或許見過這種功能&#xff0c;在瀏覽商品列表的時候&#xff0c;我們通過點擊一個小小的按鈕圖標&#xff0c;就能快速將數據列表在大圖&#xff08;通常是兩列&#xff09;和列表兩種布局間來回切換。…

電機:有刷直流電機的原理

一、什么是有刷直流電機 直流有刷電機&#xff08;Brushed DC Motor&#xff09;&#xff0c;定子是用永磁鐵或者線圈做成&#xff0c;以形成固定磁場。在定子一端上有固定碳刷&#xff0c;或者銅刷&#xff0c;負責把外部電流引入轉子線圈。而轉子是由線圈構成&#xff0c;線…

郵件營銷軟件:10個創新郵件營銷策略,提升投資回報率(一)

電子商務和電子郵件營銷密不可分。盡管電子商務在蓬勃發展&#xff0c;而很多人對郵件營銷頗有微詞。但是在電子商務中&#xff0c;郵件營銷的確是一種有效營銷方式。在本文中&#xff0c;我們將討論一下郵件營銷在電子商務中的有效運用&#xff0c;幫助您的企業在今年盡可能地…

2023-12-05 Qt學習總結6

點擊 <C 語言編程核心突破> 快速C語言入門 Qt學習總結 前言十八 QMessageBox消息對話框十九 Qt布局管理總結 前言 要解決問題: 學習qt最核心知識, 多一個都不學. 十八 QMessageBox消息對話框 QMessageBox消息對話框是Qt中的一個提供用戶交互界面的對話框窗口。 它通常…

MyBatis 四大核心組件之 ParameterHandler 源碼解析

&#x1f680; 作者主頁&#xff1a; 有來技術 &#x1f525; 開源項目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 倉庫主頁&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 歡迎點贊…

【圖片版】計算機組成原理考前復習題【第2章 運算方法和運算器-1】

目錄 前言 考前復習題&#xff08;必記&#xff09; 結尾 前言 在計算機組成原理的學習過程中&#xff0c;我們深入探索了計算機系統概述這一重要領域。計算機系統作為現代科技的核心&#xff0c;是整個計算機科學的基石。我們將學到的知識與理論轉化為了能夠解決現實問題的…

Python+unittest+requests接口自動化測試框架搭建 完整的框架搭建過程

首先配置好開發環境&#xff0c;下載安裝Python并下載安裝pycharm&#xff0c;在pycharm中創建項目功能目錄。如果不會的可以百度Google一下&#xff0c;該內容網上的講解還是比較多比較全的&#xff01; 大家可以先簡單了解下該項目的目錄結構介紹&#xff0c;后面會針對每個文…

docker 可視化工具操作說明 portainer

官網地址 https://docs.portainer.io/start/install-ce/server/docker/linux 1.First, create the volume that Port docker volume create portainer_data2.下載并安裝容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /var/run/docker…

PWN動態調試

這篇文章就是來教大家學習怎么動態調試的&#xff0c;然后我還寫了一篇關于動態調試的文章&#xff0c;不是buu上面的題&#xff0c;就是兩道簡單的棧溢出問題&#xff0c;那兩道題挺有特點的。大家可以去看看。 每日3道PWN之課外2道&#xff08;第2.5天&#xff09;-CSDN博客 …

C#暫停和恢復(Thread.Suspend()和Thread.Resume() vs AutoResetEvent()和EventWaitHandle())

目錄 一、Thread.Suspend()和Thread.Resume() 二、AutoResetEvent()和EventWaitHandle() 1.AutoResetEvent() 2.EventWaitHandle() 3.示例及生成效果 一、Thread.Suspend()和Thread.Resume() 自 .NET 2.0 以后&#xff08;含&#xff09;&#xff0c;Thread.Suspend() 和…

性能監控體系:InfluxDB Grafana Prometheus

InfluxDB 簡介 什么是 InfluxDB &#xff1f; InfluxDB 是一個由 InfluxData 開發的&#xff0c;開源的時序型數據庫。它由 Go 語言寫成&#xff0c;著力于高性能地查詢與存儲時序型數據。 InfluxDB 被廣泛應用于存儲系統的監控數據、IoT 行業的實時數據等場景。 可配合 Te…

SSD基礎架構與NAND IO并發問題探討

在我們的日常生活中&#xff0c;我們經常會遇到一些“快如閃電”的事物&#xff1a;比如那場突如其來的雨、那個突然出現在你眼前的前任、還有就是今天我們要聊的——固態硬盤&#xff08;SSD&#xff09;。 如果你是一個技術宅&#xff0c;或者對速度有著近乎偏執的追求&…

電阻知識總結與詳細選型指南

目錄 1. 基礎知識 1.1 電阻的定義和符號 1.2 電阻的公式 1.3 電阻的串聯與并聯 2. 參數選型 2.1 電阻值 2.2 功率 2.3 精度 2.4 溫度系數 2.5 電壓系數 2.6 包裝類型 2.7 耐壓 2.8 特殊應用需求 2.9 環保要求 3. 產品應用 3.1 電流限制和保護 3.2 電壓分壓和電…

【Qt開發流程】之容器類1:介紹及常用容器類和使用Java風格迭代器進行遍歷

概述 Qt庫提供了一組通用的基于模板的容器類。這些類可用于存儲指定類型的項。例如&#xff0c;如果需要一個可調整大小的QString數組&#xff0c;可以使用QVector<QString>。 這些容器類被設計成比STL容器更輕、更安全、更易于使用。如果不熟悉STL&#xff0c;或者更喜…

低多邊形3D建模石頭材質紋理貼圖

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

云計算在計算機領域的應用與發展

云計算在計算機領域的應用與發展 一、引言 隨著科技的不斷發展&#xff0c;計算機領域已經成為當今社會最為活躍和創新的領域之一。云計算作為一種新興的計算模式&#xff0c;已經在計算機領域中得到了廣泛的應用&#xff0c;并且正在不斷地推動著計算機領域的發展。本文將探…