国产精品一区二区av交换,中文字幕人成无码免费视频,永久免费av无码网站性色av,欧美一道本一区二区三区,樱桃熟了a级毛片

開發(fā)移動(dòng)APP:Native和Hybrid選哪個(gè)?

bluebones 發(fā)表于:13年11月29日 09:56 [綜述] DOIT.com.cn

  • 分享:
[導(dǎo)讀]正當(dāng)大家興致勃勃地開始設(shè)計(jì)手機(jī)應(yīng)用程序時(shí),可能會(huì)遇到每個(gè) Developers 和策略者都感到爭議的問題:“我應(yīng)該利用原生語言(Native App),還是混合模式 (Hybrid App)來開發(fā)我的手機(jī)程序呢?”

正當(dāng)大家興致勃勃地開始設(shè)計(jì)手機(jī)應(yīng)用程序時(shí),可能會(huì)遇到每個(gè) Developers 和策略者都感到爭議的問題:“我應(yīng)該利用原生語言(Native App),還是混合模式 (Hybrid App)來開發(fā)我的手機(jī)程序呢?”

Native VS Hybrid

Native App:原生語言程序是為了特定的操作系統(tǒng)而編碼,用的也是特定操作系統(tǒng)的開發(fā)套件 (Platform SDK), 如 Apple iOS。因此它的性能和工具一向比 Hybrid App 優(yōu)越。

Hybrid App: 混合語言程序的部份代碼會(huì)以 Web 技術(shù)編寫,如 HTML5, CSS 和 JavaScript。這些程序都是被包裹在原生容器 (Native Container) 和透過手機(jī)上的瀏覽器引擎來呈現(xiàn) HTML 和執(zhí)行 JavaScript。 Hybrid App 的優(yōu)點(diǎn)是一個(gè)編碼程序能夠跨越不同的作業(yè)平臺(tái),不需要為每個(gè)操作系統(tǒng)編寫特定的編碼。

該選哪種語言好?

Developers 也因此常徘徊于該選用擁有優(yōu)越性能和工具的 Native App,還是單碼跨平臺(tái)的 Hybrid App 的頭痛抉擇里。究竟有沒有明確的答案顯示哪一個(gè)開發(fā)語言程序才是最強(qiáng)最佳的代表呢?

其實(shí),隨著手機(jī)操作系統(tǒng)不斷的更新,如近期的新版本的 iOS 和 Andriod, 都令手機(jī)的 Javascript 運(yùn)行速度改善了不少。

這種改進(jìn)令到 Hybrid App 的性能得到相當(dāng)?shù)奶嵘,而它們的工具設(shè)備也日漸成熟了。現(xiàn)在已經(jīng)有許多成熟又吸引的工具方案,如原生用戶界面 (Native UI) 和裝置應(yīng)用程序界面 (Device API),甚至有模擬器 (Simulators)、開發(fā)套件管理 (SDK Management)、裝置調(diào)試 (on-device debugging) 等等。

看來,人們對 Hybrid App 的開發(fā)已認(rèn)真起來了。

當(dāng)然, Hybrid App 的方案并不是完美萬能的,Native App 還有些地方是不能被取代,但現(xiàn)在 Hybrid 開發(fā)已經(jīng)證明了它已經(jīng)不遜于 Native 開發(fā)了。

要建造優(yōu)良的 Hyrbrid App 是需要精心的策劃和考慮到裝置上的網(wǎng)絡(luò)平臺(tái)獨(dú)特功能。在你準(zhǔn)備向下個(gè) Hybrid App 的大冒險(xiǎn)前進(jìn)時(shí),有幾點(diǎn)是值得留意的:

1 . 關(guān)鍵特性,如 App 的性能

2. 把 Native 當(dāng)做指引,從中學(xué)習(xí)

3. 選擇適當(dāng)?shù)拈_發(fā)工具,縮短與 Native App 的差距

當(dāng)然,你有選擇自由

Hybrid 和 Native 的爭論,就好像比較著蘋果和橙子哪樣較好,都是沒有贏家的。

