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