什麼是 HTML5plusDCloud 公司提供的,使用傳統 web 技術開發行動應用的解決方案。本文主要和大家分享HTML5plus行動應用程式的開發實例分享,希望能幫助大家。
增強版的手機瀏覽器引擎,讓HTML5達到原生水準!
產品口號,總是會有些誇張的成分,不要在意這些細節。
Tips
HTML5plus 名字太長,因而又稱 HTML5+,或簡稱 5+。
使用該引擎開發的行動應用,又稱為 5+App。
相關的 SDK,稱為 5+SDK。
使用方式
Runtime
即是使用 DCloud 公司的另一款產品 HBuilder,直接進行開發除錯。
SDK
將 5+SDK 整合到自己的原生應用程式中,就可以在應用程式中使用其擴充的 JS API。
區別
Runtime 方式可以直接使用 DCloud 提供的雲端打包,不需要本地建置打包環境。
Runtime 方式無需掌握原生開發的能力,合理使用擴充的 API 即可。
SDK 方式可以滿足更多的需求,但需要掌握原生開發的能力。
簡單地理解下
Runtime 方式,不需要開發者自己開發原生應用程式的基座部分,5+ 這邊幫開發者做好了,只需要提交應用資源雲端打包就行了。
SDK 方式則不同,這種情況是在原有的原生應用基座基礎上,擴展 5+SDK。因而,需要開發者自行建構原生開發的環境,進行部分原生開發的工作。
基本架構
依照官方的文件說明 Android平台第三方外掛程式開發指導,大體分為三層結構。這裡為了更方便理解,擴展成四個部分來說明。
Webview
可以理解為簡單的瀏覽器,HTML、CSS、JavaScript 都在這裡。
plus
這部分在Webview 中,在原有的瀏覽器環境基礎上,擴充可以呼叫原生功能的API,這些API 都在window.plus
這個對象裡面。
JS Bridge
負責連結 JavaScript 層與 Native 層。
接收 JavaScript 層傳過來的請求,通知 Native 層做出對應的回應。
接收 Native 層回應的結果,通知 JavaScript 層接收結果。
Native
即 Android 和 iOS,也是 HTML5plus 的核心關鍵部分。
一次呼叫執行的程序
以取得應用程式版本號為例
plus.runtime.version;
JS 層呼叫
plus.runtime.version
,Webview 向JS Bridge 發起請求。JS Bridge 接收請求,通知 Native 層讀取應用程式版本號資訊。
Native 層執行拿到結果,通知 JS Bridge 層對應結果。
JS Bridge 拿到 Native 層對應的結果,通知對應的 Webview 結果資訊。
JS 層取得到應用的版本資訊。
吐槽一下
個人認為,每個產品每家公司,都有其自身的設計理念以及經營策略。不同的用戶,總會有不同的需求和看法。
因此,做技術選型時一定要搞清楚自己的需求和被研究的產品資訊。在DCloud 的社群中,經常出現“怎麼沒有XXX API”,“為什麼不整合XXX SDK”,“不會原生開發,希望官方能夠擴展XXX API”等等類似的貼文。至於出現這類問題的具體原因,大家都有自己的理解,這裡不做討論。
做技術選型時,最好親自動手做下嘗試。不要期望產品供應方給你最佳答复,因為人家不會傻傻地把用戶往外推。
------華麗麗分割線------
下面,分享一下個人使用的經驗和心得,希望可以幫助其他開發者在技術選型時做個參考。
優點
學習成本低,只要掌握了基本的 web 開發能力,即可上手。
雲端打包,不必本地建置 Android 與 iOS 開發環境,進行打包處理。
一套程式碼,只要做少許的相容處理,即可編譯成 Android 和 iOS 兩個套件。
沒想到,要討論補充吧。
不足
plus.ModuleName.* 提供的API 有限,雖然有Native.js 這一產品,但是需要掌握一定的原生開發能力。
依賴手機本身的 Webview,因此在部分手機上效能並不理想。這一點,對於某些業務產品有一定的影響。
接著第1點,某些功能的實現,需要開發者自行整合 SDK 進行擴充。例如藍牙、應用後台常駐等。這一點,同樣需要開發者俱備原生開發的能力。
部分功能,由於相容性問題實現的並不完善。例如桌面圖示的角標等。當然,Android 的碎片化嚴重,有些不足可以理解。
文件內容,有些地方解釋地不夠清楚。另外,文檔的排版有點奇怪。
目前沒遇到其它坑了,也可能在下還不夠熟悉。
較合適範圍
綜合官方的案例展示,以及個人開發的經驗。總結下來,5+App 開發比較適合以下情況或產品:
新創公司,需要快速上線應用程式。
新聞資訊(36Kr)、電商(HiMall)、內容分享(楓橋居花卉)、外帶等大部分的 O2O 業務產品等等。
核心業務功能不依賴某些原生功能
#一部分企業應用,也可以根據特定需求情況而定。
不推薦情況
有些情況沒辦法一概而論,因而依照具體情況說明。
重度依賴某些原生功能,例如應用程式中需要實作地圖自訂的繪線、需要藍牙模組進行資料的通訊等等。
核心業務涉及即時通訊(IM),並且不希望使用第三方的 JS 版 SDK 的。
需要讀寫文件,例如錄製短影片、編輯圖片、編輯影片等。
某些較為「流氓」的功能,例如應用後台常駐、推送服務常駐等等。
控制應用程式的權限,例如禁止截圖之類的。這只能在原生層處理,而且 Android 的兼容你懂的。
上面許多情況都需要透過原生層的開發來解決,當然同時可以整合 5+SDK,相關的擴充 API 照用不誤。
同類產品
cordova
#apicloud
-
appcan
ionic
weex
#react native
補充:
- HBuilder 是一款 IDE,也是真機除錯時基座的名字。這兩個加起來,就是開發 5+App 的環境及工具。
- HTML5plus 的名字很多,DCloud 官網上寫的是 5+Runtime。負責擴充 JS API,實作 JS 呼叫原生功能。
- MUI 行動開發的 UI 框架,為了方便開發封裝了幾個涉及到 HTML5plus 的方法,經常被誤解。但它真的只是個 UI 框架,原生能力的呼叫和它沒關係。
如何使用微信開發者行動應用程式建立取得APP ID的詳細介紹(圖)#
以上是HTML5plus行動應用的開發實例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

