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