新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 讓汽車運行基于HTML-5的應(yīng)用

讓汽車運行基于HTML-5的應(yīng)用

作者: 時間:2016-12-16 來源:網(wǎng)絡(luò) 收藏
汽車系統(tǒng)與外部世界的交互越來越多,比如與智能手機和云端的交互,因此迫切需要理解應(yīng)用是如何開發(fā)的、它們的可持續(xù)性以及用HTML5開發(fā)應(yīng)用與用傳統(tǒng)開發(fā)方法開發(fā)應(yīng)用之間的區(qū)別。管理HTML5與汽車信息娛樂系統(tǒng)之間的交互要求采用技術(shù)上先進(jìn)的方法才能獲得最佳結(jié)果,特別是最新HTML5集成面臨著很大的復(fù)雜性和支持挑戰(zhàn)。

將HTML5集成進(jìn)汽車系統(tǒng)所面臨的挑戰(zhàn)
第三方開發(fā)人員操控汽車空間時面臨著很多困難。可以肯定地說,汽車系統(tǒng)的安全保障是創(chuàng)建車載應(yīng)用時考慮的最重要因素,因為任何類型的性能妥協(xié)都會增加用戶的危險。應(yīng)用開發(fā)人員開發(fā)的應(yīng)用在汽車行駛過程中必須限制使用,并且不能中斷汽車系統(tǒng)的正常運行。只有專門配置的應(yīng)用才能訪問汽車的信息。
除了安全性外,還有其它技術(shù)性挑戰(zhàn)需要考慮。首先也是最重要的是,汽車系統(tǒng)中使用的技術(shù)必須在汽車整個生命期內(nèi)保持其適用性,并能得到良好的維護(hù)。汽車生命期平均為10年左右,不像智能手機只有大約2至3年的生命期。隨著新產(chǎn)品的不斷開發(fā),汽車技術(shù)也需要能夠不斷支持最新的技術(shù)標(biāo)準(zhǔn)。
另外還存在著確保汽車中使用方便的挑戰(zhàn)。如果汽車有多個屏幕(如抬頭單元、儀表群顯示器、高鑲嵌式顯示器等),所有應(yīng)用必須能夠同時運行,并能夠與全部屏幕進(jìn)行交互。此外,消費者期望他們的車載汽車應(yīng)用能夠像他們的智能手機應(yīng)用那樣,具有豐富的用戶界面、簡單的命令和輸入以及復(fù)雜的動畫效果。

在汽車系統(tǒng)中使用HTML5的好處
HTML5應(yīng)用的最大特點之一是,它們?nèi)菀组_發(fā),適合在各種移動設(shè)備上運行。與汽車系統(tǒng)的集成尤其重要,因為它們有基于自身特殊技術(shù)的要求。今天的市場上已經(jīng)充斥著大量與汽車系統(tǒng)有關(guān)的HTML5應(yīng)用(想想大量的音樂和GPS應(yīng)用吧),而且隨著無數(shù)開發(fā)人員熟悉并使用HTML5開展工作,未來基于HTML5的汽車應(yīng)用只會越來越多。
HTML5還配備有必要的基礎(chǔ)架構(gòu)用于汽車應(yīng)用開發(fā)。附加的好處是通過CSS(用于建立網(wǎng)頁的另外一種關(guān)鍵技術(shù))很容易改變應(yīng)用的風(fēng)格,從而使得這種自適應(yīng)過程能夠完美匹配多種平臺和云端技術(shù)。