就拿開發(fā) Apple iOS Native App 來打過比例,你毋須思索都會(huì)自動(dòng)想到用 IDE (XCode),一系列的程序庫和 Object-C 編碼程序設(shè)計(jì)工具 (CocoaTouch, CoreGraphics, CoreData 等) 的開發(fā)工具來編寫 iOS Native App。

如果我們把這些豐富的資源去和 Hybrid 用的 HTML, JavaScript 和 CSS 來作比較,這根本就是一件不公道的事!你還沒有把 Hybrid 的跨平臺(tái)這種優(yōu)點(diǎn)包括在內(nèi)呢!

Hybrid 除了能夠單碼跨平臺(tái)外,還能夠讓你自由地選擇你喜歡的應(yīng)用程序組合,如整合開發(fā)環(huán)境 (IDEs), 程序框架 (Frameworks), 程序工具 (tools) 和應(yīng)用程序服務(wù) (Services)。比起只支援單一平臺(tái) Native App,Hybrid App 無疑是更自由和更有彈性的首選。

性能是其中的一個(gè)設(shè)計(jì)重點(diǎn)

程序的性能對所有的 Apps 來說是非常重要的一環(huán),可是 Developers 常常把這部份留到最后。就是先把整個(gè)應(yīng)用程序做好再慢慢調(diào)整它的性能。對一般的桌上計(jì)算機(jī)還可以接受,可是在資源和電能都有限的移動(dòng)裝置上調(diào)整性能就會(huì)非常困難了。

如何解決這問題呢?答案就是將性能引入初步設(shè)計(jì)策劃里,而不是留到最后才開始慢慢調(diào)整。

例如你在編碼前已預(yù)先計(jì)劃了你的 App 將會(huì)以 60fps (Frames per second) 運(yùn)行,那么你大概需要 17 milliseconds per frame 去執(zhí)行程序碼和更新用戶界面 (UI)。這樣的時(shí)間根本不能提供流暢的運(yùn)行,還很可能會(huì)令你的幀 (Frame) 出現(xiàn)問題呢。為求 Hybrid App 有更好的穩(wěn)定性,建議采用 30 或 40fps 比較自然的運(yùn)行速度。

另一個(gè)影響 Apps 性能的因素就是用戶界面設(shè)計(jì)。

影子效果,漸變色層,仿真的修飾設(shè)計(jì)是可以提高用戶界面仿真度,但也會(huì)同時(shí)消耗了很多裝置的資源啊。所以在設(shè)計(jì)用戶界面前先問問自己,這些資源消耗量大的仿真設(shè)計(jì)是必要的嗎?或是可以用消耗量較少的平面設(shè)計(jì)呢?

從 Native 中學(xué)習(xí)

想拉近和你對手的距離,就要向他學(xué)習(xí)和熟悉他的招數(shù)。

設(shè)計(jì) Hybrid Apps 也應(yīng)如此的向 Native Apps 學(xué)習(xí),嘗試熟悉 Native SDK 的環(huán)境反應(yīng)和模擬它的設(shè)定。就拿 Apple iPhone 的滾動(dòng)屏幕做例子,當(dāng)你用手指頭在屏幕上下滾動(dòng),屏幕上的東西也隨著手指滾動(dòng)的方向快速地移動(dòng)。這樣的高性能和反應(yīng)速度是怎樣做到的呢?就是用 iOS 的 UITableView, 它能夠重復(fù)地使用被移出屏幕的單元格 (Table cell),載入新的資料,然后再次在屏幕的另一邊出現(xiàn)。

這種不斷重復(fù)利用單元格的技術(shù)叫做 『用戶界面虛擬化』。這種技術(shù)給使用者在一個(gè)在龐大的數(shù)據(jù)庫中滾動(dòng)的假象,其實(shí)真正用到資料單元格是很少的。因?yàn)橛玫降膯卧癫欢啵赃@種技術(shù)能令 App 的運(yùn)行速度更快速和更節(jié)省電力。

你能從上面學(xué)到什么關(guān)鍵能用在 Hybrid 上嗎?很多呢!當(dāng)中就是 UITableView 的單元格滾動(dòng)技術(shù)。把 UITableView 變成 HTML DOM 的元素,用這方法去仿效 UITableView 來用在 Hybrid App 上,那么 Developers 就能以類似的方式來重復(fù)使用或把 DOM 虛擬化來改進(jìn) Hybrid App 的滾動(dòng)體驗(yàn)了。

