本文由碼農(nóng)網(wǎng) – 唐李川原創(chuàng)翻譯,,轉(zhuǎn)載請(qǐng)看清文末的轉(zhuǎn)載要求,,歡迎參與我們的付費(fèi)投稿計(jì)劃,! 上周一我非常開心,。因?yàn)槲冶辉试S為一個(gè)曾經(jīng)工作過的客戶開始開發(fā)一個(gè)新的Progressive Web App原型,。 我拿出一個(gè)常在我身邊的用來開發(fā)的比較老式的Android手機(jī)。然后我從我的口袋里拿出精致的iPhone 6S,,它有著非常棒的界面設(shè)計(jì)和敏捷的操作系統(tǒng),。然而當(dāng)我看著我的iPhone時(shí)我有一些沮喪。 我意識(shí)到外表光亮的蘋果手機(jī)硬件作為一個(gè)平臺(tái)有些不兼容web應(yīng)用,,而我那又臟又破的Android手機(jī)卻可以。 就是這一點(diǎn)讓我意識(shí)到我和IOS已經(jīng)結(jié)束了,。 因此,我沒有打開我的文本編輯器而是下單買了一個(gè)Nexus 6p Android手機(jī)并且報(bào)名參加了Google fi手機(jī)服務(wù)課程(順便提一下,這真的很棒!). 就這樣,七年多以后,再見了IOS,。 什么!?IOS有什么問題嗎?還記得當(dāng)初iPhone的發(fā)布會(huì)嗎?在發(fā)布會(huì)上喬布斯將這款令人吃驚的移動(dòng)電話和音樂播放器和一個(gè)網(wǎng)絡(luò)交流設(shè)備的組合介紹給了消費(fèi)者。 我不知道你們是不是這樣,但是在我的觀念里有一個(gè)優(yōu)秀的網(wǎng)頁瀏覽器在我口袋里對(duì)我來說始終是一股巨大的誘惑力,。 那種理念從未改變,。 我當(dāng)然不知道這背后的整個(gè)故事,但是可以肯定的是蘋果公司的初衷是方便iOS第三方開發(fā)者能使用所有的web技術(shù)來開發(fā)app。Safari(瀏覽器,是蘋果計(jì)算機(jī)的最新操作系統(tǒng)Mac OS X中的瀏覽器)增加了對(duì)制作web app的支持,該web app可以作為一個(gè)圖標(biāo)添加到你的主屏上,并且通過在web app中添加少量能使用的具有魔力的元標(biāo)簽來制作出一個(gè)新的應(yīng)用,這個(gè)應(yīng)用可以安裝到你的主屏上,。然后,當(dāng)你打開這個(gè)app時(shí),它會(huì)以獨(dú)立模式跑起來,。 這個(gè)計(jì)劃的這些內(nèi)容在很多方面體現(xiàn)的就是最初的“Progressive Web App”,而這還是在2009年左右! 好好設(shè)想一下… 1.它們可以在瀏覽器里打開,但是你可以稍微改進(jìn)它們,讓它們能在手機(jī)主屏狀態(tài)下打開。 2.當(dāng)你在主屏上運(yùn)行它們的時(shí)候,它們會(huì)以滑動(dòng)屏幕的方式打開并且不需要任何可見的瀏覽器用戶界面,。 3.你可以挑選一個(gè)加載屏幕顯示方式和app圖標(biāo),。 4.你甚至可以從幾個(gè)不同的狀態(tài)欄工具顏色里選擇一款! 我不知道這種類型的app是否實(shí)際上是打算作為第三方開發(fā)者為IOS開發(fā)app的主要途徑,但是不管怎樣,這種方式已經(jīng)走在了它所處時(shí)代的前面。 不幸的是,蘋果公司的Web平臺(tái)本身并沒有完全準(zhǔn)備好成為公眾關(guān)注的焦點(diǎn),。它在某種程度上使創(chuàng)建的web app看上去和表現(xiàn)的像一個(gè)原生app,,這是六年前我用David Kaneda開發(fā)的很棒的JQTouch 庫準(zhǔn)備做的事。好玩的是,我發(fā)布的一個(gè)老掉牙的演示視頻,讓我得到David的關(guān)注,他給我打了一個(gè)電話,這使我差點(diǎn)在extjs里獲得一份工作,因?yàn)檫@時(shí)他們?cè)谥貥?gòu)Sencha并且開始編寫Sencha Touch框架。但是電話斷線使得一切成了泡影,。 但是不管怎樣,結(jié)果卻是在IOS操作系統(tǒng)上的web的性能卻不足以滿足開發(fā)者對(duì)提高IOS上web性能的渴望,。因此公司的開發(fā)者被留下來解決這個(gè)問題,他們常為解決優(yōu)化App性能,使其在設(shè)備上能夠自然地跑起來并且給它們更好的性能以及更高的API準(zhǔn)入權(quán)限的問題而抓狂,。 來看看IOS SDK和App Store蘋果公司曾做出了一個(gè)被證明是一個(gè)非常聰明的商業(yè)決策:他們發(fā)布了一款I(lǐng)OS SDK和一個(gè)App Store和其余的部分,。但是這個(gè)商業(yè)決策已經(jīng)成為了歷史。 首先,我對(duì)app很感興趣,這種興趣的程度看上去就和其他每一個(gè)人一樣,。當(dāng)我們真正需要一直工作構(gòu)建app時(shí),我們就一直忘身心的忙于構(gòu)建這種應(yīng)用程序!誰知道呢?!; 總之,我很快發(fā)現(xiàn)我自己在到處尋找最好的的app并且不管什么樣的銀行應(yīng)用,什么樣的社交網(wǎng)絡(luò)應(yīng)用,和什么樣其他的服務(wù)型的應(yīng)用,只要這種類型的應(yīng)用里有最好的IOS應(yīng)用我就會(huì)去尋找,。我買了一本關(guān)于在IOS操作系統(tǒng)上開發(fā)應(yīng)用的書而且還寫了一兩行簡(jiǎn)單的代碼。我以前的同事Ryan Youngman制作了一個(gè)iSaber應(yīng)用,這個(gè)應(yīng)用能讓你用你的手機(jī)在你的朋友面前晃動(dòng)形成一個(gè)虛假的光劍,。我認(rèn)識(shí)的每一個(gè)開發(fā)者都在談?wù)揑OS開發(fā)但是這種情形在某種程度上使得IOS所帶來的所有樂趣漸漸消失,。 要明白你不得不通過在IOS上開發(fā)app來跳到IOS這個(gè)坑似乎并不正確。 很快開發(fā)者放棄了完全開放的web空間而選擇一個(gè)磚墻高樹的城堡,在這個(gè)城堡里的最高統(tǒng)治者強(qiáng)迫每一個(gè)進(jìn)來的人繳納30%的稅收,。 因此,我決定專注于為IOS構(gòu)建”可安裝的web app”而不是去選擇那個(gè)城堡,因?yàn)槲液芸隙╳eb應(yīng)用將會(huì)追趕上來的,。 然而,這一切卻成為了不確定盡管原生app很流行,然而最初可以在這些單機(jī)上安裝web app的設(shè)想仍被新版本的IOS操作系統(tǒng)支持。但是,web app它們并不適合蘋果公司的商業(yè)模式!蘋果公司的App Store形成了很龐大的商業(yè),”app”一詞正在成為主流,每一個(gè)商人突然覺得他們需要有他們自己的”app”,無論他們是有一些使用他們app的用戶還是沒有,。 隨著蘋果公司的app生意風(fēng)生水起這些性能非常清晰和非??焖俚乇粌?yōu)化,這在某種程度上一點(diǎn)也不使人驚訝。最終的結(jié)果是,我們這些仍然在試著為IOS創(chuàng)建可安裝的web app的人在幾乎每一個(gè)新的IOS版本發(fā)布一些主要功能時(shí)我們就面臨著破產(chǎn),。 我要說的是QA(質(zhì)量保證)應(yīng)該始終被抓牢,我要說的是如果在蘋果公司工作的人是通過遵守這種標(biāo)準(zhǔn)來構(gòu)建的app,那么在它們發(fā)布之前這種情況就應(yīng)該被他們注意到了,。 一個(gè)曾死死拖住我而且信手拈來的例子是他們是如何在一個(gè)web app在單機(jī)模式下運(yùn)行時(shí)破壞webapp鏈接到外部站點(diǎn)能力的。target=_blannk是仍然長(zhǎng)時(shí)間在用的,既不可能是window.open對(duì)象方法也不是其他我能想到的方式?,F(xiàn)在我們獨(dú)立的app沒有一個(gè)URL地址欄或者后退按鈕,它只能讓用戶停留在他們第一次點(diǎn)擊時(shí)全屏顯示的web視圖里卻沒有辦法回到app界面!唯一的辦法是強(qiáng)行退出app(希望用戶知道如何這樣做),。 我們同時(shí)運(yùn)營(yíng)著一個(gè)聊天的應(yīng)用產(chǎn)品,因此我們知道當(dāng)某時(shí)有人在聊天頁面粘貼上來一個(gè)URL鏈接時(shí),那其實(shí)是一個(gè)陷阱。 這些問題仍然在出現(xiàn),發(fā)布了一個(gè)又一個(gè),。很快你就會(huì)明白,你可以在IOS上構(gòu)建這些類型的web app,但是你不能指望它們不會(huì)被IOS的下一次更新所打斷,。 通過這些事情你可以看到從蘋果公司傳達(dá)的信息清清楚楚:在IOS上web app是二等公民。 此時(shí)Android怎么樣?在那時(shí)我并沒有過多的關(guān)注過它,但是在中間這所有的一切發(fā)生的時(shí)候,Android也開始出現(xiàn)在了舞臺(tái)上,。Google公司承諾Android作為一個(gè)手機(jī)平臺(tái)將是一個(gè)更加開放的選擇,。Android操作系統(tǒng)讓幾個(gè)大公司形成了一個(gè)聯(lián)盟,他們的目的是從根本上打敗那個(gè)水果公司(這里的水果公司指得是蘋果公司)和它強(qiáng)大的喬式App Store而讓Android生存下去繼而占取絕大部分的市場(chǎng)份額。 聯(lián)盟的效果很明顯,Android開始獲得吸引力,但是在剛開始的時(shí)候Android的web性能讓人感覺很差勁,。 五年很快過去了,情況如何呢?…1.人們被手機(jī)應(yīng)用程序弄得心力交瘁的,。 2.絕大部分的開發(fā)者構(gòu)建出的原生IOS app甚至從來沒有讓他們回本過。我們知道這些事情發(fā)生在2013年,。 3.少量的手機(jī)游戲仍然能賺到錢,但是那得看你的人品和運(yùn)氣了,。 4.與此同時(shí),在全球卻有超過14億的活躍Android用戶。 5.Android轉(zhuǎn)而使用Chrome(谷歌瀏覽器)作為Android手機(jī)的默認(rèn)瀏覽器,。 6.Chrome瀏覽器和Opera瀏覽器和Firefox瀏覽器增加了一些功能,這些功能允許通過Web來構(gòu)建真實(shí)的app體驗(yàn),。 于是此時(shí)我放棄了IOS,開始在Android上弄開發(fā),。 為什么選擇Android?它不是更多的是一成不變嗎?確實(shí)是這樣,老實(shí)說,Android手機(jī)本身讓我感覺到討厭,。因?yàn)樗]有什么非常新奇的或者令人興奮功能,。 但是注意一個(gè)很重要的細(xì)節(jié)…… 它是現(xiàn)在最好的手機(jī)Web App開發(fā)應(yīng)用平臺(tái)。 你什么意思?!蘋果的Safari瀏覽器不是運(yùn)行我的JS腳本更快嗎?很多人當(dāng)他們談到這個(gè)問題時(shí)都會(huì)提到Jeff Atwood(又名codinghorror)的帖子,這個(gè)帖子我寫下了所有的原因來回應(yīng)它并隨后貼到了論壇,如果你感興趣可以看看,。 是的,Safari瀏覽器確實(shí)能使我的JS腳本運(yùn)行的更快,但是要知道的是……你的絕大部分用戶并沒有一個(gè)外表精致而且嶄新的iPhone 6s,,并且像我之前所說的,在手機(jī)Web上押注類似電腦桌面的性能或者向一個(gè)手機(jī)設(shè)備發(fā)送龐大的框架像Ember(JS框架)也許并不是一個(gè)很好的注意。 而對(duì)于性能,有一種東西叫做”夠用就好”,。蘋果公司的Safari瀏覽器即使是運(yùn)行JS的速度比其它瀏覽器運(yùn)行JS的速度快50倍也是毫無意義的!我看重的是在瀏覽器上我的app是否能夠快速的被運(yùn)行起來,。作為一個(gè)手機(jī)用戶,除此之外其它的我一點(diǎn)也不在意。 事實(shí)證明,編寫的web app實(shí)際上是可以以60幀的速度運(yùn)行在一個(gè)又破又爛的手機(jī)硬件上的,。 但是將這一切放到一邊,需要注意的是:我所說的”更好的app平臺(tái)”不是指這個(gè)平臺(tái)能以更短的時(shí)間更快的運(yùn)行JavaScript腳本,。 所以為什么不直接在IOS上用Chrome瀏覽器?!于是我開始在Twitter上交流問題,我由最初的驚訝到最終意識(shí)到很多人并不知道能安裝到IOS上的Chrome和Opera和Firefox在底層上使用的都是WebKit web視圖。 然而實(shí)際上,包含了一個(gè)不同瀏覽器引擎的app是違法了蘋果公司服務(wù)條款規(guī)定的,。 那些瀏覽器只不過是在同一個(gè)瀏覽器引擎上使用了不同的UI,。 那不會(huì)使WebKit越來越好嗎?是的,最近看上去它們有正在被拾起的勢(shì)頭,。 但是在瀏覽器窗口中的變化之外它發(fā)生了更多的事情,。我希望能在IOS操作系統(tǒng)上用web技術(shù)創(chuàng)造類似app的性能。 然而我可以直接告訴你在IOS上這方面的改進(jìn)幾乎沒有,。 讓我們看看蘋果公司和谷歌的WebRTC谷歌WebRTC簡(jiǎn)介鏈接地址: http://baike.sogou.com/v73305448.htm?fromTitle=WebRTC 幾年前當(dāng)我構(gòu)建SimpleWebRTC和Talky.io(一個(gè)瀏覽器組件)的第一個(gè)版本時(shí),。 我似乎成為了早期web極客中的一個(gè),WebRTC使我變得很開心(這項(xiàng)瀏覽器網(wǎng)頁技術(shù)現(xiàn)在給谷歌的環(huán)聊提供了動(dòng)力)。不管怎樣,我努力的去解決怎樣在web上構(gòu)建第一個(gè),或許是第一個(gè)多用戶的,點(diǎn)對(duì)點(diǎn)的視頻通話WebRTC app,它可以在超過兩個(gè)人之間工作并且能在Chrome瀏覽器和FireFox瀏覽器上運(yùn)行,。 Google Hangout簡(jiǎn)介鏈接地址: http://labs./mblog/393695_200864 這是我第一次體會(huì)到蘋果公司在實(shí)現(xiàn)新的web API方面的落后.雖然Chrome瀏覽器和Firefox瀏覽器對(duì)WebRTC都很熱心而且努力地去實(shí)施它,但是蘋果公司卻對(duì)這一切裝作毫不知情,哪怕瞧上一眼,。蘋果公司直到今天也沒有在IOS里增加對(duì)WebRTC的支持。然而,蘋果公司很明顯正在雇傭Safari團(tuán)隊(duì)的WebRTC工程師,。所以還是保持希望吧……,。 他們那樣做是有道理的,對(duì)吧?他們?yōu)槭裁匆@樣做呢?他們希望你使用FaceTime,不是嗎? 他們很樂意改善他們的瀏覽器引擎,但是他們似乎不愿意或者拖著去做任何涉及到把web的觸角伸向他們手機(jī)操作系統(tǒng)的任何事情。 不管怎樣,我們把Talky.io當(dāng)做一個(gè)web app一樣安裝并在Chrome瀏覽器和FireFox瀏覽器上運(yùn)行,而且最終@hjon也用它構(gòu)建了一個(gè)IOS app. 現(xiàn)在充斥在我腦海里的是有這么一天當(dāng)我在我的Android手機(jī)上下載下來Chrome瀏覽器,然后用它打開Talky.io時(shí)有這樣的感覺:這個(gè)該死的東西果然運(yùn)行了!(很高興的意思,。) 自從那時(shí)起我開始更加關(guān)注在移動(dòng)端的Chrome瀏覽器上發(fā)生的事情,而且移動(dòng)端的Chrome瀏覽器上發(fā)生的每一件事情令人印象深刻。 與此同時(shí)在Android上發(fā)生的事情在過去的幾年中,一些非常聰明,非常有耐心的理想主義開發(fā)者(他們中的很多人在Google公司工作)相信web會(huì)成為潮流并為推動(dòng)web的發(fā)展努力工作,他們實(shí)行了新的web標(biāo)準(zhǔn)來彌補(bǔ)原生應(yīng)用程序和web應(yīng)用程序之間的差距,。 難以置信的是一些非??岬臇|西被開發(fā)了出來,像: .WebBluetooth(是的,從一個(gè)網(wǎng)站的網(wǎng)頁上運(yùn)行編寫好的JS程序能與藍(lán)牙設(shè)備對(duì)話)。 .WebNFC(NFC是一種短距離的點(diǎn)對(duì)點(diǎn)式的交互技術(shù),這里是其在Web上的應(yīng)用技術(shù))也被開發(fā)了出來,很明顯這些新奇的技術(shù)正在掀開物聯(lián)網(wǎng)的面紗(但是這完全是另一篇發(fā)表的博客的內(nèi)容),。 在Android上的Chrome的地址欄里輸入chrome://flags,然后看看上面現(xiàn)在在準(zhǔn)備開發(fā)的東西,。那上面的東西太令人吃驚了! 不管怎樣,在過去的幾年里, ServiceWorker技術(shù)和Progressive Web App的概念構(gòu)建起了一種特色,這種特色使我比以前我使用過的任何web技術(shù)更讓我開心,而且這種開心的心情會(huì)持續(xù)很久很久。 ServiceWorker介紹鏈接: http:///articles/2015051201.html Progressive Web App介紹鏈接: http://blog.csdn.net/ejinxian/article/details/50082889 我相信在Android里引入ServiceWorker技術(shù)和Progressive Web app技術(shù)是自從蘋果公司CEO喬布斯首次把iPhone手機(jī)介紹給用戶以來在移動(dòng)web平臺(tái)上發(fā)生的最重要的事情,。 為什么這樣說呢?!因?yàn)?這是第一次我們擁有一個(gè)有著龐大用戶基礎(chǔ)的移動(dòng)平臺(tái),這個(gè)平臺(tái)讓我構(gòu)建的每一個(gè)web app被當(dāng)做了一等公民看待! (注意:是的,我知道還有其他的平臺(tái)試圖這樣做的,但是它們中沒有一個(gè)是有著14億活躍用戶的,。) 這些新技術(shù)最終給了我們開發(fā)者一個(gè)平臺(tái),在這個(gè)平臺(tái)上每一個(gè)web app都是一等公民! 而且需要說清楚的是,我不僅僅是在談?wù)撘环N將一個(gè)美化的標(biāo)記貼到主屏上的方法! 我正在談?wù)摰氖悄苁刮覀儤?gòu)建的web app與原生的app別無二致的方法。 這些各種類型的app所遵循的唯一條款是”Progressive Web App”條款。 事實(shí)上,我認(rèn)為Progressive Web App(簡(jiǎn)稱PWA)實(shí)際上對(duì)原生app有著巨大的幫助,因?yàn)槟憧梢粤⒓撮_始使用它們,。你不需要登錄電腦搜索界面,然后由搜索界面跳轉(zhuǎn)到一個(gè)app商店,再然后等上一兩分鐘直到一些龐大的二進(jìn)制包被下載下來,。它們就是web app,它們有URL,它們可以被構(gòu)建加載的超快。因?yàn)椤覀円呀?jīng)在web上優(yōu)化加載時(shí)間的性能很長(zhǎng)時(shí)間了,。 用戶僅僅需要很少的磨合時(shí)間就可以開始使用它們,。而用戶需要考慮的是它們?nèi)绾蝸硖幚砟愕霓D(zhuǎn)換數(shù)據(jù)! 由于在Android行業(yè)中經(jīng)驗(yàn)的增加,我敢肯定企業(yè)針對(duì)他們的Android用戶有著這樣強(qiáng)烈的疑問:他們有必要構(gòu)建原生Android app嗎? 那么到底什么是Progressive Web App呢?出于某種原因Google公司已經(jīng)在設(shè)法教一代的開發(fā)者什么是Polymer框架和Angular框架。不幸的是,現(xiàn)今我遇到的和交談的絕大部分web開發(fā)者對(duì)什么是ServiceWorkers或者什么是Progressive Web App 還是零的概念,。 Polymer框架簡(jiǎn)介鏈接: http://www./wap.aspx?nid=102184&cid=10&sp=1348 Angular框架簡(jiǎn)介鏈接: http://www.jb51.net/article/60494.htm 一些人產(chǎn)生上面問題的原因是因?yàn)镻rogressive Web App完全是嶄新的東西,而最近產(chǎn)生上面問題的人數(shù)在減少,情況得到了改善……上帝啊……我希望這種改變,。 你可以這樣想象一個(gè)progressive web app: 它是用HTML,CSS和JS腳本編寫的一個(gè)app,而且它完全可以被當(dāng)成一個(gè)原生的app. 這包括: 1.在手機(jī)主屏上運(yùn)行,。 2.在Android的app切換器上作為一個(gè)單獨(dú)的app(不是作為瀏覽器App的一部分)運(yùn)行,。 3.正真的離線行為…這意味著當(dāng)你用手指點(diǎn)擊app圖標(biāo)時(shí)……不管它是否是在當(dāng)前網(wǎng)絡(luò)狀態(tài)它都會(huì)打開。 4.即使當(dāng)app和瀏覽器關(guān)閉時(shí),它仍然能在后臺(tái)運(yùn)行并觸發(fā)操作系統(tǒng)級(jí)的消息通知,。 這些app作為一個(gè)標(biāo)簽開始生存和運(yùn)行在你的瀏覽器里,而不是作為一個(gè)無用的網(wǎng)頁上面寫著”請(qǐng)按照我們的app”標(biāo)語開始的,。然后漸漸地它們會(huì)被更多的安裝直到最終成為操作系統(tǒng)的一部分。 起初,它和你訪問的其他網(wǎng)站沒有什么不同,。但是,然后你如果在你的瀏覽器里再次訪問同一個(gè)站點(diǎn)或者app,,你的瀏覽器會(huì)巧妙地問用戶是否愿意把它添加到他們的桌面。 從這一刻開始它對(duì)用戶來說就變得與原生app一樣了,。 并且,如果你正確的構(gòu)建它們,通常用戶根本不需要下載它們或者浪費(fèi)時(shí)間等待下載,。這也就意味著把它添加到主屏幕上,app會(huì)立即生效,這中間的安裝過程會(huì)很短。另外,設(shè)想一下它會(huì)為你的轉(zhuǎn)換做些什么?是嗎?(不,我不是加拿大人)(大概加拿大人精于計(jì)算). 幸運(yùn)的是,我們不必去完全猜測(cè)它們的商業(yè)影響,。我們實(shí)際上從印度一家名叫FlipKart價(jià)值200億美元的在線零售商那里獲得了一些真實(shí)的數(shù)據(jù),這家在線零售商上線了一個(gè)PWA并且他們共享了他們的一些數(shù)據(jù),。 從FlipKart的數(shù)據(jù)中篩選出的關(guān)鍵重點(diǎn):
這些數(shù)據(jù)來自Alex Russel最近就手機(jī)的下一步是什么的主題發(fā)表的流利演講。我支持你去看看并且在你所在的公司里把它和你的產(chǎn)品經(jīng)理和你的領(lǐng)導(dǎo)分享分享,。那很好解釋了什么是Progressive WebApp和為什么選擇Progressive Web App. 相關(guān)閱讀查看:
那么這對(duì)我們意味著什么呢?那意味著我們作為web開發(fā)者最終能構(gòu)建快速流暢的完全可以離線的并且用戶隱私可以得到保護(hù)的app,,而且app可以在交叉平臺(tái)上運(yùn)行而不用向蘋果公司繳納任何該死地App Store稅收,不再需要等待審批過程,用戶不再會(huì)伴隨著”在使用這項(xiàng)服務(wù)之前請(qǐng)安裝我的app”的聲音而被拒之門外。 那么關(guān)于IOS的支持呢?很好,它妙就妙在即使service worker在IOS上的支持不存在,IOS用戶仍然可以使用你的web app. 他們只是沒有獲得額外的功能,比如離線功能和推送消息功能,。 但是你也可以把Cordova捆綁進(jìn)你的app而且還可以使用Service Worker插件,理論上這將使你用同樣的代碼去做這些事情,但是它們捆綁到一起后就可以看做是一個(gè)IOS app了,。 Cordova介紹鏈接: http://www.cnblogs.com/luoguoqiang1985/p/3574738.html 我為什么要關(guān)注?React Native現(xiàn)在出現(xiàn)了并且可以用來解決同樣的問題。 React Native介紹鏈接: http://blog.csdn.net/u011068702/article/details/49431211 就我個(gè)人而言,我實(shí)際上有些希望像React Native的工具不存在的,。耐心些聽我解釋,。React Native是一個(gè)令人既吃驚又印象深刻的工具,它使我們可以使用我們的JS編程技巧來編寫原生的IOSapp. 但是就像我一直所說的……我不認(rèn)為我們應(yīng)該構(gòu)建原生的app,除非我們完全需要這么做。 React Native產(chǎn)生的最終結(jié)果是因?yàn)樗拇嬖诤鸵驗(yàn)樗饕槍?duì)的是web開發(fā)者,我們現(xiàn)在有web開發(fā)者涌向開發(fā)原生app,因?yàn)橛辛诉@個(gè)框架他們有能力開發(fā)原生app了! 我怕這種變化在無形中破壞我們使用我們集體討價(jià)還價(jià)的力量來促使蘋果公司實(shí)現(xiàn)在IOS中對(duì)Progressive Web App支持的能力,。 需要澄清的是,我完全理解它為什么會(huì)被創(chuàng)建出來,而且我也非常的尊重它所代表的技術(shù)成就和尊重它背后的開發(fā)商,。 我僅僅是不想讓我們停止去促使蘋果公司改善在IOS中對(duì)web的支持,。 總結(jié)因此,這也就是說,作為一個(gè)消費(fèi)者這些事情最終讓我能用的唯一投票權(quán)是……我掏出兜里的錢然后離開。 我不認(rèn)為這是我轉(zhuǎn)變到Android平臺(tái)弄開發(fā)工作,我只是切換到當(dāng)今可用的移動(dòng)web app 平臺(tái)中最好的那個(gè),。 Web是我們所能獲得的唯一真正開放的平臺(tái),。它是最接近我們需要的公平競(jìng)爭(zhēng)環(huán)境。 這就是為什么我集中我所有的努力來構(gòu)建Progressive Web App…….我希望你們也做同樣的事情,。 在twitter上我的名字是@HenrikJoreteg,如果你想很好地告訴我我做錯(cuò)的地方的話可以聯(lián)系我,。 譯文鏈接:http://www./article/why-giveup-ios-choose-android.html |
|