精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

DHH 談混合移動應用開發

移動開發
Facebook 在2012年發布了他們新的 iOS app,為了獲得更好的用戶體驗,他們放棄了原來的 HTML5 混合開發方式。考慮到2010~2011年的時候,HTML 在移動端的性能確實不盡如人意,這個決定在當時看來也在情理之中。2010年的時候我們覺得 iPhone 3G/3GS 夠眩夠快,但按照現在的標準來看它們就太慢了。因此在為移動應用開發做架構設計時,我們需要考慮新的移動設備的計算能力,而不是那些老的過時的設備。

[[125180]]

David,Ruby on Rails 作者,37signals 合伙人

暢銷書作家、演說家、賽車手、業余攝影師、顧家好男人

37signals 在2013年2月發布了 Basecamp 的 iPhone app,在此之前我們就使用原生開發(native)還是混合開發(hybrid)做了許多嘗試。在2012年項目啟動的時候,大多數人都傾向于原生開發。

Facebook 在2012年發布了他們新的 iOS app,為了獲得更好的用戶體驗,他們放棄了原來的 HTML5 混合開發方式。考慮到2010~2011年的時候,HTML 在移動端的性能確實不盡如人意,這個決定在當時看來也在情理之中。2010年的時候我們覺得 iPhone 3G/3GS 夠眩夠快,但按照現在的標準來看它們就太慢了。因此在為移動應用開發做架構設計時,我們需要考慮新的移動設備的計算能力,而不是那些老的過時的設備。

移動開發架構設計不需要過多考慮設備的性能

我們從一些測試中得出的一個結論是:現在的移動設備計算能力都很強,運行原生應用和 HTML 應用的效果差別不大,而 HTML 開發的成本則要比原生開發小得多。

當然這個結論在某些領域并不太適用。如果你要開發一個 3D 游戲,原生開發方式能夠帶來更好的游戲體驗。但如果你的移動應用象 Basecamp 一樣側重信息處理,為了降低開發成本,你就可以考慮混合開發方式。我們就是如此,下面是我們三代移動產品的發展軌跡:

第一代產品:原生外殼(native shell)+嵌套WebView

[[125181]]

這個版本就是一個簡單的原生外殼負責界面導航,嵌套一個 WebView 來顯示 Basecamp Rail application,顯示的基本上都是我們移動網站頁面,再加上一些特殊的樣式。

在移動網站的頁面上嵌套一個原生的殼,聽起來還是 Web 頁面,但實際帶給用戶的體驗確是非常不同。用戶可以在 Apple App Store 找到我們的 app,他們一旦登錄 app 后可以再也不用重新登錄(移動版本的 Safari 似乎會經常清空 cookie,讓你不得不重新登錄)。我們的 app 大受歡迎,用戶評分在4和5之間。

整個 app 由一名程序員和一名設計師開發,成本不高,因為我們可以在已有的移動網站的基礎上開發。

如果我們當初開發完全原生的 app,用10個人的團隊1年半的時間也未必能完成。

第二代產品:原生外殼+原生導航界面

1543-unnamed

幾個月前發布的 Basecamp Android app 是我們的第二代產品,我們在其中做了大量的改進。

從第一代 iPhone app 中我們感受到了原生導航界面的威力,所以在 Android 版本中,我們由 HTML 頁面導航轉向了原生導航界面。我們從 HTML 頁面生成原生導航界面,用戶體驗更加流暢,原生界面和 HTML 頁面的體驗差別越來越小,甚至很難區分哪些是原生部分,哪些是 HTML 。

Android 版本是由一兩個程序員和一個設計師開發(50%投入)完成的。我們重用了移動站點和 iPhone app 中使用的所有 webview,大大提高了開發效率,同時用戶也很買賬,超過1000名用戶打了4.5~5的高分。

很多公司在抱怨他們的 iOS 移動項目進展緩慢,Android 項目似乎更是如此。或許他們已經習慣了 iOS 項目的開發流程,也許是因為 Android 的屏幕碎片化問題,但是這些對我們來說那都不是事。我們推出的 Android app 表現良好,重用了95%的代碼,開發團隊也一直保持在小規模。

因地制宜地運用原生開發方式

目前我們正在開發第三代產品,發布的平臺暫時保密,不過你應該也不難猜到。在前兩代產品中,我們增加了原生導航界面的使用,同時進一步確定了以 webview 為核心的整體架構。在第三代產品中,我們將因地制宜地選擇需要使用原生開發的功能,好鋼要用在刀刃上。