創(chuàng)建HTML5解決方案的七個步驟
為了成功創(chuàng)建HTML5解決方案,開發(fā)人員應(yīng)該遵循以下幾個高層次的步驟:
創(chuàng)建瀏覽器——這是七個步驟中第一個也是最先進(jìn)的步驟,因為它涉及許可或自己創(chuàng)建一個瀏覽器并將它與目標(biāo)平臺整合在一起。通常會集成和優(yōu)化一些硬件與輸入方法,同時剔除不必要的組件,并進(jìn)行性能加速。可以利用有限的一些瀏覽器供應(yīng)商,如Dolphin、Obigo、Access Systems、ZetaKey。與第三方網(wǎng)絡(luò)瀏覽器提供商合作的關(guān)鍵優(yōu)勢是,能夠在汽車整個生命期內(nèi)開發(fā)和維護(hù)解決方案。另外一種方法是在Webkit瀏覽器基礎(chǔ)上開發(fā)自己的解決方案。Webkit瀏覽器可以是基于QT發(fā)行版,也可以從網(wǎng)絡(luò)獲得最新版本。還可以用更快的Javascript引擎(如谷歌的V8)進(jìn)一步優(yōu)化Webkit瀏覽器。最后一種方法是使用另外一種得到良好維護(hù)的開源瀏覽器,如基于谷歌的Chromium。
固有集成——瀏覽器可以進(jìn)一步集成一些固有組件。極具挑戰(zhàn)性的用戶界面任務(wù)可以利用瀏覽器插件或運行獨立的進(jìn)程用固有組件完成,這些組件將通過HTML/Socket服務(wù)器與HTML應(yīng)用進(jìn)行交互。這些組件例子包括媒體播放器、導(dǎo)航/地圖映射、免提電話整合等。對這種功能的訪問可以通過特定API提供給第三方應(yīng)用。
創(chuàng)建仿真環(huán)境——為了向第三方開發(fā)人員提供創(chuàng)建與測試他們應(yīng)用的能力,必須為每種臺式機操作系統(tǒng)(Windows,Mac及可能的Linux)提供仿真環(huán)境。仿真環(huán)境應(yīng)直接反映目標(biāo)平臺瀏覽器環(huán)境、通過用戶界面仿真硬件按鈕、能夠安裝和刪除應(yīng)用,并提供控制臺輸出和網(wǎng)絡(luò)應(yīng)用調(diào)試能力。
硬件按鈕的整合——在汽車系統(tǒng)中通常存在許多種控制方式,比如觸摸屏、方向盤按鈕、旋鈕等,它們必須被整合進(jìn)同一平臺。這些控制一般不推薦使用專門的API,要開發(fā)成標(biāo)準(zhǔn)導(dǎo)航控制(如用作改變活動焦點的tab控制的旋鈕)。然而,這些控制可以呈現(xiàn)擴展的JavaScript API,允許特定應(yīng)用以不同方式使用它們。瀏覽器可以檢查活動單元是否有注冊過的句柄用于專門的控制,如果有,則使用它的函數(shù)。如果沒有注冊過的句柄,瀏覽器可以求助于標(biāo)準(zhǔn)行為。
應(yīng)用JavaScript架構(gòu)——運行第三方應(yīng)用的能力是基于HTML5的汽車系統(tǒng)的主要要求和優(yōu)點之一。系統(tǒng)必須提供一個能夠下載、執(zhí)行應(yīng)用并且應(yīng)用間能流暢通信的平臺。下面的JavaScript部分提出并詳細(xì)介紹了一種可能的架構(gòu)。
私有軟件開發(fā)套件——諸如訪問汽車信息、GPS、診斷信息、駕駛狀態(tài)等附加功能在當(dāng)今汽車系統(tǒng)中很常見。為了提供更好的整合經(jīng)驗,系統(tǒng)也可以提供私有軟件開發(fā)套件(SDK),以便允許第三方應(yīng)用相互間的通信。這可以通過應(yīng)用能夠方便鏈接和使用的JavaScript API實現(xiàn)。建議將標(biāo)準(zhǔn)JavaScript API用于標(biāo)準(zhǔn)功能,如定位API(GPS),因為它允許應(yīng)用具有更好的可移植性,并且更容易開發(fā)。
多屏整合——汽車環(huán)境中的應(yīng)用可以在多個屏幕上操作,比如主應(yīng)用運行的中央棧顯示器以及諸如顯示附加信息(如互聯(lián)網(wǎng)收音機、下一個拐彎指令等)的儀表盤等其它顯示器。下面介紹和描述了一種可能的多屏架構(gòu)。

應(yīng)用JavaScript架構(gòu)例子

在使用JavaScript架構(gòu)時,可以通過標(biāo)準(zhǔn)HTML方法將HTML5實現(xiàn)為基本的用戶界面框架。一些抽象元素是通過JavaScript庫創(chuàng)建的,獨立的JavaScript組件和應(yīng)用則用于模塊化方法。針對更為復(fù)雜的用戶界面元素,可以用固有組件擴展瀏覽器。為了更加方便地進(jìn)行開發(fā)和應(yīng)用維護(hù),模塊之間需要保持獨立。jQuery之所以被用作基本用戶界面框架是因為可以得到第三方用戶界面小插件。用戶界面框架也可以作為jQuery的擴展。



應(yīng)用的生命期和窗口管理是通過應(yīng)用管理框架(AMF)進(jìn)行的,并且這些應(yīng)用通過div元素(用于通用組織型或格式化應(yīng)用)和iframe元素(內(nèi)聯(lián)浮動幀)獨立運行。應(yīng)用連接庫(ACL)是應(yīng)用程序與應(yīng)用框架管理這些獨立模塊之間的通信橋梁,應(yīng)用管理框架和應(yīng)用連接庫都使用JavaScript。
擴展JS庫是一個可選功能。鑒于所有事情使用純JS/HTML都能正確完成,因此這個功能是不必要的。它的作用是將固有的插件功能展示為JavaScript。

一個多屏架構(gòu)例子
如下圖所示,汽車系統(tǒng)可以使用高鑲嵌式顯示器(HMD)、儀表盤顯示器(ICD)或中央棧顯示器(CSD)運行多個應(yīng)用。這些應(yīng)用通過AppHost(Qt)與系統(tǒng)內(nèi)部消息模塊(ISM)進(jìn)行通信。ISM允許應(yīng)用廣播消息或注冊消息收聽者。AppHost將消息廣播到其它主機,隨即被翻譯成JavaScript,并廣播回ISM。屏幕之間的動畫或其它用戶界面同步也可以使用這種機制。





HTML5的好處遠(yuǎn)勝過挑戰(zhàn)
即使成功創(chuàng)建HTML5系統(tǒng)的主要挑戰(zhàn)是搭建和維護(hù)一個最優(yōu)化的瀏覽器,但專門為汽車系統(tǒng)這樣做將允許汽車在整個生命期內(nèi)保持不落伍。然而,還必須考慮到其它一些重要的汽車特殊因素,包括特殊的汽車人機界面和多屏系統(tǒng)。
上述高層架構(gòu)提供了一種解決其中一些特殊汽車難題的有效方法,有效激發(fā)了HTML5在汽車領(lǐng)域中大規(guī)模應(yīng)用的潛能。


關(guān)鍵詞: 汽車HTML-5信息娛

評論


技術(shù)專區(qū)

關(guān)閉