偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Native和Hybrid哪種開發(fā)移動(dòng)APP更好?

移動(dòng)開發(fā)
正當(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)越。

[[92179]]

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ù)奶嵘鼈兊墓ぞ咴O(shè)備也日漸成熟了?,F(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ù)?nbsp;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)兀?/p>

責(zé)任編輯:張葉青 來源: 移動(dòng)信息化
相關(guān)推薦

2014-12-17 10:29:59

混合應(yīng)用Hybrid App開發(fā)實(shí)戰(zhàn)

2013-03-19 09:08:42

Hybrid App

2014-12-18 13:40:16

Web AppHybrid AppNative App

2013-10-09 09:10:28

移動(dòng)應(yīng)用開發(fā)NativeHybrid

2013-09-04 15:07:06

移動(dòng)應(yīng)用設(shè)計(jì)

2012-06-05 09:06:52

HTML5Native AppHybrid App

2021-08-13 07:56:11

App移動(dòng)應(yīng)用

2011-12-08 20:09:12

App

2012-05-28 14:13:26

HTML5Web AppNative App

2014-12-17 10:12:06

HybridAppFramewor頁面布局

2024-04-15 10:07:59

2014-12-17 11:09:39

Hybrid AppWebView裝載頁面

2012-05-30 09:22:56

Hybrid App助HTML5JavaScript

2014-12-17 10:43:01

Hybrid App平臺(tái)開發(fā)

2011-12-31 09:17:02

Web App

2011-04-12 16:02:09

Web AppNative AppWeb

2014-12-17 14:21:56

Hybrid App框架工具

2014-05-21 15:13:40

AppCanHybrid

2014-11-28 10:31:07

Hybrid APP

2022-08-31 09:31:20

AlibabaKoodinatorcontainers
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)