移动平台端到端低成本解决方案
移動(dòng)平臺(tái)端到端低成本解決方案
1、 概述
《移動(dòng)平臺(tái)End-2-End低成本解決方案》一課,描述的是當(dāng)今移動(dòng)互聯(lián)網(wǎng)大局背景下,如何低成本的為移動(dòng)應(yīng)用搭建一個(gè)低成本服務(wù)端。從而實(shí)現(xiàn)中小開發(fā)者、產(chǎn)品發(fā)燒友對(duì)開發(fā)End-2-EndSystem產(chǎn)品的追求。這個(gè)低成本的服務(wù)端方案,現(xiàn)在已經(jīng)有眾多選擇, 本文將圍繞百度云平臺(tái)進(jìn)行架構(gòu)設(shè)計(jì), 并以一個(gè)現(xiàn)有的Android版本英語詞典《凡塵英語》作為典型實(shí)踐, 驗(yàn)證其技術(shù)的簡潔性和成本的低廉性。
?
特別提出: 本課程不會(huì)做過多的技術(shù)細(xì)節(jié)討論,關(guān)注的是: 整體產(chǎn)品的技術(shù)方案選型以及產(chǎn)品設(shè)計(jì)的知識(shí)。
1.1? 移動(dòng)解決方案介紹
主流的C/S的模式【服務(wù)端/客戶端模式】
?
為什么做這樣的選擇?
1.??????省電、節(jié)能的需求:鑒于手持端的特點(diǎn), 不適合做計(jì)算量大的功能, 盡量將復(fù)雜的邏輯處理放置云端, 有利于節(jié)省手持設(shè)備的電量, 避免終端發(fā)熱。
2.??????UI操作簡潔性需求: 手持終端操作盡量要求簡潔, 因此界面設(shè)計(jì)需要緊湊,從而不適合富客戶端方式的架構(gòu)設(shè)計(jì),手持終端盡量降低復(fù)雜性。
3.??????容易維護(hù)的需求: 為了容易維護(hù)(即改動(dòng)最小), 邏輯改動(dòng)在服務(wù)端修改的話,代價(jià)是最小的。同樣,客戶端需要跨平臺(tái),但服務(wù)器端不需要跨平臺(tái),因此將維護(hù)和擴(kuò)展工作放置在服務(wù)端,代價(jià)可以最小化。
4.??????優(yōu)秀實(shí)踐佐證:證明云端的架構(gòu)對(duì)項(xiàng)目的后期發(fā)展更有利。典型代表有
1.??????Google 系列: 如Search API,Map API
2.??????SNS系列: Facebook,Twitter, douban
3.??????門戶網(wǎng)站系列:新浪微博, 淘寶
?
?
【Unix設(shè)計(jì)原則: 經(jīng)濟(jì)性原則】
Programmer time is expensive; conserve itin preference to machine time.
寧花機(jī)器一分鐘,不費(fèi)程序員一秒。
?
【注意】
我們這里忽視了一類非主流的應(yīng)用, 就是單機(jī)版應(yīng)用程序。請(qǐng)思考原因。
1.2? 預(yù)期效果
l? 知識(shí)提升: 移動(dòng)開發(fā)背景知識(shí)、移動(dòng)開發(fā)常用技術(shù)
l? 實(shí)踐提升:利用百度云平臺(tái),零成本搭建服務(wù)端平臺(tái)
l? 產(chǎn)品開發(fā):個(gè)人產(chǎn)品開發(fā)流程
?
特別注意,我們這里偏重的是整體產(chǎn)品的系統(tǒng)設(shè)計(jì)和技術(shù)方案選型, 對(duì)具體技術(shù)不會(huì)過分糾結(jié)。如果有更多需要討論的,請(qǐng)課后溝通。
1.3? 培訓(xùn)對(duì)象
l? 對(duì)移動(dòng)產(chǎn)品興趣濃厚者
l? 產(chǎn)品控, 發(fā)燒友, 對(duì)折騰一個(gè)產(chǎn)品非常有興趣的人
l? 屌絲程序猿, 沒錢,有精力, 成本控
2、 移動(dòng)開發(fā)技術(shù)一覽
移動(dòng)產(chǎn)品開發(fā)技術(shù),目前已經(jīng)明確的劃分為三大流派:
純手機(jī)平臺(tái)開發(fā)模式: Native 技術(shù)(C/S模式)
???????? 移動(dòng)Web開發(fā)模式: 瀏覽器模式(純Browser模式)
???????? 混合開發(fā)模式:Native模式 + Web開發(fā)模式
?
?
?
?
2.1? Native技術(shù)
IOS 開發(fā)
Android 開發(fā)
Window phone 開發(fā)
特點(diǎn):
完全依附各自平臺(tái),獨(dú)立的掙扎, UI之間完全不能共用, 這樣的方案, 在【游戲】開發(fā)中大量盛行。原因?
管理成本高昂的NativeApp
2.2? web技術(shù)【HTML5】
?
純HTML5開發(fā)
需要做以下突破:
a. 支持硬件感應(yīng)器 (gps/攝像頭/屏幕分辨率適配)
b. 瀏覽器對(duì)硬件標(biāo)簽支持
c. 最重要的: 統(tǒng)一HTML5規(guī)范
?
?
即使,有一天,我們解決了這些問題, 純Web還有一些糾結(jié)的問題要解決:
1. 輸入網(wǎng)址訪問的用戶體驗(yàn), 想想就覺得難受
2. web訪問的流暢性、交互性,需要一段很長讀路要走。(記得flash在移動(dòng)領(lǐng)域是怎么死掉的嗎?)
純 Web方案, 還只是個(gè)傳說
So, It is a long way…..
2.3? Native + HTML5
混合APP也稱為Hybrid App
特點(diǎn):
1. 利用Native code提供的Web組建, 嵌入HTTP鏈接, (當(dāng)然也有一些人直接將HTTP的資源打包成應(yīng)用程序, 這種模式存在很大問題,思考一下原因)
2. Native Code處理設(shè)備相關(guān)的代碼,HTML5用來處理服務(wù)端數(shù)據(jù)展示和交互
3. 同樣需要接受App市場的審核.【一般而言,干壞事的都是NativeCode, 也可以思考一下原因】
?
進(jìn)展:
業(yè)界應(yīng)用:
1. 網(wǎng)易App家族
2. facebook, Yelp[類似于大眾點(diǎn)評(píng)]
3.隨便翻開手機(jī), 都可以看到, 比如你用的淘寶等
3、 需要了解的云端世界
無虛擬、不云端
3.1? 搭建服務(wù)器的成本
1. ?獨(dú)立服務(wù)器成本
???????? 刀片服務(wù)器(1w~3w)+ 主機(jī)托管(6K/year) + 域名費(fèi)用(100元/年)
2. ?vps成本
???????? 國內(nèi)均價(jià)100元/月以內(nèi), 國外也不會(huì)超過兩百
?
?
3.? 收費(fèi)云平臺(tái)
按照流量和使用頻率付費(fèi) ===》用戶規(guī)模小,免費(fèi)
百度云計(jì)費(fèi)標(biāo)準(zhǔn)
3.2? 常見的云服務(wù)
國外:
亞馬遜
Google AppEngine
國內(nèi):
阿里云
百度云
新浪云
3.3? 推薦之一: 百度BAE
1. 支撐范圍廣,都為主流技術(shù), Java,Mysql, 相關(guān)的大文件,大數(shù)據(jù)服務(wù)齊全【云盤支持力度好】
2. 足夠強(qiáng)的移植能力, 正因?yàn)橹髁?#xff0c; 所以一旦應(yīng)用做強(qiáng),脫離BAE,成本最小。適合做大做強(qiáng)。
3.4? 推薦之二: 新浪SAE
平臺(tái)增值能力好, 非常容易和新浪最NB的接口,微博實(shí)現(xiàn)無縫對(duì)接。微博營銷能力極強(qiáng),可以減少日后的推廣成本。
?
其他阿里系列的也是非常好的平臺(tái), 尤其是淘寶API接口,絕對(duì)不容小覷。
4、低成本實(shí)踐檢驗(yàn): 凡塵英語
4.1? 產(chǎn)品定位
l? 隨時(shí)隨地學(xué)習(xí)。 并記錄用戶學(xué)習(xí)的特點(diǎn)。每天、每周、每月會(huì)統(tǒng)計(jì)排行,查看用戶對(duì)那些單詞關(guān)注度比較高。
l? 以學(xué)習(xí)為目的,按需下載分類。比如: 商貿(mào)英語、海關(guān)英語、IT英語等。
l? 以用法為中心的學(xué)習(xí)模式,促進(jìn)深度記憶: 單詞 ——>例句 ——>例句中的單詞 ——> 再到例句的無限聯(lián)想記憶。強(qiáng)調(diào)背誦例句。
l? 強(qiáng)調(diào)關(guān)聯(lián)學(xué)習(xí):詞之間有的關(guān)聯(lián)。強(qiáng)調(diào)用戶的關(guān)聯(lián)記憶能力,比如apple的關(guān)聯(lián)詞為Pear, fruit等, 由一個(gè)詞擴(kuò)展到多個(gè)詞。反復(fù)記憶。
?
4.2? UGC vs PGC
UGC: User Generated Content
PGC: Professionally Generated Content
?
4.3? 內(nèi)容來源
人工刷選 + 自動(dòng)的方式
4.4? Client 和免費(fèi)BAE的交互
成本節(jié)約和安全策略:
1. 每天限制和BAE的交互次數(shù),每個(gè)客戶端每天一次.
2. 單詞全部下載到本地, 避免每次都需要從服務(wù)端獲取
3. 服務(wù)端對(duì)程序有絕對(duì)控制力度. 控制版本升級(jí),防止不規(guī)范的客戶請(qǐng)求,惡意客戶,競爭對(duì)手等。
?
?
5、課程小結(jié)
移動(dòng)開發(fā)技術(shù)包含哪三種?
常見云服務(wù)提供商有哪些(說出兩種即可)
?
參考資料:
HTML5與NativeApp之爭繼續(xù)發(fā)酵,Hybrid App趁勢而起
?
總結(jié)
以上是生活随笔為你收集整理的移动平台端到端低成本解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 餐桌 (Standard IO)
- 下一篇: 奋斗者