Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
錯(cuò),這是一個(gè)被大家炒爛了的問(wèn)題。如果,你去問(wèn)身邊做HTML5和原生應(yīng)用程序開(kāi)發(fā)的程序員,他們一定是各執(zhí)一詞。或許,很多市場(chǎng)分析師和戰(zhàn)略專家會(huì)把這場(chǎng)爭(zhēng)論再夸大一些,但其實(shí)這場(chǎng)辯論早就有了結(jié)果,是時(shí)候結(jié)束爭(zhēng)執(zhí)了!
2012年,F(xiàn)acebook的首席執(zhí)行官馬克·扎克伯格(Mark Zuckerberg)表示,對(duì)HTML5的賭注成為他最大的錯(cuò)誤,這至少耽誤了兩年。從這之后,HTML5就漸漸處于邊緣化的境地了。
曾經(jīng),在一場(chǎng)關(guān)于移動(dòng)應(yīng)用程序開(kāi)發(fā)技術(shù)相關(guān)的大會(huì)上,有一個(gè)初期創(chuàng)業(yè)者問(wèn)了這樣一個(gè)問(wèn)題:“作為初創(chuàng)企業(yè),缺錢(qián)缺人缺資源,我們是否可以考慮采用HTML5的方式開(kāi)發(fā)應(yīng)用程序呢?”當(dāng)時(shí),在場(chǎng)的很多專家給出的意見(jiàn)是:“就算可能會(huì)慢點(diǎn),也還是要選擇原生。”
雖然HTML5在過(guò)去幾年取得了良好的進(jìn)展,很多應(yīng)用程序開(kāi)發(fā)者也將HTML5列為他們最常用的移動(dòng)平臺(tái)(可以理解,鑒于其通用能力)之一,但市場(chǎng)最終還是決定了原生移動(dòng)應(yīng)用程序開(kāi)發(fā)的方式。
客戶選擇原生開(kāi)發(fā)方式
研究表明,移動(dòng)體驗(yàn)對(duì)用戶是否購(gòu)買(mǎi)有著巨大的影響。Oracle發(fā)現(xiàn),超過(guò)一半(55%)的受訪客戶認(rèn)為,較差的用戶體驗(yàn)會(huì)大大降低用戶數(shù),對(duì)應(yīng)用程序的未來(lái)有很大的影響。所以,很多客戶寧愿花重金選擇原生開(kāi)發(fā)方式,HTML5或混合應(yīng)用程序開(kāi)發(fā)還有很多不足,讓客戶產(chǎn)生不滿。
這里有一個(gè)真實(shí)的案例:一個(gè)叫Fly Delta的原生應(yīng)用程序與與競(jìng)爭(zhēng)對(duì)手的基于Web的應(yīng)用程序的對(duì)比。Fly Delta的客戶得益于用戶友好的本機(jī)功能,以快速獲取記錄,提交行程修改等,HTML5應(yīng)用程序顯然不能提供本地應(yīng)用程序眾所周知的簡(jiǎn)單體驗(yàn),最終導(dǎo)致失去競(jìng)爭(zhēng)優(yōu)勢(shì)。
HTML5應(yīng)用程序的優(yōu)點(diǎn):·
通過(guò)移動(dòng)工具提供現(xiàn)有內(nèi)容的簡(jiǎn)單選擇。
最簡(jiǎn)單的開(kāi)發(fā)方式:建立一次,便可用于所有工具。
缺點(diǎn):
較差的用戶體驗(yàn):用戶預(yù)計(jì)的移動(dòng)應(yīng)用程序有著,一個(gè)引人注目的用戶界面; 受益于移動(dòng)設(shè)備硬件的獨(dú)特功能; 適時(shí)的消息推送。這些通常應(yīng)該具備的信息和功能卻在手機(jī)web上受到了極大的限制。
較差的性能:長(zhǎng)時(shí)間的負(fù)載和無(wú)法在離線或低帶寬模式下運(yùn)行的功能。
優(yōu)點(diǎn):
使用HTML5或類(lèi)似技術(shù)構(gòu)建的移動(dòng)應(yīng)用可以提供消費(fèi)者手機(jī)上的“區(qū)域”,可用于彌補(bǔ)本機(jī)應(yīng)用程序和移動(dòng)網(wǎng)站之間的一些差距。
HTML5或混合應(yīng)用程序是具有互聯(lián)網(wǎng)開(kāi)發(fā)功能的團(tuán)隊(duì)吸引人的途徑之一,并希望構(gòu)建移動(dòng)應(yīng)用程序以獲得額外的參與。
缺點(diǎn):
一個(gè)混合應(yīng)用程序基本上是一個(gè)包含“Web功能”的移動(dòng)網(wǎng)站,但上述所有UX /整體性能問(wèn)題仍然存在。由于這些應(yīng)用需要一個(gè)恒定的網(wǎng)絡(luò)連接,它們限制了部分功能,導(dǎo)致用戶無(wú)法在低/無(wú)帶寬區(qū)域中使用它們。
這些應(yīng)用程序與每個(gè)工具以完全相同的方式構(gòu)建;,沒(méi)有客戶在移動(dòng)體驗(yàn)中期待的獨(dú)特功能。
自定義的原生應(yīng)用程序提供了極好的消費(fèi)享受,功能最強(qiáng)大。
優(yōu)點(diǎn):
干凈的UI。
尖端的設(shè)備和人才。
與Web應(yīng)用程序相比,更快的加載速度。
在線或離線的卓越表現(xiàn)。
更高的可發(fā)現(xiàn)性
與HTML5相比,安全性更高。
缺點(diǎn):
每個(gè)移動(dòng)平臺(tái)都需要一番改進(jìn)并且價(jià)格昂貴!
蘋(píng)果今年發(fā)郵件致開(kāi)發(fā)者“禁止熱更新”事件,其實(shí)也表明了蘋(píng)果的態(tài)度,在移動(dòng)開(kāi)發(fā)領(lǐng)域,蘋(píng)果顯然也更支持原生開(kāi)發(fā)。長(zhǎng)遠(yuǎn)來(lái)看,原生開(kāi)發(fā)才是企業(yè)的正確選擇!但近幾年,阿里推出的Weex漸漸顯山露水,這個(gè)動(dòng)態(tài)化框架似乎顯示出了巨大的潛力,未來(lái)移動(dòng)開(kāi)發(fā)這片天下會(huì)不會(huì)屬于Weex呢?
近總有人在問(wèn)到底是HTML5好,還是原生開(kāi)發(fā)應(yīng)用好,這個(gè)要一分為二的看待,主要看你的應(yīng)用場(chǎng)景,適合你的就是最好的,下面我們比較了五個(gè)參數(shù)列表,讓你清晰的了解何時(shí)用HTML5何時(shí)用原生開(kāi)發(fā)。
自從去年10月HTML5規(guī)范塵埃落定以來(lái),HTML5立馬就受到了很多人推崇,也就從那時(shí)候起,許多開(kāi)發(fā)人員都采用HTML5來(lái)構(gòu)建自已網(wǎng)站和開(kāi)發(fā)移動(dòng)應(yīng)用程序,那是否意味著HTML5將完全取代本地應(yīng)用開(kāi)發(fā)呢?答案是否定的。
盡管HTML5被日益普及和接受, 但很多人還在關(guān)心到底選擇HTML5 Web應(yīng)用程序還是本地平臺(tái)應(yīng)用程序?與大多數(shù)技術(shù)問(wèn)題的回答一樣,誠(chéng)實(shí)的答案是“一切要視情況而定。”接下來(lái)我們將二者的五個(gè)參數(shù)列表比較一下。當(dāng)你在考慮移動(dòng)信息化項(xiàng)目的時(shí)候,HTML5和本地平臺(tái)應(yīng)用程序之間哪個(gè)更適合你?
一年前有個(gè)非常現(xiàn)實(shí)的問(wèn)題擺在我們面前:Web瀏覽器該怎樣去兼容HTML5。雖然個(gè)別瀏覽器對(duì)實(shí)現(xiàn)HTML5的特定技術(shù)仍有問(wèn)題,但主流瀏覽器都對(duì)HTML5結(jié)構(gòu)和功能給予了支持。
但這并不是說(shuō)HTML5就沒(méi)有問(wèn)題,本地應(yīng)用也有問(wèn)題。這里有支持每種技術(shù)的五個(gè)論點(diǎn),首先是HTML5,然后是本地應(yīng)用。
HTML5——一次編寫(xiě),隨處運(yùn)行
在HTML5中,開(kāi)發(fā)人員編寫(xiě)一套代碼能夠在每個(gè)平臺(tái)的Web瀏覽器上運(yùn)行。而不是對(duì)于每個(gè)移動(dòng)設(shè)備都需要寫(xiě)不同的代碼,程序員可以讓W(xué)eb瀏覽器處理特定設(shè)備的功能。
在現(xiàn)實(shí)中,大多數(shù)開(kāi)發(fā)人員都會(huì)寫(xiě)一些自適應(yīng)代碼來(lái)解決不同終端上的執(zhí)行問(wèn)題。但是大部分程序在任何終端都可執(zhí)行。一旦時(shí)間緊迫、錢(qián)財(cái)流失的開(kāi)發(fā)工作進(jìn)行時(shí),這并不是一件小事。
HTML5——可以贏得一個(gè)時(shí)代
找到一個(gè)HTML技能的開(kāi)發(fā)人員不是特別難。畢竟HTML5是拿來(lái)教小學(xué)生的。但在另一方面,它也是一個(gè)挑戰(zhàn),如何找到合適的人來(lái)填補(bǔ)本地應(yīng)用開(kāi)發(fā)團(tuán)隊(duì)。當(dāng)HTML5開(kāi)發(fā)占據(jù)主導(dǎo)時(shí),你就擁有了可以開(kāi)始構(gòu)建你的移動(dòng)應(yīng)用程序的技能了。
的確, HTML5不同于HTML4。HTML5中有很多結(jié)構(gòu)和標(biāo)記在HTML4中都不存在,但幾乎所有在HTML4中的東西在HTML5上都支持,并且學(xué)習(xí)起來(lái)相對(duì)簡(jiǎn)單。不像Web開(kāi)發(fā)人員那樣需要學(xué)習(xí)本地應(yīng)用程序的編程語(yǔ)言。
HTML5——時(shí)間就是金錢(qián)
總的來(lái)說(shuō),HTML5可以快速發(fā)展,不同頁(yè)面可以分配給不同的開(kāi)發(fā)人員。并且代碼可以被編寫(xiě)、測(cè)試,并在短時(shí)間內(nèi)修正。
正所謂“時(shí)間就是金錢(qián)”,80年前是真言,現(xiàn)在也是真言。當(dāng)你可以迅速開(kāi)發(fā)代碼時(shí),您就可以開(kāi)發(fā)代碼經(jīng)濟(jì)。這在任何人的網(wǎng)頁(yè)上都是一個(gè)勝利。
HTML5——構(gòu)建傳統(tǒng)Web和移動(dòng)應(yīng)用程序之間的橋梁
四年前若想將傳統(tǒng)Web遷移到移動(dòng)端,不僅要突破HTML4所有的性能和功能上的限制,還要接受本地應(yīng)用編程所帶來(lái)的成本和復(fù)雜性問(wèn)題。因?yàn)闆](méi)有一種技術(shù)可以將兩個(gè)牽線搭橋并將二者的優(yōu)勢(shì)結(jié)合,直到出現(xiàn)了HTML5。
使用HTML5,您可以構(gòu)建一個(gè)看起來(lái)像是本地應(yīng)用的應(yīng)用程序。它可以是在用戶手機(jī)屏幕上的一個(gè)圖標(biāo),而不是通過(guò)瀏覽器訪問(wèn)的頁(yè)面。把它看作是一個(gè)整齊地包裝在一個(gè)HTML5包中并放置在用戶設(shè)備里的完整網(wǎng)站。在一個(gè)HTML5包里有很多的功能和實(shí)際的價(jià)值。
HTML5——不需要應(yīng)用程序商店
我們都經(jīng)歷過(guò)蘋(píng)果應(yīng)用程序商店審核的困擾,這對(duì)用戶的體驗(yàn)造成了極大的傷害。
但HTML5不一樣他是一種瀏覽器語(yǔ)言,所以它不需要通過(guò)應(yīng)用程序商店審核。在公司的網(wǎng)站上也可以包含一個(gè)下載鏈接,并提供你想要的安裝程序,而不是一個(gè)App Store強(qiáng)加給你的東西。一個(gè)新的App在開(kāi)發(fā)結(jié)束的幾分鐘內(nèi)就可以被下載和使用。快速部署意味著超酷的用戶的體驗(yàn)。總而言之,速度致勝。
本地應(yīng)用——用戶體驗(yàn)的把控
任何做過(guò)Web開(kāi)發(fā)的人都知道,每個(gè)瀏覽器呈現(xiàn)頁(yè)面的方式都稍有不同。再加上瀏覽器廠商對(duì)于HTML5的支持力度又稍有不同。最終的結(jié)果是您只能控制Web應(yīng)用程序部分用戶界面,但并不是全部。而這是恰恰是本地應(yīng)用程序的優(yōu)勢(shì),就是帶來(lái)極致的用戶體驗(yàn)。
本地應(yīng)用——敏捷的應(yīng)用
在手機(jī)上的操作等待是有限的,一般不會(huì)超過(guò)2秒左右。當(dāng)我們要求的性能占主要地位的時(shí)候,本地應(yīng)用程序總會(huì)比一個(gè)Web應(yīng)用程序要快。
為什么說(shuō)本地應(yīng)用更快?都是層的原因。Web應(yīng)用程序有一層Web瀏覽器需要通過(guò),每一層都會(huì)添加一個(gè)“慢”的過(guò)程。去掉“層”,你將會(huì)更快。快了,就會(huì)收獲用戶的認(rèn)可。
本地應(yīng)用——增強(qiáng)安全性
我們很難繞過(guò)一個(gè)基本的事實(shí):HTML5仍然是HTML。這意味著它會(huì)受到很多同樣困擾HTML4的安全漏洞,包括最重要的一個(gè)原因:程序員的錯(cuò)誤。
但也不是說(shuō)每一個(gè)本地應(yīng)用都無(wú)懈可擊。本地應(yīng)用有HTML5應(yīng)用程序沒(méi)有的優(yōu)勢(shì)。并且每一個(gè)本地應(yīng)用都是獨(dú)一無(wú)二的,如果想要確保應(yīng)用程序足夠安全?那需要去構(gòu)建并將敏感數(shù)據(jù)封裝起來(lái)確保不與任何人分享,這就是你想要的安全的應(yīng)用程序了。
本地應(yīng)用——不需要網(wǎng)絡(luò)連接,可以離線存儲(chǔ)
Web應(yīng)用程序都有一個(gè)特定的特征:他們往往需要連接到Web服務(wù)器。如果他們正在運(yùn)行的系統(tǒng)沒(méi)有連接到互聯(lián)網(wǎng),那這就會(huì)出大問(wèn)題。對(duì)于本地應(yīng)用,你可以選擇將數(shù)據(jù)存儲(chǔ)在移動(dòng)設(shè)備上,通過(guò)數(shù)據(jù)處理顯示結(jié)果,然后與云系統(tǒng)或數(shù)據(jù)中心服務(wù)器在恢復(fù)上網(wǎng)時(shí)共享數(shù)據(jù)。人們很容易忘記,地球上還有很多地方(甚至在美國(guó)有些地方)都是沒(méi)有網(wǎng)絡(luò)連接的,本地應(yīng)用在離線時(shí)有它自己的優(yōu)勢(shì)。
本地應(yīng)用——更好的用戶體驗(yàn)
無(wú)論設(shè)計(jì)師怎么玩,Web應(yīng)用程序無(wú)論是看起來(lái)還是用起來(lái)都像是一個(gè)Web應(yīng)用程序。雖然每個(gè)移動(dòng)用戶都很熟悉那個(gè)外觀和感覺(jué),但這并不意味著他們必須喜歡它。
最近就有調(diào)查表明, 比起Web應(yīng)用程序的體驗(yàn)用戶更喜歡App的體驗(yàn)。如果你想留住你的用戶,就給他們想要的體驗(yàn)。在許多情況下,這就意味著要給他們一個(gè)本地應(yīng)用程序。
說(shuō)實(shí)話,還有一個(gè)選項(xiàng),我們并沒(méi)有討論過(guò):就是“混合”應(yīng)用。混合應(yīng)用程序是本地應(yīng)用與HTML5的融合,反之亦然。理想情況下,它帶來(lái)的質(zhì)量是最好的。有分析人士認(rèn)為,混合應(yīng)用程序?qū)⒆罱K超過(guò)HTML5和本地平臺(tái)應(yīng)用。問(wèn)題是一個(gè)純粹的方式還是混合的方式更適合你和你的應(yīng)用程序項(xiàng)目。
現(xiàn)在你明白了吧:5個(gè)參數(shù)支持HTML5,五個(gè)參數(shù)支持本地應(yīng)用。作為一名開(kāi)發(fā)人員,哪一個(gè)更引人注目?作為一個(gè)用戶,哪一個(gè)更會(huì)讓你滿意?
5是06年出現(xiàn)的術(shù)語(yǔ),易用性已經(jīng)體現(xiàn), 2014年10月29日,萬(wàn)維網(wǎng)聯(lián)盟宣布,經(jīng)過(guò)接近8年的艱苦努力,該標(biāo)準(zhǔn)規(guī)范終于制定完成。
H5隨著智能手機(jī)移動(dòng)端的普及越來(lái)越吃香
這里還是要推薦下我自己建的前端學(xué)習(xí)群:655962461,如果你正在學(xué)習(xí)前端,小編歡迎你加入,大家都是前端黨,不定期分享干貨(只有web前端相關(guān)的),包括我自己整理的一份2017最新的前端資料和零基礎(chǔ)入門(mén)教程,歡迎初學(xué)和進(jìn)階中的小伙伴。
html5算是一種代碼規(guī)范,html是專門(mén)用來(lái)寫(xiě)網(wǎng)頁(yè)框架結(jié)構(gòu)的,html5就是最新的規(guī)范,他有自己的標(biāo)簽自己的語(yǔ)法,讓圖片畫(huà)面形成可以嵌套程序的一個(gè)個(gè)結(jié)構(gòu)組合在一起的頁(yè)面。
原生應(yīng)用和 HTML5 之間到底誰(shuí)更牛的爭(zhēng)論可以說(shuō)一直就沒(méi)有斷過(guò)。在原生應(yīng)用風(fēng)光時(shí),HTML5 被看著是一個(gè)陷阱;而在 HTML5 風(fēng)光時(shí),原生應(yīng)用又會(huì)被認(rèn)為是“已經(jīng)死了”。隨著前兩天微信公眾平臺(tái)開(kāi)放微信內(nèi)網(wǎng)頁(yè)開(kāi)發(fā)工具包,HTML5 眼看著又要迎來(lái)新一波的風(fēng)光期,那么它和原生應(yīng)用之間真的就是一個(gè)你死我活的關(guān)系么?
在以前,雖然 HTML5 經(jīng)歷過(guò)快速發(fā)展期,但原生應(yīng)用在移動(dòng)設(shè)備上可以說(shuō)是一直占據(jù)著主導(dǎo)地位,這一點(diǎn)和目前 PC 端的狀態(tài)并不一致;而隨著原生應(yīng)用數(shù)量的不斷增加、智能手機(jī)增長(zhǎng)紅利的消失,這些現(xiàn)實(shí)環(huán)境會(huì)讓那些新誕生的低頻次需求 app 永遠(yuǎn)無(wú)法獲得可觀的增長(zhǎng)曲線和活躍度。這個(gè)時(shí)候開(kāi)發(fā)者就不得不根據(jù)用戶的需求頻率和使用場(chǎng)景來(lái)調(diào)整產(chǎn)品形式,進(jìn)而原生應(yīng)用和 HTML5 產(chǎn)品在手機(jī)端的關(guān)系也就有望回歸到一個(gè)和 PC 上類(lèi)似的相對(duì)穩(wěn)定狀態(tài)。
雖然有各種各樣的因素?fù)诫s其中,但從大環(huán)境來(lái)看的話,在手機(jī)上原生應(yīng)用和 Web 服務(wù)的關(guān)系同樣是先經(jīng)歷原生應(yīng)用間的競(jìng)爭(zhēng),接著 Web 服務(wù)找到超級(jí) app 這樣的載體得以進(jìn)化,解決某些狀態(tài)下的低頻需求。整體路徑和 PC 端其實(shí)很相似,只是這類(lèi) Web 服務(wù)的載體并沒(méi)有像在電腦端那樣主要發(fā)生在瀏覽器中就是了。所以,誰(shuí)取代誰(shuí)從來(lái)都不是問(wèn)題真正之所在。
對(duì)于目前流行的混合開(kāi)發(fā),甚至純 HTML5 開(kāi)發(fā)替代原生開(kāi)發(fā),唐老師怎么看?未來(lái)市場(chǎng)上對(duì)于 iOS 開(kāi)發(fā)者的需求會(huì)不會(huì)大大減少?
目前各大應(yīng)用里面,純 HTML5 開(kāi)發(fā)整個(gè)界面的基本沒(méi)有,大部分都是說(shuō),基本是原生界面,部分內(nèi)容用 H5 的方式來(lái)展現(xiàn),這個(gè)才是主流。
未來(lái)會(huì)是朝哪個(gè)方向發(fā)展呢?答案肯定還是朝原生的方向發(fā)展,因?yàn)楝F(xiàn)在用戶對(duì)手機(jī)的交互越來(lái)越挑剔了,而 H5 的方式你很難做到非常流暢。即使是當(dāng)前流行的混合開(kāi)發(fā)技術(shù),像 facebook 出現(xiàn)的 react native,它用 H5 寫(xiě)代碼,但渲染出來(lái)的是原生界面,所以大家都是在追求流暢的交互和體驗(yàn),如果將這個(gè)作為目標(biāo)的話,作為iOS開(kāi)發(fā)者以及原生系統(tǒng)的開(kāi)發(fā)者,應(yīng)該是需求越來(lái)越多的,純 H5 開(kāi)發(fā)的項(xiàng)目基本上已經(jīng)沒(méi)有了。
當(dāng)然,我還是希望各位 iOS 開(kāi)發(fā)者能夠多接觸一些 H5 的知識(shí),在工作中多多少少還是會(huì)涉及一些混合開(kāi)發(fā)的界面,如果你懂這些知識(shí),會(huì)很大程度上幫助你。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。