從之前的100% HTML,到現在的90% HTML +10%原生,我們會選擇最值得做原生開發的那10%的部分,最終目的是讓 app 原生部分和 HTML 部分的體驗沒有太大區別。

混合開發模式使用的技術

混合開發模式在技術很簡單,主要是處理 webview 的集成、Web 頁面的加載,以及原生內容和 HTML 內容之間的交叉鏈接,其實可能比你想像的還要簡單得多。

HTML 方面,我們的 Rails Web 應用支持 Web 和移動兩大平臺,其中 Rails 4.1 feature of variants 起了很大的作用。

這也很大程度上有助于我們發布新功能。設想一下如果我們每次需要更新這么多平臺:Rails desktop app, a Rails API app, a client-side MVC app, a mobile web wrapper app, an Android app, and an iPhone app,像我們這樣只有10個程序員和7個設計師的公司根本無力承擔如此巨大的工作量。

除了工作量的減輕,bug 修復效率也提高了,因為大部分的代碼邏輯是在 Web 服務器端,我們可以隨時修改代碼并發布,不用通過 Apple App Store 的審批流程。所以我們的移動 app 和 Web 應用一樣,也是持續部署。

就如我之前提到的,混合模式開發并不適用于所有情況。在2010年以前,那時手機的處理能力都不強,所以 HTML/JS 的體驗并不好,用戶也不喜歡。但是時過境遷,現在手機的處理能力大大提高了,HTML/JS 的性能也不再是一個問題。

混合開發模式對原生開發模式的挑戰

混合開發模式在降低開發復雜度方面有它的優勢,如果你的產品是以顯示和處理信息為主,我認為都可以不同程度地采用這個模式。

對于小型團隊和公司而言,并不一定需要采用 iOS 原生 app 先行的模式。使用混合模式,不需要你重頭開發一個 app,這樣可以降低維護成本,將來擴展到其他平臺也更為方便。

當然我知道會有很多人質疑這個模式,或許因為他們的 app 中有很多地方需要原生開發(也許僅僅是他們自己這樣認為罷了)。又或許他們已經花了很多時間讓 app 里的 UITableView 看起來非常漂亮,以致如果其他地方不這樣的話顯得不是太完美。再或許大公司就是喜歡耗時耗力的原生開發,有錢就是這么任性。

無論怎樣,混合開發當下應該能夠成為我們移動開發策略的一個選擇。如果你認為這是一個好的選擇,那么恭喜你,盡情愉快地玩耍吧!

原文鏈接:Hybrid sweet spot: Native navigation, web content

下面補充一些 David 答讀者問:

Mike Waite @ 2014-05-08:我很好奇你是如何決定哪些功能要用原生開發?

David @ 2014-05-08:主要靠感覺,這畢竟不是一門科學。如果你感覺你app的某一部分如果用原生開發會更好些,可以嘗試做快速原型(spike)。很多 時候我們通過這種方式證明我們的想法其實是錯的。當然如果你需要使用到手機上的功能如:攝像和其他設備時,HTML目前還不太適用,不過永遠也不要把話說 死。

Mike Parsons @ 2014-05-08:好文。很好奇你們是否使用 PhoneGap 或者 Cordova 這樣的框架,或者你們自己開發了一個?

David @ 2014-05-08:我們沒有使用任何框架。(此處省去xxx字)

Derick @ 2014-05-08:你怎樣解決 Android 瀏覽器渲染速度慢的問題?這也是 Android 平臺上更多人傾向開發原生app得原因。

David @ 2014-05-08:不知道你這個結論是近期的還是以前的?Basecamp 的 Android app 在我的 Nexus 5 和 HTC One 上面運行得非常流暢。

Derick @ 2014-05-08:就是最近。我猜測可能和你使用JavaScript的多少有關系。因為以我個人的經驗,Android 上 JavaScript 的運行速度非常慢。如果你感興趣可以看看下面的文章:https://www.timroes.de/2013/11/23/old-webview-vs-chromium-webview/

David @ 2014-05-08:我們使用了很多JavaScript,當然沒有 Web MVC 客戶端用得那樣多。另外我們使用了 Turbolinks :)

責任編輯:閆佳明 來源: coolshell.cn
相關推薦

2014-12-17 10:29:59

混合應用Hybrid App開發實戰

2013-01-24 09:16:23

移動開發者移動應用開發

2017-02-15 10:22:23

