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