Hybrid 的開發(fā)是非常吸引的,因?yàn)槟軌虿捎媚闶煜さ木W(wǎng)頁技術(shù)來建造你的 App。可是這同時(shí)也是一個(gè)陷阱呢!記住不要把 Hybrid App 當(dāng)成一個(gè)迷你和獨(dú)立的網(wǎng)頁來設(shè)計(jì)啊。建造理想 Hybrid App 的最佳守則就是細(xì)心研究和觀察 Native 平臺(tái)和 SDK 的設(shè)計(jì),學(xué)以致用再 Hybrid Apps 的開發(fā)上。

你需要適當(dāng)?shù)?Hybrid 開發(fā)工具

雖然開發(fā) Hybrid Apps 的程序設(shè)計(jì)工具有很多,但一個(gè)優(yōu)良的工具是會(huì)把網(wǎng)頁平臺(tái)和 Native SDK 之間的的功能差距拉近。這樣子你就不需要擔(dān)心性能的問題了,因?yàn)檫@類的工具會(huì)在建設(shè) Hybrid App 時(shí)把程序的性能元素包括在內(nèi)。所以利用優(yōu)良的工具能夠得到與 Native 模式相同的好處。

當(dāng)然,你也可以自由地選擇適合你的開發(fā)工具并成功地建造你的 Hybrid App, 但當(dāng)跨平臺(tái)式和 App 的出品時(shí)間為你的首要條件時(shí),你就應(yīng)該選擇更優(yōu)良開發(fā)工具來建造你的 Apps。

一個(gè)好的 Hybrid App 是不會(huì)在無意間產(chǎn)生的。就如同 Native App 一樣,建造優(yōu)良的 Hybrid Apps 是需要把設(shè)計(jì)焦點(diǎn)放在性能和手機(jī)獨(dú)特的設(shè)計(jì)模式上。隨著手機(jī)網(wǎng)頁技術(shù)在近期不斷的提升,現(xiàn)已有很多很棒的跨平臺(tái)開發(fā)工具。只要有稍微的性能設(shè)計(jì)和有合適的工具,要打造一個(gè)華麗的跨平臺(tái)式 Hybrid App 已是一件輕而易舉的事了。

如果你還在做 Native App 的開發(fā),何不試試跳槽到 Hybrid 來個(gè)全新的開發(fā)體驗(yàn)?zāi)?

[責(zé)任編輯:楊錦]
從前期的預(yù)約到正點(diǎn)時(shí)那千鈞一發(fā)的時(shí)刻再到搶到后邊激動(dòng)邊付款,完全通過微信完成。這是一次移動(dòng)電商的成功,由小米初試水,讓我們感受到的是發(fā)燒的沸騰。而微信支付所形成的o2o閉環(huán)優(yōu)勢也正在顯現(xiàn)出來。
官方微信
weixin
精彩專題更多
存儲(chǔ)風(fēng)云榜”是由DOIT傳媒主辦的年度大型活動(dòng);仡2014年,存儲(chǔ)作為IT系統(tǒng)架構(gòu)中最基礎(chǔ)的元素,已經(jīng)成為了推動(dòng)信息產(chǎn)業(yè)發(fā)展的核心動(dòng)力,存儲(chǔ)產(chǎn)業(yè)的發(fā)展邁向成熟,數(shù)據(jù)經(jīng)濟(jì)的概念順勢而為的提出。
華為OceanStor V3系列存儲(chǔ)系統(tǒng)是面向企業(yè)級(jí)應(yīng)用的新一代統(tǒng)一存儲(chǔ)產(chǎn)品。在功能、性能、效率、可靠性和易用性上都達(dá)到業(yè)界領(lǐng)先水平,很好的滿足了大型數(shù)據(jù)庫OLTP/OLAP、文件共享、云計(jì)算等各種應(yīng)用下的數(shù)據(jù)存儲(chǔ)需求。
聯(lián)想攜ThinkServer+System+七大行業(yè)解決方案驚艷第十六屆高交會(huì)
 

公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會(huì)員注冊 | 訂閱中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.