榕樹下網(wǎng)站本身的技術(shù)人員并不多,所以app開發(fā)的任務(wù)就到了母公司盛大文學(xué)這邊。
盛大文學(xué)無線業(yè)務(wù)中心負(fù)責(zé)這次具體開發(fā)任務(wù)。
一如既往的,開發(fā)的情況是:時間緊,任務(wù)重,人手少
技術(shù)選型
為了同時上線Android和IOS平臺,所以選擇了hybrid這種Native與HTML5混合的方式。
Native的優(yōu)點(diǎn)是效率相對較高,但缺點(diǎn)是開發(fā)速度相對較慢,不利于自更新;
HTML5的優(yōu)點(diǎn)是開發(fā)速度快,可以實(shí)現(xiàn)自更新,跨平臺,缺點(diǎn)也是顯而易見,效率不高,加載速度慢;
所以:
- 用Native解決效率問題,主要用于切換界面的框架,圖片瀏覽器組件等
- 用HTML5解決開發(fā)上的時間問題,主要用來實(shí)現(xiàn)頁面布局、渲染
后臺服務(wù)端API提供統(tǒng)一的JSON數(shù)據(jù)格式,可以供Native與HTML5無縫使用,服務(wù)端可以不再關(guān)心客戶端到底是HTML還是Native,HTML也可以隨時改成Native
客戶端與服務(wù)端通信數(shù)據(jù)交換統(tǒng)一使用JSON,這樣一來如有需要Native可以換成HTML5,或者HTML5可以換成Native
Hybrid的HTML5部分
我負(fù)責(zé)的就是HTML5這一部分,其實(shí)就是WEB頁,外行現(xiàn)在一見到炫酷的微信頁面或其它效果的頁面就覺得這是HTML5..
好吧,就叫HTML5吧。
Javascript
1、zepto.js
用于基本DOM操作與ajax選擇使用定制的zepto.js,定制zepto.js的原因是我已經(jīng)習(xí)慣了Deferred這種寫法
2、artTemplate.js
3、cloudary.js
整個項目的web端框架,為什么叫cloudary,其實(shí)名字幾經(jīng)更改,最后還是用了盛大文學(xué)的網(wǎng)站域名 www.cloudary.com.cn
至于為什么是cloudary這個詞,好吧,誰知道當(dāng)時是怎么定的這個組合的英文詞的呢。。
它的作用:
- 封裝、橋接JS與Native的通信,對業(yè)務(wù)層提供統(tǒng)一的操作接口
- 再次封裝zepto.js提供的的ajax方法,主要作用是可緩存接口數(shù)據(jù),進(jìn)行統(tǒng)一的錯誤處理
- 框架層對頁面初始化完成后的業(yè)務(wù)處理
- 提供全局的通用操作方法或接口,如:系統(tǒng)信息,存儲操作等
4、每個頁面自身的業(yè)務(wù)邏輯直接寫在了頁面上,因為代碼并不多
CSS
用sass編寫CSS
應(yīng)用sasshat后APP某些WEB界面實(shí)現(xiàn)的效果如:
下面這個是用web實(shí)現(xiàn)的動畫啟動頁
用了SASS后的好處:
- 編寫CSS更加快速
- 可適應(yīng)頻繁的需求改動(—_—!)
- 更快速的純CSS實(shí)現(xiàn)酷炫動畫
- 更性感
該說說缺點(diǎn)了
1、加載速度慢
首次進(jìn)入頁面更慢,頁面復(fù)雜度越高,需要的資源越多,加載資源慢,渲染DOM慢。
在移動端特別如此,隨著手機(jī)越低端,性能遞減越厲害
2、低端手機(jī)CSS3支持程度不一
有時候不得不放棄一些好用的CSS屬性,而改變另外的方案實(shí)現(xiàn)。因為某些Android2.X的手機(jī)真的很落后。
不得不為這些手機(jī)去掉一些效果或者專門判斷后用普通圖片代替效果
3、跨平臺很美
web確實(shí)是跨平臺的,但webview內(nèi)的瀏覽器CSS兼容比手機(jī)上瀏覽器內(nèi)更不好。所以要實(shí)現(xiàn)全兼容只是目標(biāo)。
要花的時間與精力不比用Native少,所以為什么不選擇用更合適的Native呢?
最后要說的
(APP現(xiàn)還未正式發(fā)布。還在內(nèi)測)
無圖無真像。
我在現(xiàn)在的公司還是喜歡用自己寫的東西。
雖然市面上有很多mobile端的web框架可用,但選擇哪一款,要不要用,還是要根據(jù)自身項目所處的環(huán)境:人力配制,技術(shù)水平,公司B格。
對于WEB開發(fā)人員來講,開發(fā)Hybrid形式的APP,還要取決于Native端開發(fā)者的水平或者對webview知識的熟悉程度。
對于一般技術(shù)人員來講,WEB不了Native,而Native也不了解web
======================================
轉(zhuǎn)載處請注明:博客園(池中物,王二狗)willian12345@126.com
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。