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
移動應用開發不存在’one-size-fits-all’(萬全之策)的解決方案。無論是采用混合、HTML5還是原生,許多開發者在項目的中期總會發現他們最開始采用的方法并不是最佳方案
Web和混合(Hybrid)應用正在成為熱門趨勢
Web平臺(HTML5 & JavaScript)是創建跨平臺應用的首選
一直以來,人們在將HTML5和原生SDK進行比較時,一般認為HTML5在這兩個方面處于劣勢:
APIs對手機功能和服務的訪問有限
性能這個一直是被一些開發者詬病的問題,UI響應度和數據加載速度都沒有原生應用給力
但是我們也可以看到,HTML5這兩年在這些劣勢上與原生應用的差距也在越來越小。Kendo UI團隊近日開發了兩款HTML5/Hybrid應用,然后將他們呈現給其他開發人員,讓他們判斷哪款是原生應用,哪款是混合應用。結果沒有一個開發者判斷正確,沒有一個人否定兩款應用其實都不是原生應用。
這個調查表明HTML5/Hybrid/Native三者之間的差距在越來越小,界限越來越模糊。這不僅僅體現在應用的用戶體驗上,還體現在開發過程中:越來越多的開發者在項目中期意識到要實現目標可以有其他可替代的方式,而絕不是一條道走到黑。
那么這對于大多數移動開發者來說,這意味著什么呢?這意味著開發人員需要拋棄過去對三者孰優孰劣的狹隘觀念了,擦亮你的雙眼,真正弄清楚它們各自的優勢,然后不斷的在混合、HTML5和原生開發中嘗試,只有這樣才能準確判斷哪一種方式是最佳的方案。
原生開發雖然具有性能高、可訪問手機所有功能、可線下使用等先天優勢。但在開發階段卻是困難重重,比如開發周期長、支持設備有限、上線時間不確定等問題。在今年的調查中可以看到,越來越多的開發者選擇純HTML5開發跨平臺應用,而純原生應用越來越少:
在被問到開發原生應用的中途是否又換成了HTML5應用開發,40%的人回答了”Yes”。而將這個問題反過來,31%的人回答了”Yes”。這個比例不相上下,證明其實無論是HTML5還是原生,只要適合自己的項目需求,它就是好方法。
選擇HTML5、混合和原生開發的比率在越來越均衡,但HTML5在企業級開發中的地位上升也是非常明顯的,當被問及預測HTML5何時適合進行企業級開發時,31%的人回答是”Immediately”,26%的人認為是在未來的一年之內。
當問及到2014中期你計劃用HTML5開發多少應用時,大多數開發人員(占34%)的回答是2-3個,而24%的人回答是11個以上。
你使用HTML5開發哪些類型的移動應用?超半數的被調查者選擇Business apps,占57%,Finance和Productivity應用各占21%,另外,教育、社交、醫療等應用也占較高比例。
那么在商務應用中,開發者們又具體開發了哪些應用呢?64%的人選擇了公共B2C應用,排第二的是B2E應用,占49%。
隨著越來越多的用戶從桌面/Web轉移到移動端,53%的人選擇采用HTML5創建跨平臺應用,可見HTML5已經成為跨平臺移動開發的首選。
調查顯示,35%的開發者用HTML5&JavaScript開發Web應用,而混合應用和原生應用均各占16%。
除了易用性以外,成本也是開發人員必須考慮的一大重要因素,當問及與原生應用 相比,你認為混合應用開發可以節省的時間和人力成本時,50%的受訪者認為可節省40%-70%的成本。
事實勝于雄辯,HTML5/Hybrid確實正在成為越來越多移動開發者的選擇,但絕不是未來唯一的選擇。我們應該認清,HTML5、混合及原生技術都有各自的優勢,不能單純的認為HTML5好或者原生好。而我們應該做的是根據自己的需求、定位和預算,去選擇最佳的解決方案。
f語句的代碼的語法非常簡單,,就是一個 if 判斷語句來判斷瀏覽器的類型和版本,應用類似 <!--[if lte IE 6]> 和 <![endif]--> 語法結構包孕起來,代表如果瀏覽器是 IE 并且版本號低于或等于 6.0 則進行提示。類似的語法還有:
<!--[if IE]>
這樣應用IE瀏覽器(整個版本)的人都看得到。
<![endif]-->
<!--[if IE 6]>
這樣IE 6.0版本會看得到,只限IE 6.0版本。
<![endif]-->
<!--[if lt IE 6]>
這樣IE 6.0以下版本會看得到,不包孕6.0。
<![endif]-->
<!--[if lte IE 6]>
這樣IE 6.0以下版本會看得到,包孕6.0。
<![endif]-->
<!--[if lte IE 8]>
這樣IE 8.0以下版本會看得到,包孕8.0。
<![endif]-->
<!--[if gt IE 5]>
這樣IE 5.0以上版本會看得到,不包孕5.0
<![endif]-->
<!--[if gte IE 5]>
這樣IE 5.0以上版本會看得到,包孕5.0
<![endif]-->
說明:
* gt:greater than (版本號大于)
* lt:less than (版本號小于)
* gte:greater than or equal to (版本號大于等于)
* lte:less than or equal to (版本號小于等于)
切圖網(qietu.com)是首家專門從事web前端開發的公司,專注we前端開發,響應式布局,webapp手機端網頁制作,微信html5頁面制作,bootstrap布局等,關注用戶體驗。
作為程序員經常會被業務人員問一些技術相關的熱門詞,比如:“H5頁面是什么?” , 我的回答是:“符合 HTML5 標準實現的頁面,大家為了方便,簡稱 H5“。 真的是這樣的嗎? 當連續有人問相關的問題,并詳細了解一些業務以后,慢慢的發現 H5 已經不單單是一個技術相關的詞。
之前被我們產品人員也問到一個類似的問題:“怎么通過技術手段來判斷一個網站是H5的頁面,還是普通頁面?”,聽到這個問題我懵了,按照我前面的解釋 “符合 HTML5 標準實現的頁面就是 H5頁面”,那當前互聯網上看到的網站基本上都在采用了 HTML5 標準。詳細了解業務以后才知道,他的要求是把微信里面那種好友之間,或者朋友圈分享的那種帶有主題性質的宣傳頁面(實在是不知道怎么描述)和我們平時電腦上訪問的頁面通過技術區分識別出來。這個功能能不能實現,具體怎么實現這里不討論,但是可以看出在業務人員和一些客戶眼里,在微信上分享的那種炫酷的頁面就是H5頁面。 那這里的 H5 還是 HTML5 嗎? 從這種應用上來說已經不是了。
另外一個案例,被一個剛開始學習前端的學生問到一個問題:“React 制作的頁面都是 SPA(single page web application,單頁應用程序) 的,那 HTML5 可以實現 SPA 嗎?”,當被問到這個問題的時候我一下子也不知道怎么回答,只是讓他先去學習一下 HTML5 ,以及 SPA 到底是什么?要搞清楚。 HTML是超文本標記語言,是一種規范,一種標準,“5” 是HTML第五次重大修改,可以理解為第五個版本,包含了很多功能特性。 SPA 是通過 HTML 與 Javscript 實現的單頁應用程序,就是在一個頁面上展示所有數據,通過 Javascript 去動態更新程序。所以 SPA 的實現和是不是 HTML5 沒有大的關系。這位同學問出這樣的問題,我的猜想是這樣的,我們在前面提到的那種在微信上分享的那種頁面大多數都是一個單頁面,然后通過手指向下滾動來瀏覽一張張炫酷的動畫。導致他認為這樣的頁面就是所謂的 SPA 頁面,再加上多數人都認為這種頁面都 HTML5 實現的頁面,所有他才會問出 HTML5 和 SPA 扯在一起。
我相信現在大多數人認為的 H5 頁面,就是在手機微信分享的那種炫酷的網頁。 HTML5,作為技術人員都知道是一種標準,一種規范。
如果 H5 不等于 HTML5 了,那 H5 到底是什么呢? 維基百科沒有定義,百度百科也沒有定義,知乎上也沒有人說清楚。沒有一個標準的定義,只在大家口口相傳,出現各種理解扭曲。H5 真的是一個詭異的詞。
出現現在這樣個狀況,我的猜想是這樣的,HTML5 在 2013 年左右就發布,在 2014 年底宣布標準制定完成,但是市面的瀏覽器的支持主要還是在手機上,電腦上主要有 IE 的存在導致標準普及緩慢,所以開始有開發者在手機上做很多酷炫的頁面,當這些酷炫的效果在業務人員看到了以后,開始加以有效的利用,特別是在活動宣傳和廣告方面,為了宣傳業務人員會問技術人員:“這種炫酷的效果是怎么實現的?”,技術人員說:“我用的是HTML5的技術”。業務人員的宣傳營銷能力那是相當厲害,在客戶面前大量的宣傳:“我們用到了一個牛逼技術,讓你的手機網頁非常炫酷好看”,慢慢的客戶都知道了有一種技術可以把頁面在手機上做的非常好看,非常炫酷,然后客戶又開始對其他人說:“我們的這個網頁用了現在最新的技術,叫什么什么5頁面,對H5頁面”。然后客戶之間口口相傳,當以后遇到同樣的業務需求的時候,找另外一家供應商說:“我要一個H5頁面,要長的類似什么..一樣的網頁”,然后這一家做網站的公司開始也把這種網站也開始叫著H5頁面。最后鋪天蓋地的“H5頁面”就出來了。(這里只是我的一個猜想,具體是什么個情況還有待驗證)
隨后,在一些招聘崗位出現了“H5開發工程師”。
書籍出現了 《H5營銷…》。
社會上的培訓機構出現了H5技術培訓,“0基礎學習H5…”,“H5速成班”。
出現了很多專門做H5網站的公司,就連百度都有一個叫做 “百度H5”的產品。
這是一種健康的現象嗎?
我開始有點好奇那些培訓機構和相關書籍是怎么定義 H5 這個詞的。
值得高興的一件事情是,由于市場業務的推動,讓移動互聯網等到了快速的發展。甚至提高了前端開發在市場中的主要性。但是,還是存在一些問題。
培訓機構宣傳的那種 “0基礎120天速成H5工程師” … ,學員學習的應該還是的前端知識,所以這里的 H5 應該是 HTML5 標準相關體系的技術棧的培訓。市場業務把一個以活動推廣(營銷)為導向的手機上炫酷的頁面理解為 H5 頁面。這是存在一個信息不對稱的問題,這個問題也經常讓技術人員與業務人員難以溝通。
用詞不嚴謹,在國內沒有一家機構對 “H5”這個詞有合理的解釋,估計也是不好解釋。像百度這樣的 H5 產品,感覺他們把 H5 理解為創意,還有人理解為微場景,還有人理解為手機上的PPT。
把 HTML5 理解為一種技術也是不合理的,它應該是一種規范,一種標準(多次強調)。
如果 HTML6 標準發布以后怎么辦? 是不是這些所有的名稱需要換一遍,“H5網站”,“H6開發工程師”,“H6營銷寶典”,“請問你們公司做H6嗎?” …
回頭我們再來看一下,我們看到的那些手機炫酷的網站真的全是 HTML5 新特征實現的嗎?不一定。那是不是只用 HTML5 的新特性就能夠寫出這樣的網站呢?不一定,它有時候還需要CSS3 做動畫,用JavaScript去控制行為 。
在 2012 左右,那時候還沒有發布 HTML5,不過看到了移動互聯網的苗頭,我和朋友一起開始做手機建站,主要面向一些中小型企業,客戶的需求很簡單,就是通過手機可以打開自己的官方網站,同時可以把網站上的產品隨時隨地分享給他們的客戶看(這種需求后來被響應式相關技術滿足了)。那時候人們理解這種網站就是手機網站。到現在客戶需求還是很明確,就是需要在手機上做一些博取眼球的營銷頁面,通常都是一些活動頁面。在國際上有個詞叫做 Minisite ,它的解釋是:“知名企業為了配合企業的市場運作活動,會推出一些小型網站也就是MiniSite進行線上營銷”。所以我認為當前市場上客戶所說的 H5 頁面,應該是一種移動端的 MiniSite (Mobile MiniSite)。或者把它叫做 “移動營銷頁面”,簡稱 MMP (Mobile Marketing Page) 。
不過 H5 這個詞已經很難改掉了,如果我現在繼續給客戶說,H5 是符合 HTML5 的簡稱,HTML5 是一種標準,一種規范,那我們討論的東西肯定不是同一個東西。
但是我希望,作為開發者,在一些技術解釋上不應該誤導業務人員。作為業務人員,在對外宣傳的時候也不應該誤導客戶。命名這種事情我們應該嚴謹。
本文摘自:HYPERS前端團隊博客
*請認真填寫需求信息,我們會在24小時內與您取得聯系。