H5的高級技巧包括:1.利用進行複雜圖形繪製,2.使用WebWorkers提升性能,3.通過WebStorage增強用戶體驗,4.實現響應式設計,5.利用WebRTC實現實時通信,6.進行性能優化和最佳實踐。這些技巧幫助開發者構建更動態、互動和高效的Web應用。

H5(HTML5)將通過新元素和API提升網頁內容和設計。 1)H5增強了語義化標記和多媒體支持。 2)它引入了Canvas和SVG,豐富了網頁設計。 3)H5的工作原理是通過新標籤和API擴展HTML功能。 4)基本用法包括使用創建圖形,高級用法涉及WebStorageAPI。 5)開發者需注意瀏覽器兼容性和性能優化。

H5帶來了多項新功能和能力,極大提升了網頁的互動性和開發效率。 1.語義化標籤如、增強了SEO。 2.多媒體支持通過和標籤簡化了音視頻播放。 3.Canvas繪圖提供了動態圖形繪製工具。 4.本地存儲通過localStorage和sessionStorage簡化了數據存儲。 5.地理位置API便於開發基於位置的服務。

HTML5帶來了五個關鍵改進:1.語義化標籤提升了代碼清晰度和SEO效果;2.多媒體支持簡化了視頻和音頻嵌入;3.表單增強簡化了驗證;4.離線與本地存儲提高了用戶體驗;5.畫布與圖形功能增強了網頁的可視化效果。

HTML5的核心特性包括語義化標籤、多媒體支持、離線存儲與本地存儲、表單增強。 1.語義化標籤如、等,提升代碼可讀性和SEO效果。 2.和標籤簡化多媒體嵌入。 3.離線存儲和本地存儲如ApplicationCache和LocalStorage,支持無網絡運行和數據存儲。 4.表單增強引入新輸入類型和驗證屬性,簡化處理和驗證。

H5提供了多種新特性和功能,極大地增強了前端開發的能力。 1.多媒體支持:通過和元素嵌入媒體,無需插件。 2.畫布(Canvas):使用元素動態渲染2D圖形和動畫。 3.本地存儲:通過localStorage和sessionStorage實現數據持久化存儲,提升用戶體驗。

H5和HTML5是不同的概念:HTML5是HTML的一個版本,包含新元素和API;H5是基於HTML5的移動應用開發框架。 HTML5通過瀏覽器解析和渲染代碼,H5應用則需要容器運行並通過JavaScript與原生代碼交互。

HTML5的關鍵元素包括、、、、、等,用於構建現代網頁。 1.定義頭部內容,2.用於導航鏈接,3.表示獨立文章內容,4.組織頁面內容,5.展示側邊欄內容,6.定義頁腳,這些元素增強了網頁的結構和功能性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器