多屏世界的框架
在不到十年的時(shí)間里,嵌入式系統(tǒng)的格局發(fā)生了很大的變化,并對(duì)用戶界面的設(shè)計(jì)產(chǎn)生了深遠(yuǎn)的影響。不僅嵌入式系統(tǒng)采用先進(jìn)的觸摸式用戶界面,把它們從用戶覺(jué)得不易操作的鍵盤式面板升級(jí),而且還把界面導(dǎo)出到各種外部設(shè)備,如智能手機(jī)和平板電腦。借助網(wǎng)絡(luò)和云連接,這些遠(yuǎn)程設(shè)備上的界面可以充分利用流行的終端用戶平臺(tái)(如 iOS 和安卓系統(tǒng))提供的可用性、豐富的功能和熟悉的操作。
本文引用地址:http://cafeforensic.com/article/267201.htm在傳統(tǒng)的嵌入式系統(tǒng)上,需要結(jié)合難記的菜單選項(xiàng)和按鈕才能完成的操作,在觸摸式界面面板或通過(guò)網(wǎng)絡(luò)或互聯(lián)網(wǎng)與系統(tǒng)連接的平板電腦上,只需一個(gè)手勢(shì)即可完成。工業(yè)用戶可以利用智能手機(jī)和平板電腦更輕松、更高效地對(duì)機(jī)器進(jìn)行編程和監(jiān)控。此外,用戶還可以定制沒(méi)有內(nèi)置用戶界面的智能傳感器 — 這是針對(duì)物聯(lián)網(wǎng)創(chuàng)建嵌入式設(shè)備的一個(gè)重要趨勢(shì)。
遷移到多屏 — 不是所有的平臺(tái)都能適用
消費(fèi)者需要用更加靈活的方式來(lái)使用和控制住宅和汽車?yán)锏碾娮釉O(shè)備。一臺(tái)電視不再只有一個(gè)遙控器。遙控器可以是 iPhone 手機(jī)或安卓平板電腦,每一個(gè)都根據(jù)其所在平臺(tái)相關(guān)的手勢(shì)及風(fēng)格擁有不同的用戶界面。同時(shí),電視將擁有自己品牌化的用戶界面,當(dāng)用戶在設(shè)備間切換時(shí)保持一致。這種連接設(shè)備的增加推動(dòng)了對(duì)多屏或多平臺(tái)的嵌入式應(yīng)用的需求。同時(shí),這是一種不斷變化的環(huán)境。
隨著多屏應(yīng)用變得越來(lái)越普遍,也可以設(shè)計(jì)完全獨(dú)立于平臺(tái)的軟件服務(wù),例如音樂(lè)流媒體服務(wù)。應(yīng)用和用戶數(shù)據(jù)位于云后端的內(nèi)部,并提供多個(gè)任意的客戶端應(yīng)用,以便在任何地方訪問(wèn)服務(wù)(臺(tái)式機(jī)、手機(jī)、汽車、電視),并無(wú)縫地繼續(xù)跨設(shè)備的體驗(yàn)。這些服務(wù)已經(jīng)存在,但從軟件角度而言,這種設(shè)計(jì)階段的思維轉(zhuǎn)變雖然微不足道但非常重要。與從單一平臺(tái)支持開(kāi)始(如安卓),并設(shè)計(jì)“一個(gè)流媒體音樂(lè)用的安卓應(yīng)用”不同,開(kāi)發(fā)者應(yīng)該首先考慮平臺(tái)的獨(dú)立性,為音樂(lè)流媒體服務(wù)設(shè)計(jì)一個(gè)通用的、可擴(kuò)展的架構(gòu)。
十年前,連接設(shè)備的格局和我們今天所看到的非常不同。從 2005 年左右開(kāi)始,智能手機(jī)開(kāi)始在市場(chǎng)上盛行,現(xiàn)在,手機(jī)的銷量已經(jīng)超過(guò)了個(gè)人電腦。從 2009 年開(kāi)始,便攜式平板電腦成為了另一種快速增長(zhǎng)的設(shè)備類型,開(kāi)始是 iOS,后來(lái)是安卓和 Windows 8,只用了五年的時(shí)間,就進(jìn)一步分化和改變了設(shè)備的局面。智能手機(jī)和平板電腦反過(guò)來(lái)推動(dòng)了嵌入式設(shè)備的不斷增長(zhǎng),它們采用越來(lái)越豐富的用戶界面,如最近推出的汽車中采用的觸屏和手勢(shì)控制的大型儀表盤界面。
由此產(chǎn)生的局面非常分散和難以預(yù)測(cè)。這不僅涉及操作系統(tǒng),還有設(shè)備類型。今天,用戶想用來(lái)訪問(wèn)嵌入式系統(tǒng)的設(shè)備可能與三到五年后他們將采用的設(shè)備有很大的不同。平板電腦現(xiàn)在很流行,但五年多前,很少有人為它們?cè)O(shè)計(jì)應(yīng)用。而可穿戴式設(shè)備正在再次迅速改變著設(shè)備外觀。
要解決這一問(wèn)題,嵌入式系統(tǒng)的開(kāi)發(fā)人員需要應(yīng)對(duì)巨大市場(chǎng)變化的策略。每個(gè)目標(biāo)都不同,并可能帶來(lái)新的用戶交互類型?,F(xiàn)在為智能手機(jī)和平板電腦用戶所熟悉的滑動(dòng)和縮放手勢(shì)操作,在老式的臺(tái)式機(jī)環(huán)境幾乎聞所未聞。這似乎說(shuō)明了一種情況,即每個(gè)平臺(tái)都需要有專門為它編寫(xiě)的應(yīng)用。當(dāng)bug出現(xiàn)時(shí),開(kāi)發(fā)團(tuán)隊(duì)就需要在修復(fù)時(shí),采取措施使不同的平臺(tái)保持一致。
多屏開(kāi)發(fā)策略
以上問(wèn)題的一種解決方式就是利用基于 web 的技術(shù),即運(yùn)行在客戶端上的所有軟件都是通過(guò)一個(gè)瀏覽器來(lái)呈現(xiàn)內(nèi)容,后端處理由遠(yuǎn)程服務(wù)器來(lái)控制,但這要求客戶端始終保持連接才能提供全部功能。而在有的車載系統(tǒng)的情況下,這可能不切實(shí)際,例如當(dāng)車輛不在有穩(wěn)定的無(wú)線連接的范圍內(nèi)。如果有不同用戶界面功能的新型設(shè)備出現(xiàn),甚至可能需要改變?yōu)g覽器的外觀。此外,盡管基于 HTML5 的用戶界面在不斷完善,但其在性能和開(kāi)發(fā)流暢性方面往往無(wú)法匹敵原生的用戶界面。
最佳的方式不是為每一個(gè)當(dāng)前目標(biāo)設(shè)備編寫(xiě)專用的本機(jī)應(yīng)用,因?yàn)檫@不但大大增加了工作量,也不能讓這些設(shè)備面向未來(lái),而應(yīng)采用跨平臺(tái)軟件框架,并把核心業(yè)務(wù)邏輯和表示層明確分開(kāi),以帶來(lái)所需的靈活性。
大部分的核心功能和數(shù)據(jù)處理由一套統(tǒng)一的、跨平臺(tái)的代碼(沒(méi)有硬綁定到其表示層)處理。表示層反映了目標(biāo)屏幕或平臺(tái)之間的差異,從顯示屏的尺寸到它支持的交互類型。以這種方式,可以分別開(kāi)發(fā)臺(tái)式機(jī)、面向鼠標(biāo)的操作系統(tǒng)和包含豐富手勢(shì)的智能手機(jī)的表示層,但仍然使用相同的底層核心功能。
通過(guò)精心設(shè)計(jì),兩層可以相互無(wú)縫通信,并提供用戶期望從界面得到的事件驅(qū)動(dòng)響應(yīng)。Qt 是跨平臺(tái)的應(yīng)用框架,不僅支持業(yè)務(wù)邏輯與表示層分離,還提供一系列機(jī)制,可以簡(jiǎn)化針對(duì)每個(gè)目標(biāo)設(shè)備調(diào)整用戶界面的工作。目的不是讓所有目標(biāo)使用同一套代碼,而是充分利用你編寫(xiě)的通用代碼,同時(shí)仍然支持各種響應(yīng)式的用戶界面。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
評(píng)論