零基礎能不能學習HTML?這個粵嵌科技的小編就想和大家說,首先要明確自己是想要通過自學呢?還是想要參加HTML培訓機構了。如果說你是想要自學習的話那么你要知道你自己的自學能力行不行的,如果說你是零基礎的話,那么你就可以把學習HTML比喻成你零基礎學習一門新語言吧。但是這個HTML除要學會它的理論之外你還要掌握好它的實操才可以的,因為在HTML工作中實操是非常的重要的,你去面試的時候如果說你的實操部分不強的話那么你是很難面試的上工作的,所以說如果你是零基礎想要自學習HTML的話那么你要能保證你自己的理論實操的部分都要掌握的好才可以。
如果說你是零基礎想要學習HTML技術的話,那么粵嵌科技歡迎大家來我們公司進行實地考察
http://www.gec-edu.org/
幾篇文章已經基本上把Web App和Native App的優劣講清楚了。
不過還是想提醒大家注意,Web App,現在有時候也稱為輕應用,不僅是通過瀏覽器就能打開的應用。現在隨著HTML 5在手機端的優越性,已經慢慢稱為了Web App的主流。Web App除了出現在PC的瀏覽器中,還大量出現在手機瀏覽器中或一些平臺級應用中,例如微信中大量的交互內容,都屬于Web App的范疇。
HTML 5取代的只是之前的HTML和Flash
HTML5是一種徹徹底底的Web技術,包括最新的網頁端的腳本語言HTML5語言、Javascript 2.0和CSS 3.0這三部分。HTML5的主要目標是取代原有的腳本語言HTML,提供更好的交互效果和更豐富的API,以及更高的運行效率。
HTML5取代的是很多很多年前產生的HTML版本。熟悉互聯網的人肯定清楚,互聯網可謂日新月異,但是支撐整個互聯網的語言HTML,在HTML5以前卻變化不大,這個嚴重阻礙了互聯網本身的發展,這才是產生HTML5的一個根本原因。還有以前也常見Flash的應用場景,會被HTML5取代。
現在對HTML5的指責,主要是針對HTML5的性能,也就是常說的“用戶體驗”這一方面,由于HTML5是腳本語言,再加上Javascript 2.0實際上還是單線程運行的,運行的效率上客觀地講,確實比不上Native App。但是,如果用HTML5做前端的輕應用,哪怕是在手機上實現,性能已經足夠了,這也是為什么越來越多基于HTML5的輕應用出現的手機端的原因。另外,隨著瀏覽器對HTML5的支持越來越好,手機CPU速度越來越快,以及各種引擎對HTML5的優化,用戶體驗會越來越好。
因此,很多人主觀的把整個Native App行業和HTML5對立起來,這本身就是有問題的。 另外,反觀Native App,開放應用數量龐大,小團隊眾多(賺錢的很少),同質化嚴重,模仿門檻低,刷榜問題嚴重,都困擾了Native App的發展。
HTML5的新一輪高速增長:微信
下圖是今年下半年的HTML5搜索指數,有一個明顯的提升。除了基于HTML 5開發的Web本身,隨著微信的發展,大量的基于HTML5的內容找到了出口,內容數量瘋狂增長中!而現在對HTML5的需求還遠遠沒有得到釋放,相信很快很多其它的平臺也會支持HTML5的內容,讓我們拭目以待!
在社會化媒體和自媒體的大環境下,客戶把更大精力放在實用的微信輕應用上,而越來越少直接花錢購買Native App,道理很簡單,如果采用Native App的方式,我要傳播到1000人,并讓他們下載安裝是個非常難的事兒,但是如果做成輕應用往朋友圈里一傳,可能1萬人都很輕易達到。
HTML5慢慢演變為一個剛性需求,在需求旺盛的帶動下,前端程序員/HTML5工程師的工資水平原來越高,而且好的還非常難求。另一方面,Android和iOS開發工程師,市場需求已經明顯放緩。
更有大量的HTML5的公司順勢而生,做大量的Web App應用。產生HTML5內容的成本也越來越低,伴隨這技術的發展,包括國內外都有大量的可視化工具可以快速生成基于HTML5的Web App應用。
對于HTML5被Facebook棄用這件事,除了記住扎克伯格的懊悔之外,我們不能忽略的是還有一篇報道,如下圖所示。
這篇報道說明了什么?并不是Facebook本身不用HTML5了,而是Facebook這個Native App不直接采用HTML5的方式開發。這兩者的區別可就太大了,這也引出我的下一個問題。
HTML 5適合小公司,適合做內容
我是HTML5的堅定支持者,但是我至少現在還不認為HTML5可以做所有東西,至少一些太過復雜的重度游戲、一些大型的門戶(包括上面說的Facebook)、一些涉及高運算或復雜算法的應用,我個人認為至少現階段還不適應用HTML5去開發。
所以...HTML5和Native App會走向融合 !
HTML5 Web App和Native App各有優勢,互為補充,能不能不把技術直接對立起來,而是用技術的進步來解決技術還存在的問題,使二者從對立走向融合。而且我個人覺得結合的場景最好在大型的Native App平臺,并且這些平臺是可以UGC或PGC產生內容的。
我們以微信為例,微信這個應用本身就是一個Native App,但是在這個巨大的平臺里面,又可以容納海量的HTML5 Web App,這樣的輕應用,充分發揮Native App的運行效率,同時又以海量的Web App來擴充其內容,給用戶帶來更豐富的體驗和更優質的交互內容,這樣不是很好嗎?
現在來看一下如果基于HTML5的Web App和Native App融合,形成一種Hybrid App,會給我們帶來什么好處吧:
同時還解決了,海量的Native App利用效率不高的問題,通過Hybrid App內部的Web App來動態提供交互內容,而不是安裝按量的Native App應用。
另外,由于服務的統一性,降低了需要學習每個Native App的用戶時間成本。
Hybrid App的優勢顯而易見,成本低、跨平臺、不用下載-安裝-更新、動態數據、維護容易,而且有現成的內容出口。而且我們這里的Hybrid App主要是指在大型平臺化應用(Native Platform App)結構之下的Hybrid App,可以理解為1個Native App對應N個Web App的結構,或是一個母Native App和N個子Web App的結構,而不是簡單的把Web開發和Native App開發做一個結合。
在技術上,Hybrid App的架構好處也顯而易見,例如,HTML5不能自動播放語音或視頻,但是微信可以。同時,微信也開放各種接口給內部的Web App調用,這樣就擴展了原生的HTML5 Web App的功能,且更好的提供服務,開發上也非常簡單。
本文作者是孟智平,VXPLO 互動大師 CEO,郵箱:troy@vxplo.com
致歉:36氪上周發表的一篇討論HTML5未來的文章《Web與App的未來不是生死之爭,而是融合,騰訊就在這么干》是根據筆名為Hans的作者(移動互聯網從業者,微信號1396255225)之前的投稿修改,調整了文章結構、更換了標題,導致部分觀點的表述和原文有所出入。在等待Hans郵件審核的時候編輯誤觸發表,雖然責任編輯一經發現后馬上撤下,但是還是給Hans本人帶來困擾。對本文對Hans可能造成一切損失表示歉意,同時責任編輯會承擔相應處罰,未來我們也會加強和投稿者的溝通,優化流程,保證此類事件不再發生。再次同時向36氪的讀者和Hans致歉。
果你之前沒有看過我的《前端工程師如何月薪過4萬》這里建議大家仔細讀讀一下,因為里面有整個前端工程師成長的技術路線圖和我的故事。同時很多小伙伴問我的學歷后來沒再考考么,我是考了成考的北京航空航天大學,也馬上快畢業了。不過我覺得這件事不足為提,因為國內的高等教育你們懂的。這里我們開始從0來討論一下初期從事前端用jQuery多是不是真的很low。
前端的學習路線比較陡,一般入門很好入門幾天就可以搞出來一個百度首頁,然后學學基礎的JavaScript知識再配上jQuery基本可以應對一般企業的要求。在這個行業里很多人直接認為jQuery就是JavaScript,同時新框架新思想層出不窮。所以一些逼格高點的開發人員總會拿jQuery當成一個標準來衡量一個前端開發人員在什么階段。甚至拿jQuery當成一個梗來相互間調侃。大家可能會說那意思就是只會jQuery就是low嘍?非也。
現代化的前端讓這個時代都發生了變化,你會到處聽見VirtualDOM、Web Components、MVVM等等,如果你入行不久聽著頭都大了,我們先姑且不管這些,回到最初前端的本質是什么呢?能寫出符合W3C標準的代碼能夠實現業務邏輯。然而HTML5+CSS3其實已經是一塊很大的學科,之前有人問我過說C語言和CSS哪個難,我告訴他CSS難,為什么呢?因為他從不按套路出牌,而是由無數技巧組成。同時CSS3的出現會讓我們去探索到瀏覽器的渲染原理比如3D觸發的硬件加速,那么什么條件會觸發硬件加速呢?Compositor、GraphicsLayer、RenderLayer、RenderObject是什么關系?HTML的語義化到底有什么用?先別忙著鄙視別人,我覺得至少這些答案在你頭腦應該很清楚。業內很多大牛只懂HTML5+CSS3并且用的爐火純青的人大有人在,騰訊這樣的大公司也有網頁重構部專門招HTML5+CSS3的童鞋。
那我們再回到jQuery,它確實一顆前端的常青樹。經過了這么多年,依舊挺拔在前端的圈內。為什么呢?因為傳統的前端綁定事件發送請求以及他周邊的插件系統太完善了。但是一些新框架新思想確實讓編碼和性能有了更大的提高,比如MVC的庫、模塊化的庫等等,不過這些庫就真的需要么?非也。還是要看企業內部實際的需求,用對應的庫解決對應的問題這才是正解。
所以你只會jQuery并不low,人就是如此,哪怕有些人某一方面牛上天了又如何?他還不是有不懂的地方。比爾?蓋茨不會拍戲,張藝謀不會唱歌,周杰倫不會寫程序。主要是要在自己現在的領域不斷成長才是正解,但是如下2點你一定要注意。如果你不聽我的話或者堅持不做到,那你確實low
1.開拓眼界思路,能夠知道當下發展的趨勢和哪些庫出現的原因做做小Demo去聽一些技術大會看看人家用這些新的庫做了什么。
2.千萬不要以為jQuery就是JavaScript,這樣你基本就有點過分了。那說到這里,希望在剛入行的同學們一定要好好學習JS這門語言,這是一個十天創造出來的語言,它里面有非常多的坑。比如下面這種面試題。
Object.prototype.name=1;
//console.log(1.name);
console.log(1.0.name);
console.log(Function.name);
這個題出的要點過,但是很多面試官很愿意去問面試者看你對于JavaScript能掌握到一個什么地步。但是JavaScript幾個核心的知識點,你一定要Get到。比如閉包、作用域、Prototype、按值傳遞和按址傳遞、OO、This這些要是沒掌握好一般公司估計你是過不去這個關卡的,因為這些要是掌握不好很容易在平時的開發階段出現一些問題。再有就是要多用jQuery周邊的庫和盡可能的使用它的API比如委托,盡量去讀讀這些庫的源代碼比如Validate它的代碼并不復雜,然后接下來就是自己嘗試自己寫一些組件庫并給別人用,在給人家寫組件的時候很多概念你會慢慢熟悉比如命名空間、比如閉包的關鍵作用。同時jQuery的經典套路你也要自己搞清楚,比如鏈式調用、Ready實現和Onload區別、Ajax跨瀏覽器的封裝、綁定事件的封裝、Live的實現。最后就需要好好讀讀人家的源代碼了,他的源代碼博大精深。如下是它的初始化代碼。
你可以通過網絡上的視頻或者書籍,這里推薦一本《jQuery技術內幕:深入解析jQuery架構設計與實現原理》。一本好書,就像高級武功秘籍一樣,哪怕只從里面領悟個一招半式,功力提升起來都是驚人的,眉超風學的那半生不熟的九陰真經就是證明。所以練武功和寫程序一樣,不在乎你修煉了幾十年還是幾百年,也不在乎你少林武當娥眉拜了多少門派,關鍵是你有沒有把一門武藝煉到出神入化的境界。學武藝,最忌諱總想著去追求大而全,你要明白,其實只需要“打狗棍法”這么一招,就足夠你掌舵丐幫,受用終生。你真的把jQuery大徹大悟那么別人都會敬你幾分。
最后附上《大唐玄奘》的一句話,一個人影子無法鋪滿大地,但有些聲音可以傳得很遠。我希望通過我的文章就是一種技術的聲音,能夠給你們一點點啟示足矣。
京程一燈,夢起的地方,我們始終相信通過努力,可以改變自己的命運。
我們始終相信,通過堅持不懈,可以為大家解決更多的前端技術問題。
我們始終相信,時間可以證明,我們可以為廣大IT從業者解決前端學習路線。
HTML5,CSS3,Web前端,jquery,javascript,前端學習路線,各類問題,我們都可以為你解決。
更多技術好文,前端問題,面試技巧,請關注京程一燈(原一燈學堂)
本文為頭條號作者原創。未經授權,不得轉載用于商業用途。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。