雖然目前在行動裝置系統平台方面,iOS與Android裝置已經佔了大部分的比例。但還是有許多系統逐漸竄出,冀望能夠與微軟搶占到第三大的局面。而在2013今年的MWC全球行動通訊大展當中,許多新的行動系統都紛紛發表或是釋出將會推出的消息。其中包括像是:Firefox OS, Jolla Sailfish, Tizen, Ubuntu, 另外還有被LG購買打算運用在智慧型電視的WebOS。而這幾個系統當中有一個約略的共通點,就是都擁有在網頁型開發技術基礎建立應用程式的特色。雖然個人是希望能夠有比較開放性的第三方系統出現,不過基於Web技術的行動裝置系統在開發軟體上,個人覺得目前還是有幾個尚待完善或需要注意的地方,例如:

1.軟體開發API的不一致
目前各家新系統的推出,都號稱基於Web開發技術,但是在開發程式的API方面,卻尚未有統一的局面。比如Firefox OS,Tizen是採用原生的Html5技術,而Jolla Sailfish和Ubuntu則是基於QT提出的QML,而WebOS則是有自己的Enyo框架。雖然也許在開發的語法性質上是類似的,卻會造成應用程式開發商面臨了一個狀況,如果要開發一個軟體是必須針對一次對各個新平台都支援,就需要花相當的時間去做修改。然而在各個新平台都尚未成氣候的情況下,也許最後的折衷方法,是會導致開發者抉擇是製作一個能在幾個新平台上能運作完整的行動網頁,而非原生軟體。如此對系統方來說,會造成減少原生軟體出現的狀況,也會分散原生軟體開發來源的數量。

2.瀏覽器的相容性
其實大概就是差別在於Webkit與Firefox行動版之間需面臨抉擇的部分,這部分或許在造成分裂性的狀況還沒有前面提到關於API不同來得嚴重,但是也的確是存在的情形。(尤其在本文投稿後又出現Google從Webkit分支Blink出去之後,將更加劇後續的問題)

3.行動與桌面之間的發展方向未定
雖然目前幾個新的Web技術系統都是先著眼於手機使用上,但是像現在平板的市場佔有率也逐漸拉高,行動系統在針對應用開發關於後續方向的規劃上,是否要考量到大小尺寸的不同而提出建議。另外像Ubuntu OS日後還考慮整合到桌面環境當中,那麼是否要建議開發者在開發軟體時,要顧慮到日後進入桌面環境之後的調整?而像Firefox OS及Tizen,雖然目前還沒有這樣的方向規畫出現,但是像Tizen是Intel主導,其背後的桌機市場是否會運用到這項系統,也還沒有明確表示。而Firefox會否考慮靠著用桌面包圍行動的局面,來拉高原生軟體的數量也還是未知數。這部分都會讓開發者在軟體開發的功能規劃上具有不確定性。

4.不可忽視的離線運作
雖然基於網頁技術的行動系統,本身一出世的需求就是需要連上網路。但若是以Firefox OS所考量的市場取向─新興市場來說,或許在網路的建設上多少會有不夠完整的局面出現,所以也還是會有相當成分的離線使用需求。而雖然目前Html5在資料儲存方面已經有一些功能上的支援,像是透過Application Cache 搭配 IndexedDB或是WebSQL這類Client端資料庫存儲資料,讓程式開發之後具有更加完整的離線操作能力。但是系統方是否能夠提出足夠成熟的開發資源,來支持一個中小型程式同時具有完整的離線運作和網路存取使用功能,則是需要面臨和考慮的部分。

5.Javascript及程式運行的效能
雖然HTML5在CSS及影音支援的平面表現功能上已經相當進步,但是對於程式化的部分,很大程度還是要倚靠Javascript的支援。而在這個情況下,Javascript運行效率的改善就是需要注意的問題。即使像是採用QML的Ubuntu或Jolla Sailfish也會面臨相同的狀況。目前這幾個新的系統只有像Firefox有提出asm.js搭配Emscripten這樣具有較高執行效率的Javascirpt環境。讓開發人員可以用C或C++開發出較高效率的程式來使用,但是其他相關系統目前都尚未有看到針對這個部分有所提及。而在這個部分有所著墨,並且已經深入提出解決方案的則是Chrome OS的Native Client。而這部分的狀況也讓人覺得,或許在將來Chrome OS與Android有更進一步整合時,才會是網頁技術型系統的新局面了。

 

本文刊登於Linuxpilot雜誌

創作者介紹

droger的資訊心得整理

droger 發表在 痞客邦 PIXNET 留言(0) 人氣()