讓汽車運(yùn)行基于HTML5的應(yīng)用
汽車系統(tǒng)與外部世界的交互越來越多,比如與智能手機(jī)和云端的交互,因此迫切需要理解應(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)。
本文引用地址:http://butianyuan.cn/article/201610/310016.htm將HTML5集成進(jìn)汽車系統(tǒng)所面臨的挑戰(zhàn)
第三方開發(fā)人員操控汽車空間時面臨著很多困難??梢钥隙ǖ卣f,汽車系統(tǒng)的安全保障是創(chuàng)建車載應(yīng)用時考慮的最重要因素,因?yàn)槿魏晤愋偷男阅芡讌f(xié)都會增加用戶的危險。應(yīng)用開發(fā)人員開發(fā)的應(yīng)用在汽車行駛過程中必須限制使用,并且不能中斷汽車系統(tǒng)的正常運(yùn)行。只有專門配置的應(yīng)用才能訪問汽車的信息。
除了安全性外,還有其它技術(shù)性挑戰(zhàn)需要考慮。首先也是最重要的是,汽車系統(tǒng)中使用的技術(shù)必須在汽車整個生命期內(nèi)保持其適用性,并能得到良好的維護(hù)。汽車生命期平均為10年左右,不像智能手機(jī)只有大約2至3年的生命期。隨著新產(chǎn)品的不斷開發(fā),汽車技術(shù)也需要能夠不斷支持最新的技術(shù)標(biāo)準(zhǔn)。
另外還存在著確保汽車中使用方便的挑戰(zhàn)。如果汽車有多個屏幕(如抬頭單元、儀表群顯示器、高鑲嵌式顯示器等),所有應(yīng)用必須能夠同時運(yùn)行,并能夠與全部屏幕進(jìn)行交互。此外,消費(fèi)者期望他們的車載汽車應(yīng)用能夠像他們的智能手機(jī)應(yīng)用那樣,具有豐富的用戶界面、簡單的命令和輸入以及復(fù)雜的動畫效果。
在汽車系統(tǒng)中使用HTML5的好處
HTML5應(yīng)用的最大特點(diǎn)之一是,它們?nèi)菀组_發(fā),適合在各種移動設(shè)備上運(yùn)行。與汽車系統(tǒng)的集成尤其重要,因?yàn)樗鼈冇谢谧陨硖厥饧夹g(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)的步驟,因?yàn)樗婕霸S可或自己創(chuàng)建一個瀏覽器并將它與目標(biāo)平臺整合在一起。通常會集成和優(yōu)化一些硬件與輸入方法,同時剔除不必要的組件,并進(jìn)行性能加速??梢岳糜邢薜囊恍g覽器供應(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ù)可以利用瀏覽器插件或運(yùn)行獨(dú)立的進(jìn)程用固有組件完成,這些組件將通過HTML/Socket服務(wù)器與HTML應(yīng)用進(jìn)行交互。這些組件例子包括媒體播放器、導(dǎo)航/地圖映射、免提電話整合等。對這種功能的訪問可以通過特定API提供給第三方應(yīng)用。
創(chuàng)建仿真環(huán)境——為了向第三方開發(fā)人員提供創(chuàng)建與測試他們應(yīng)用的能力,必須為每種臺式機(jī)操作系統(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)航控制(如用作改變活動焦點(diǎn)的tab控制的旋鈕)。然而,這些控制可以呈現(xiàn)擴(kuò)展的JavaScript API,允許特定應(yīng)用以不同方式使用它們。瀏覽器可以檢查活動單元是否有注冊過的句柄用于專門的控制,如果有,則使用它的函數(shù)。如果沒有注冊過的句柄,瀏覽器可以求助于標(biāo)準(zhǔn)行為。
應(yīng)用JavaScript架構(gòu)——運(yùn)行第三方應(yīng)用的能力是基于HTML5的汽車系統(tǒng)的主要要求和優(yōu)點(diǎn)之一。系統(tǒng)必須提供一個能夠下載、執(zhí)行應(yīng)用并且應(yīng)用間能流暢通信的平臺。下面的JavaScript部分提出并詳細(xì)介紹了一種可能的架構(gòu)。
私有軟件開發(fā)套件——諸如訪問汽車信息、GPS、診斷信息、駕駛狀態(tài)等附加功能在當(dāng)今汽車系統(tǒng)中很常見。為了提供更好的整合經(jīng)驗(yàn),系統(tǒng)也可以提供私有軟件開發(fā)套件(SDK),以便允許第三方應(yīng)用相互間的通信。這可以通過應(yīng)用能夠方便鏈接和使用的JavaScript API實(shí)現(xiàn)。建議將標(biāo)準(zhǔn)JavaScript API用于標(biāo)準(zhǔn)功能,如定位API(GPS),因?yàn)樗试S應(yīng)用具有更好的可移植性,并且更容易開發(fā)。
多屏整合——汽車環(huán)境中的應(yīng)用可以在多個屏幕上操作,比如主應(yīng)用運(yùn)行的中央棧顯示器以及諸如顯示附加信息(如互聯(lián)網(wǎng)收音機(jī)、下一個拐彎指令等)的儀表盤等其它顯示器。下面介紹和描述了一種可能的多屏架構(gòu)。
應(yīng)用JavaScript架構(gòu)例子
在使用JavaScript架構(gòu)時,可以通過標(biāo)準(zhǔn)HTML方法將HTML5實(shí)現(xiàn)為基本的用戶界面框架。一些抽象元素是通過JavaScript庫創(chuàng)建的,獨(dú)立的JavaScript組件和應(yīng)用則用于模塊化方法。針對更為復(fù)雜的用戶界面元素,可以用固有組件擴(kuò)展瀏覽器。為了更加方便地進(jìn)行開發(fā)和應(yīng)用維護(hù),模塊之間需要保持獨(dú)立。jQuery之所以被用作基本用戶界面框架是因?yàn)榭梢缘玫降谌接脩艚缑嫘〔寮S脩艚缑婵蚣芤部梢宰鳛閖Query的擴(kuò)展。
應(yīng)用的生命期和窗口管理是通過應(yīng)用管理框架(AMF)進(jìn)行的,并且這些應(yīng)用通過div元素(用于通用組織型或格式化應(yīng)用)和iframe元素(內(nèi)聯(lián)浮動幀)獨(dú)立運(yùn)行。應(yīng)用連接庫(ACL)是應(yīng)用程序與應(yīng)用框架管理這些獨(dú)立模塊之間的通信橋梁,應(yīng)用管理框架和應(yīng)用連接庫都使用JavaScript.
評論