打造企業(yè)級(jí)應(yīng)用:HTML5,Hybrid,Native Dilemma對(duì)比
英文原文: Building Mobile App for Enterprise,編譯:牛秦勇
這篇文章主要關(guān)于如何開(kāi)發(fā)企業(yè)級(jí)移動(dòng)應(yīng)用。今天我讀了Charlie的關(guān)于移動(dòng)應(yīng)用開(kāi)發(fā)的文章,并且從企業(yè)的角度分析了hybrid應(yīng)用的情況。
總覽
最近我關(guān)于開(kāi)發(fā)企業(yè)級(jí)移動(dòng)應(yīng)用的交談大部分都是以“我是否該用Hybrid或者Native”這樣的問(wèn)題開(kāi)始。是的,很多組織出于成本上的考慮對(duì) “Hybrid”方式很感興趣,但依我之見(jiàn),任何決定都應(yīng)以用戶為導(dǎo)向而非成本。所以,要得出這個(gè)答案要這么去想“怎么才能給最終用戶最好的用戶體驗(yàn)”, 而不是一直問(wèn)“我們?cè)趺床拍芙档统杀?rdquo;。不光企業(yè)級(jí)應(yīng)用,所有應(yīng)用都是這樣的。
另外,從企業(yè)的角度來(lái)說(shuō),我認(rèn)為達(dá)到終端獨(dú)立是另一種降低成本和將來(lái)達(dá)到投資目的的方式。所以,選HTML5,Hybrid還是Native只是決定選擇的一個(gè)因素,這里還有一些當(dāng)你討論移動(dòng)策略時(shí)要考慮的因素:
設(shè)想階段要考慮的:
1,目標(biāo)用戶分析
2,以一個(gè)簡(jiǎn)單的框架開(kāi)始,像Forrester的POST approach
3,差距分析和組合合理化
為移動(dòng)應(yīng)用的開(kāi)發(fā)和分發(fā)制定策略
1,移動(dòng)web/純HTML/JSS
2,Hybrid 應(yīng)用(本地中的HTML5/JS應(yīng)用,像Phone Gap 或者Titanium中的本地部分或插件)
3.本地應(yīng)用
關(guān)于通用服務(wù)層的考慮:
1.創(chuàng)建或?qū)崿F(xiàn)一個(gè)可擴(kuò)展的通用服務(wù)層
2.在服務(wù)層和傳統(tǒng)系統(tǒng)之間實(shí)現(xiàn)一個(gè)可擴(kuò)展的中間層
3.確立保準(zhǔn)(就像用REST)
4.為媒體分發(fā)確定和整合內(nèi)容分發(fā)網(wǎng)絡(luò)
測(cè)試模型
1.安全和性能
2. 基于設(shè)備的測(cè)試
提交管理
1. 支付模型
2. 已提交模型的跟蹤
3. 分析
4. 反饋跟蹤
5. 繼續(xù)開(kāi)發(fā)
好了,這些就是移動(dòng)開(kāi)發(fā)策略的一部分,尤其當(dāng)你討論企業(yè)移動(dòng)應(yīng)用時(shí),移動(dòng)終端獨(dú)立是關(guān)鍵點(diǎn),開(kāi)發(fā)者要理解使產(chǎn)品有邏輯性和數(shù)據(jù)的有效性對(duì)多種終端的必要性。
在你周圍已經(jīng)存在的數(shù)據(jù)和智能中,REST已經(jīng)成為越來(lái)越多的創(chuàng)建公共服務(wù)層的默認(rèn)選擇。
Hybrid對(duì)Native
現(xiàn)在關(guān)于Hybrid和Native,下面是我看到的主要的利弊兩方面的東西:
Hybrid 應(yīng)用:
有利的方面:
-
不需要為某一特定平臺(tái)開(kāi)發(fā)
-
更好的投資回報(bào)率,代碼可在多個(gè)平臺(tái)重復(fù)使用
-
仍可以訪問(wèn)設(shè)備的某些特性
-
可以打包到另外的渠道
不足的方面:
-
特殊化的UI很難做
-
響應(yīng)不夠快,且不像純本地應(yīng)用那樣富含多種特性
-
當(dāng)實(shí)現(xiàn)特定的最優(yōu)化的特性時(shí),可以遇到限制。
本地應(yīng)用
有利的方面:
-
高度訂制,能滿足邊界條件。
-
很高的可用性。
不足的方面:
-
平臺(tái)的多樣性
-
對(duì)每個(gè)平臺(tái)的投入
-
沒(méi)有統(tǒng)一的代碼庫(kù)及重用性
更多
當(dāng)你在考慮企業(yè)級(jí)移動(dòng)應(yīng)用時(shí),再說(shuō)一次,別在是用Hybrid還是Native之間考慮了。
從中間件的角度
1.選擇一種策略,以使存儲(chǔ)、計(jì)算你的移動(dòng)應(yīng)用的資源可以在移動(dòng)設(shè)備,本地存儲(chǔ)和云計(jì)算設(shè)施中實(shí)現(xiàn)。
2. 在移動(dòng)應(yīng)用間連接,通信,代理時(shí)使用代理服務(wù),
-
· 在代理的最上層自定義實(shí)現(xiàn),就像Windows Azure Service Bus
-
· 創(chuàng)建面向web架構(gòu)的移動(dòng)應(yīng)用,就像Marlabs Matrix平臺(tái)
-
· 第三方移動(dòng)中間平臺(tái),像Syclo等
3.如果需要支持多種認(rèn)證機(jī)制,像Azure Federated Authentication.,那就用基于聯(lián)合的云認(rèn)證服務(wù)。
4.采用基于push通知服務(wù)的云服務(wù)從你的移動(dòng)設(shè)備發(fā)送和接受消息。
5.選擇一個(gè)支持比特率傳輸視頻內(nèi)容的合適的內(nèi)容分發(fā)網(wǎng)絡(luò),例如Azure CDN或者Limelight True Reach API.
6.使APIs支持?jǐn)U展,跟蹤,反饋。
提交管理包括為支付模型,使用追蹤,分析和支持反饋制定一個(gè)合適的策略。提交管理應(yīng)該保證:
提交應(yīng)用到應(yīng)用商店時(shí)要有最少的條件
適當(dāng)聽(tīng)取用戶的建議—反饋和評(píng)分應(yīng)用來(lái)確定哪些可要哪些可不要
發(fā)布和更新要符合用戶的期望
所以,編碼快樂(lè)!