移動應用開發

2013-09-13 13:16:05

2016-05-13 15:39:34

混合開發移動

2014-05-30 17:53:43

移動互聯網

2016-01-13 09:37:00

IDC混合開發react nativ

2011-04-06 15:22:00

虛擬引擎移動游戲開發

2016-01-29 16:47:12

2015-02-05 09:56:53

2016-05-04 10:00:04

混合開發移動博客

2011-03-14 13:40:02

移動Web架構人人網

2013-07-29 12:45:19

iOS開發經驗iOS提高應用開發效率

2015-01-12 09:52:08

移動應用原生混合

2015-01-12 12:11:10

移動應用原生混合

2013-07-19 09:12:54

2015-02-01 09:37:27

移動應用移動開發

2012-12-13 09:47:50

2011-01-13 14:52:47

移動應用開發趨勢2011年

2014-04-09 14:02:21

混合云應用混合云
點贊
收藏

51CTO技術棧公眾號

国产在线观看91一区二区三区| 欧美日韩经典丝袜| 久久99精品久久久久婷婷| 久久久999国产| 成年女人免费视频| 欧美影视资讯| 夜夜嗨av一区二区三区网页| 欧美日韩国产高清视频| 在线播放国产一区| 亚洲另类自拍| 超碰97人人做人人爱少妇| 少妇一级淫免费观看| 日韩黄色在线| 欧美视频在线免费看| 玖玖精品在线视频| 高清日韩av电影| 成人蜜臀av电影| 国产视频999| 日韩精品成人免费观看视频| 欧美日韩在线大尺度| 色噜噜国产精品视频一区二区| 中文字幕永久免费| 国产一区二区三区黄网站| 欧美性开放视频| 免费的一级黄色片| 欧美96在线| 久久久99精品免费观看不卡| 国产精品久久7| 国产一区二区在线播放视频| 久久精品国语| 97超级碰碰碰| 免费一级肉体全黄毛片| 无需播放器亚洲| 国产一区二区动漫| 精品无码人妻一区| 欧美1区二区| 精品999在线播放| 亚洲av无一区二区三区久久| 欧美特黄色片| 欧美日韩一二三区| 久久九九国产视频| 蜜桃视频成人m3u8| 日韩欧美aaa| 久久久久久久久久久久久国产精品| av资源一区| 亚洲电影在线播放| 亚洲人成无码网站久久99热国产 | 日韩欧美另类中文字幕| 色国产精品一区在线观看| 九色在线视频观看| 蜜桃视频m3u8在线观看| 午夜精品一区二区三区三上悠亚| 欧美国产综合在线| jizz一区二区三区| 亚洲国产精品一区二区久久恐怖片| 免费的av在线| 国内在线免费视频| 欧美日韩国产黄| 日韩网址在线观看| 亚洲高清黄色| 欧洲一区在线观看| 中文字幕久久av| 欧美黄色一级| 欧美精品一区二区三区蜜桃 | 久久伊人精品视频| 午夜69成人做爰视频| 欧美三区在线| 97超碰国产精品女人人人爽| 91玉足脚交嫩脚丫在线播放| 另类激情亚洲| 国产精品专区一| 99热这里只有精品在线观看| 国产精品1区二区.| 国产自产精品| 成人在线观看黄色| 成人欧美一区二区三区1314| 国产av熟女一区二区三区 | 国产精品91视频| 亚洲图片欧美在线| 国产不卡视频在线播放| 久久国产精品精品国产色婷婷| 人成在线免费视频| 中文字幕在线一区免费| 日本精品久久久久久久久久| 亚洲最大网站| 91精品国产91综合久久蜜臀| 好吊色视频一区二区三区| 久久综合欧美| 久久国产精品久久久| 日韩欧美三级视频| 蜜臀av亚洲一区中文字幕| 亚洲最大av在线| 你懂的视频在线| 亚洲蜜臀av乱码久久精品| 九一国产精品视频| 欧美综合影院| 亚洲精品二三区| 强制高潮抽搐sm调教高h| 激情综合久久| 国产精品视频一区二区高潮| 99久久亚洲精品日本无码| 91婷婷韩国欧美一区二区| 裸体裸乳免费看| 在线观看涩涩| 日韩女优电影在线观看| 一级肉体全黄裸片| 亚洲美女91| 91牛牛免费视频| 久青青在线观看视频国产| 一区二区三区欧美激情| 午夜在线观看av| 欧美电影在线观看免费| 久久亚洲精品毛片| 中文字幕手机在线视频| 从欧美一区二区三区| 亚洲欧洲一区二区福利| 热三久草你在线| 欧美第一区第二区| 娇小11一12╳yⅹ╳毛片| 亚洲欧美视频一区二区三区| 草莓视频一区| a级网站在线播放| 欧美色视频在线| 国产精品久久久久无码av色戒| 国内自拍视频一区二区三区 | 一级片视频免费| 久久久久久久性| 日日橹狠狠爱欧美超碰| 18国产精品| 久久这里有精品| 一区二区精品视频在线观看| 欧美激情综合五月色丁香小说| 阿v天堂2017| 国产精品白浆| 久久久中精品2020中文| 精品国自产拍在线观看| 亚洲婷婷综合久久一本伊一区| 成人性生生活性生交12| 欧美猛男男男激情videos| 国产91av在线| 四虎在线观看| 亚洲成人一区二区| 97中文字幕在线观看| 一区二区三区四区日韩| 91免费观看| 五月婷婷视频在线观看| 日韩欧美的一区二区| 中文字幕在线有码| 国产成人免费视频网站| 人人妻人人澡人人爽欧美一区双| 欧美视频二区欧美影视| 欧美国产日韩一区| 日韩有码第一页| 日韩欧美在线视频| www.99热| 国产在线一区观看| 一本色道久久88亚洲精品综合| 电影91久久久| 欧美极品少妇xxxxⅹ免费视频 | 亚洲午夜色婷婷在线| 婷婷激情五月综合| 国产精品欧美久久久久一区二区| 男人的天堂最新网址| 1024精品久久久久久久久| 99电影网电视剧在线观看| 超碰在线网站| 亚洲人成亚洲人成在线观看| 黄色一区二区视频| 亚洲精品午夜久久久| 无码任你躁久久久久久老妇| 亚洲欧美成人综合| 亚洲人成网站在线观看播放| 成人黄色理论片| 国产最新精品视频| 岛国大片在线观看| 欧美一区午夜精品| 可以免费在线观看的av| 国产精品三级久久久久三级| 伊人免费视频二| 夜夜嗨一区二区三区| 日韩精品福利视频| 日韩成人18| 欧美自拍大量在线观看| 毛片在线播放a| 亚洲成人网在线观看| 国产精品欧美综合| 一区二区三区视频在线看| 国产ts在线播放| 国产一区二区不卡| 成人一级片网站| 欧美一区二区三区久久精品| 久久国产精品久久| 国产精久久久| 日本电影亚洲天堂| 色呦呦在线播放| 一区二区欧美久久| 好吊色一区二区三区| 欧美性猛片aaaaaaa做受| 久久免费公开视频| 国产精品免费丝袜| 污污污www精品国产网站| 九九国产精品视频| 黄色片久久久久| 黄色成人在线网站| 亚洲欧美日韩精品综合在线观看| 露出调教综合另类| 成人性生交大片免费观看嘿嘿视频| 精品捆绑调教一区二区三区| 日韩视频免费大全中文字幕| 你懂的在线网址| 亚洲成人久久电影| 国产黄色片免费观看| 欧美亚洲高清一区二区三区不卡| 福利一区二区三区四区| 自拍偷拍欧美精品| 国产一级久久久久毛片精品| 丁香天五香天堂综合| 天天干天天av| 日本不卡视频在线| 天天夜碰日日摸日日澡性色av| 亚洲啊v在线观看| 午夜久久资源| 欧美日韩性在线观看| 欧美成人第一区| 欧美变态挠脚心| 国严精品久久久久久亚洲影视| 免费一级欧美在线大片| 成人黄色在线观看| 亚洲欧美一级| 成人激情视频小说免费下载| 欧美日韩va| 国产区精品在线观看| 国精产品一区一区三区四川| 日韩美女在线看| 国产不卡网站| 热久久美女精品天天吊色| 欧美办公室脚交xxxx| 久久久久久久久综合| 黄页网站在线| 97国产精品人人爽人人做| heyzo高清在线| 91国内免费在线视频| a级片免费在线观看| 91高清在线免费观看| 僵尸再翻生在线观看免费国语| 国产69久久精品成人| 亚洲播播91| 国产精品一区专区欧美日韩| 亚洲精品aaa| 亚洲最大成人免费视频| 北条麻妃在线一区二区免费播放| 成人免费在线看片| av综合网址| 国产精品免费一区二区三区在线观看| 97超碰成人| 久久综合毛片| 欧美美女在线| 正义之心1992免费观看全集完整版| 色喇叭免费久久综合网| 欧美大片免费播放| 亚洲人成免费| 苍井空浴缸大战猛男120分钟| 久久综合婷婷| 国产精品自在自线| 国产成人午夜视频| 国产毛片毛片毛片毛片毛片毛片| 91免费在线视频观看| 中文字幕av久久爽一区| 亚洲四区在线观看| 久久精品一级片| 色哟哟国产精品| 一级特黄特色的免费大片视频| 欧美一区二区三区四区高清| 手机在线观看毛片| 深夜成人在线观看| 男人添女人下部高潮视频在线观看| 97av在线影院| 成人黄色91| 免费看成人av| 亚洲一区二区三区| 女性女同性aⅴ免费观女性恋| 男人的j进女人的j一区| www日本在线观看| 久久久久久久久岛国免费| 美国一级片在线观看| 亚洲va韩国va欧美va| 日本成人一级片| 日韩精品一区二区三区视频播放| 欧美日韩视频精品二区| 久久这里只有精品99| 在线男人天堂| 91久久精品国产91久久性色tv| 日韩美女国产精品| 黑人巨大国产9丨视频| 免费精品视频| www.偷拍.com| 国产偷国产偷精品高清尤物| 久久久久久天堂| 精品视频全国免费看| 欧美一级性视频| 精品激情国产视频| 成人影院av| 国产精品一区二区免费| 99久久夜色精品国产亚洲96| 亚洲精品无码久久久久久| 国产精品一区二区三区99| 国产一区二区三区四区五区六区| 亚洲国产精品人人做人人爽| 国产精品视频一二区| 亚洲欧美精品一区| sm久久捆绑调教精品一区| 亚洲v日韩v综合v精品v| 欧美日韩在线二区| 91黄色小网站| 成人午夜电影小说| 波多野结衣爱爱视频| 欧美色图天堂网| 大地资源中文在线观看免费版| 97精品国产91久久久久久| 欧美另类中文字幕| 四虎免费在线观看视频| 美腿丝袜亚洲色图| 欧美激情亚洲色图| 色综合色综合色综合| 午夜av免费在线观看| 久久人人看视频| 美女精品久久| 免费观看国产视频在线| 激情综合亚洲精品| 农村老熟妇乱子伦视频| 欧美主播一区二区三区| 欧美新色视频| 欧美专区中文字幕| 伊人成综合网伊人222| 国产淫片免费看| av电影在线观看一区| 国产污污视频在线观看| 亚洲精品福利资源站| 色在线免费观看| 欧美精品免费观看二区| 国产免费成人| 欧美成人国产精品一区二区| 日韩欧美亚洲国产一区| 蝌蚪视频在线播放| 国产91亚洲精品| 欧美三级伦理在线| 久久99999| 日韩美女啊v在线免费观看| 91丨porny丨在线中文 | 97超碰免费观看| 国产一区91精品张津瑜| 美女福利视频在线观看| 日韩欧美不卡一区| www.超碰在线| 欧美高清视频一区| 免费在线亚洲| 永久免费av无码网站性色av| 欧美日韩中文精品| 麻豆av在线导航| 风间由美久久久| 中文一区在线| 91精品国自产在线| 在线综合视频播放| 国产第一页在线| 欧美日韩一区二区三区在线观看免| 日韩中文字幕av电影| 99久久婷婷国产综合| 亚洲成人黄色网址| 国产综合av| 一区二区三区四区免费观看| 国产白丝网站精品污在线入口| 国产欧美日韩另类| 中文字幕国内精品| 久久综合给合| 日本成年人网址| 1000精品久久久久久久久| 成人午夜免费在线观看| 日本高清不卡的在线| 91青青国产在线观看精品| 国产69视频在线观看| 欧美专区在线观看一区| caopeng在线| 日本不卡久久| 国产一区二区伦理| chinese国产精品| 欧美日韩国产成人在线| 中日韩免视频上线全都免费| 国产欧美激情视频| 狠狠躁夜夜躁久久躁别揉| 欧美天天影院| 免费久久99精品国产自| 国产精品一区专区| 亚洲 欧美 中文字幕| 欧美激情视频在线| 91亚洲国产高清| 亚洲国产欧美视频| 日韩一区二区三区四区| 四虎成人在线| 国精产品一区一区三区视频| 1000精品久久久久久久久|