讓汽車(chē)運(yùn)行基于HTML5的應(yīng)用
汽車(chē)系統(tǒng)與外部世界的交互越來(lái)越多,比如與智能手機(jī)和云端的交互,因此迫切需要理解應(yīng)用是如何開(kāi)發(fā)的、它們的可持續(xù)性以及用HTML5開(kāi)發(fā)應(yīng)用與用傳統(tǒng)開(kāi)發(fā)方法開(kāi)發(fā)應(yīng)用之間的區(qū)別。管理HTML5與汽車(chē)信息娛樂(lè)系統(tǒng)之間的交互要求采用技術(shù)上先進(jìn)的方法才能獲得最佳結(jié)果,特別是最新HTML5集成面臨著很大的復(fù)雜性和支持挑戰(zhàn)。
本文引用地址:http://www.ex-cimer.com/article/201610/310016.htm將HTML5集成進(jìn)汽車(chē)系統(tǒng)所面臨的挑戰(zhàn)
第三方開(kāi)發(fā)人員操控汽車(chē)空間時(shí)面臨著很多困難。可以肯定地說(shuō),汽車(chē)系統(tǒng)的安全保障是創(chuàng)建車(chē)載應(yīng)用時(shí)考慮的最重要因素,因?yàn)槿魏晤?lèi)型的性能妥協(xié)都會(huì)增加用戶的危險(xiǎn)。應(yīng)用開(kāi)發(fā)人員開(kāi)發(fā)的應(yīng)用在汽車(chē)行駛過(guò)程中必須限制使用,并且不能中斷汽車(chē)系統(tǒng)的正常運(yùn)行。只有專(zhuān)門(mén)配置的應(yīng)用才能訪問(wèn)汽車(chē)的信息。
除了安全性外,還有其它技術(shù)性挑戰(zhàn)需要考慮。首先也是最重要的是,汽車(chē)系統(tǒng)中使用的技術(shù)必須在汽車(chē)整個(gè)生命期內(nèi)保持其適用性,并能得到良好的維護(hù)。汽車(chē)生命期平均為10年左右,不像智能手機(jī)只有大約2至3年的生命期。隨著新產(chǎn)品的不斷開(kāi)發(fā),汽車(chē)技術(shù)也需要能夠不斷支持最新的技術(shù)標(biāo)準(zhǔn)。
另外還存在著確保汽車(chē)中使用方便的挑戰(zhàn)。如果汽車(chē)有多個(gè)屏幕(如抬頭單元、儀表群顯示器、高鑲嵌式顯示器等),所有應(yīng)用必須能夠同時(shí)運(yùn)行,并能夠與全部屏幕進(jìn)行交互。此外,消費(fèi)者期望他們的車(chē)載汽車(chē)應(yīng)用能夠像他們的智能手機(jī)應(yīng)用那樣,具有豐富的用戶界面、簡(jiǎn)單的命令和輸入以及復(fù)雜的動(dòng)畫(huà)效果。
在汽車(chē)系統(tǒng)中使用HTML5的好處
HTML5應(yīng)用的最大特點(diǎn)之一是,它們?nèi)菀组_(kāi)發(fā),適合在各種移動(dòng)設(shè)備上運(yùn)行。與汽車(chē)系統(tǒng)的集成尤其重要,因?yàn)樗鼈冇谢谧陨硖厥饧夹g(shù)的要求。今天的市場(chǎng)上已經(jīng)充斥著大量與汽車(chē)系統(tǒng)有關(guān)的HTML5應(yīng)用(想想大量的音樂(lè)和GPS應(yīng)用吧),而且隨著無(wú)數(shù)開(kāi)發(fā)人員熟悉并使用HTML5開(kāi)展工作,未來(lái)基于HTML5的汽車(chē)應(yīng)用只會(huì)越來(lái)越多。
HTML5還配備有必要的基礎(chǔ)架構(gòu)用于汽車(chē)應(yīng)用開(kāi)發(fā)。附加的好處是通過(guò)CSS(用于建立網(wǎng)頁(yè)的另外一種關(guān)鍵技術(shù))很容易改變應(yīng)用的風(fēng)格,從而使得這種自適應(yīng)過(guò)程能夠完美匹配多種平臺(tái)和云端技術(shù)。
創(chuàng)建HTML5解決方案的七個(gè)步驟
為了成功創(chuàng)建HTML5解決方案,開(kāi)發(fā)人員應(yīng)該遵循以下幾個(gè)高層次的步驟:
創(chuàng)建瀏覽器——這是七個(gè)步驟中第一個(gè)也是最先進(jìn)的步驟,因?yàn)樗婕霸S可或自己創(chuàng)建一個(gè)瀏覽器并將它與目標(biāo)平臺(tái)整合在一起。通常會(huì)集成和優(yōu)化一些硬件與輸入方法,同時(shí)剔除不必要的組件,并進(jìn)行性能加速??梢岳糜邢薜囊恍g覽器供應(yīng)商,如Dolphin、Obigo、Access Systems、ZetaKey.與第三方網(wǎng)絡(luò)瀏覽器提供商合作的關(guān)鍵優(yōu)勢(shì)是,能夠在汽車(chē)整個(gè)生命期內(nèi)開(kāi)發(fā)和維護(hù)解決方案。另外一種方法是在Webkit瀏覽器基礎(chǔ)上開(kāi)發(fā)自己的解決方案。Webkit瀏覽器可以是基于QT發(fā)行版,也可以從網(wǎng)絡(luò)獲得最新版本。還可以用更快的Javascript引擎(如谷歌的V8)進(jìn)一步優(yōu)化Webkit瀏覽器。最后一種方法是使用另外一種得到良好維護(hù)的開(kāi)源瀏覽器,如基于谷歌的Chromium.
固有集成——瀏覽器可以進(jìn)一步集成一些固有組件。極具挑戰(zhàn)性的用戶界面任務(wù)可以利用瀏覽器插件或運(yùn)行獨(dú)立的進(jìn)程用固有組件完成,這些組件將通過(guò)HTML/Socket服務(wù)器與HTML應(yīng)用進(jìn)行交互。這些組件例子包括媒體播放器、導(dǎo)航/地圖映射、免提電話整合等。對(duì)這種功能的訪問(wèn)可以通過(guò)特定API提供給第三方應(yīng)用。
創(chuàng)建仿真環(huán)境——為了向第三方開(kāi)發(fā)人員提供創(chuàng)建與測(cè)試他們應(yīng)用的能力,必須為每種臺(tái)式機(jī)操作系統(tǒng)(Windows,Mac及可能的Linux)提供仿真環(huán)境。仿真環(huán)境應(yīng)直接反映目標(biāo)平臺(tái)瀏覽器環(huán)境、通過(guò)用戶界面仿真硬件按鈕、能夠安裝和刪除應(yīng)用,并提供控制臺(tái)輸出和網(wǎng)絡(luò)應(yīng)用調(diào)試能力。
硬件按鈕的整合——在汽車(chē)系統(tǒng)中通常存在許多種控制方式,比如觸摸屏、方向盤(pán)按鈕、旋鈕等,它們必須被整合進(jìn)同一平臺(tái)。這些控制一般不推薦使用專(zhuān)門(mén)的API,要開(kāi)發(fā)成標(biāo)準(zhǔn)導(dǎo)航控制(如用作改變活動(dòng)焦點(diǎn)的tab控制的旋鈕)。然而,這些控制可以呈現(xiàn)擴(kuò)展的JavaScript API,允許特定應(yīng)用以不同方式使用它們。瀏覽器可以檢查活動(dòng)單元是否有注冊(cè)過(guò)的句柄用于專(zhuān)門(mén)的控制,如果有,則使用它的函數(shù)。如果沒(méi)有注冊(cè)過(guò)的句柄,瀏覽器可以求助于標(biāo)準(zhǔn)行為。
應(yīng)用JavaScript架構(gòu)——運(yùn)行第三方應(yīng)用的能力是基于HTML5的汽車(chē)系統(tǒng)的主要要求和優(yōu)點(diǎn)之一。系統(tǒng)必須提供一個(gè)能夠下載、執(zhí)行應(yīng)用并且應(yīng)用間能流暢通信的平臺(tái)。下面的JavaScript部分提出并詳細(xì)介紹了一種可能的架構(gòu)。
私有軟件開(kāi)發(fā)套件——諸如訪問(wèn)汽車(chē)信息、GPS、診斷信息、駕駛狀態(tài)等附加功能在當(dāng)今汽車(chē)系統(tǒng)中很常見(jiàn)。為了提供更好的整合經(jīng)驗(yàn),系統(tǒng)也可以提供私有軟件開(kāi)發(fā)套件(SDK),以便允許第三方應(yīng)用相互間的通信。這可以通過(guò)應(yīng)用能夠方便鏈接和使用的JavaScript API實(shí)現(xiàn)。建議將標(biāo)準(zhǔn)JavaScript API用于標(biāo)準(zhǔn)功能,如定位API(GPS),因?yàn)樗试S應(yīng)用具有更好的可移植性,并且更容易開(kāi)發(fā)。
多屏整合——汽車(chē)環(huán)境中的應(yīng)用可以在多個(gè)屏幕上操作,比如主應(yīng)用運(yùn)行的中央棧顯示器以及諸如顯示附加信息(如互聯(lián)網(wǎng)收音機(jī)、下一個(gè)拐彎指令等)的儀表盤(pán)等其它顯示器。下面介紹和描述了一種可能的多屏架構(gòu)。
應(yīng)用JavaScript架構(gòu)例子
在使用JavaScript架構(gòu)時(shí),可以通過(guò)標(biāo)準(zhǔn)HTML方法將HTML5實(shí)現(xiàn)為基本的用戶界面框架。一些抽象元素是通過(guò)JavaScript庫(kù)創(chuàng)建的,獨(dú)立的JavaScript組件和應(yīng)用則用于模塊化方法。針對(duì)更為復(fù)雜的用戶界面元素,可以用固有組件擴(kuò)展瀏覽器。為了更加方便地進(jìn)行開(kāi)發(fā)和應(yīng)用維護(hù),模塊之間需要保持獨(dú)立。jQuery之所以被用作基本用戶界面框架是因?yàn)榭梢缘玫降谌接脩艚缑嫘〔寮?。用戶界面框架也可以作為jQuery的擴(kuò)展。
應(yīng)用的生命期和窗口管理是通過(guò)應(yīng)用管理框架(AMF)進(jìn)行的,并且這些應(yīng)用通過(guò)div元素(用于通用組織型或格式化應(yīng)用)和iframe元素(內(nèi)聯(lián)浮動(dòng)幀)獨(dú)立運(yùn)行。應(yīng)用連接庫(kù)(ACL)是應(yīng)用程序與應(yīng)用框架管理這些獨(dú)立模塊之間的通信橋梁,應(yīng)用管理框架和應(yīng)用連接庫(kù)都使用JavaScript.
評(píng)論