你好,我自己主要是做后臺開發,對前端稍有了解,所以我覺得初學者更快入門web前端,以下是關于web前端方面的教程知識點。web前端是app開發、h5網頁等主流的程序語言,而且待遇報酬高,較其他計算機語言更加容易入門。
1)先學html5+css基本語法
2)學些css的框架,比如less,bootstrap等
3)js是必然會涉及的,學jquery吧,簡單易學,實例多
4)別光看,多動手,把1)到3)串起來,做個項目,或虛擬一個,比如購物車,或博客
幾個要點,供參考
專注一條線,前端涉及知識點太多,別都學,雜而不精。
前端+HTML5德學習內容:
第一階段:前端頁面重構:PC端網站布局、HTML5+CSS3基礎項目、WebAPP頁面布局;
第二階段:JavaScript高級程序設計:原生JavaScript交互功能開發、面向對象開發與ES5/ES6、JavaScript工具庫自主研發;
第三階段:PC端全棧項目開發:jQuery經典特效交互開發、HTTP協議,Ajxa進階與后端開發、前端工程化與模塊化應用、PC端網站開發、PC端管理信息系統前端開發;第四階段:移動端項目開發:Touch端項目、微信場景項目、應用Vue.js開發WebApp項目、應用Ionic開發WebApp項目、應用React.js開發WebApp;
第五階段:混合(Hybrid)開發:各類混合應用開發;
第六階段:NodeJS全棧開發:WebApp后端系統開發。
- 主流框架
下面介紹了5種比較流行的前端框架
1.AngularJSAngularJS是一個有Google維護的開源前端web應用程序框架。它最初由BratTechLLC的MiskoHevery于2009年開發出來。AngularJS是一個模型-視圖-控制器(MVC)模式的框架,目的在于使HTML動態化。與其他框架相比,它可以快速生成代碼,并且能非常輕松的測試程序獨立的模塊。最大的優勢是在你修改代碼后,它會立即刷新前端UI,能馬上體現出來。它是用于SPAs(單頁面應用)開發中最常用的javascript框架。AngularJS是一個全功能的框架,可能也是最流行的框架。缺點就是學習起來有點困難。
優點:模板功能強大豐富,并且是聲明式的,自帶了豐富的Angular指令;
是一個比較完善的前端MVVM框架,包含模板,數據雙向綁定,路由,模塊化,服務,過濾器,依賴注入等所有功能;
ng模塊化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復用的代碼,對于敏捷開發的團隊來說非常有幫助,我們的項目從上線到目前,UI變化很大,在摸索中迭代產品,但是js的代碼基本上很少改動。
良好的文檔。
雙向數據綁定簡化了流程的某些部分。
驗證功能錯誤信息顯示比較薄弱,需要寫很多模板標簽;
ngView只能有一個,不能嵌套多個視圖,雖然有angular-ui/ui-router解決,但ui-router對于URL的控制不是很靈活,必須是嵌套式的;
對于特別復雜的應用場景,貌似性能有點問題,特別是在Windows下使用chrome瀏覽器,不知道是內存泄漏了還是什么其他問題,沒有找到好的解決方案,奇怪的是在IE10下反而很快,對此還在觀察中;
ng提倡在控制器里面不要有操作DOM的代碼,對于一些jQuery插件的使用,如果想不破壞代碼的整潔性,需要寫一些directive去封裝插件,但是現在有很多插件的版本已經支持Angular了,最好能夠和cordova插件結合進行混合式開發;
Angular太笨重了。
雙向數據綁定檢查數據模型的變化,這可能導致可能的性能問題并且更快地耗盡設備的電池。
理解代碼和調試困難。
ReactJS不像一個框架反而更像一個庫,但絕對是值得一提。AngularJS是一個MVC模式的框架,但ReactJS是一個由Facebook開發的非MVC模式的框架。它允許你創建一個可復用的UI組件,Facebook和Instagram的用戶界面就是用ReactJS開發的。你可以用React進行很復雜的更新并且應用運行仍然很快,因為框架本身能很快的處理他們。你也能寫許多可復用的小文件,而不是編寫一個大文件。對于要處理大量數據的大型程序來說這是最好的選擇。這個框架的缺點之一就是它只處理應用程序的視圖層,所以你可能需要結合其他工具來一起處理。
優點:1.掌握起來很容易。
2.在React中很容易維護隔離的組件。
3.組件的不斷重新渲染提供了有效的安排
復雜。
4.方便的架構-Flux-與MVC競爭激烈。單向數據流
提供數據和DOM元素的可維護性和有效安排。
它是當今廣泛使用的最輕量級框架。
缺點:1.DOM操作庫的一些問題是可能的(例如,jQuery)。
2.頻繁的重新渲染可能會減慢處理大量數據的APP的工作。
3.MeteorJSMeteorJS發布于2012年,涵蓋了開發周期的所有階段,包括后端開發、前端開發、數據庫管理。它是一個由NodeJS編寫的開源框架。MeteorJS是一個簡單和容易理解的框架,所有的包和框架都可以輕松使用。代碼層的所有改變能夠立即更新到UI界面,服務的和客戶端都只需要用javascript開發。他主要用于IKEA和馬自達等公司的實時應用開發。不建議用于大型或復雜的程序。
優點:1.易學
2.偏向客戶端
3.響應式
4.代碼高度重用
缺點:1.運算密集型應用能力差
2.成熟度不高
3.約束少
4.初次加載時間長
4.Vue.JS在了解React和Angular后,你可以嘗試了解下VueJS,一個用于用戶界面開發的漸進式javascript框架。它是一個能快速開發和跨平臺的方案。與Angular和React相比較,它被證明速度更快,并且吸收了這兩者的優點。Vue的創始人是尤雨溪,他曾在Google工作并使用Angular。他的想法是直接抽取出他喜歡的Angular的特性,不再引入其他復雜的理念而打造一款新的框架。所有的Vue模板都是基于HTML,你可以在GitHub上找到很多資源。它也提供雙向綁定和服務端渲染。在Vue中,你可以使用模板語法或使用JSX直接編寫渲染函數。
Vue.js是一套構建用戶界面的漸進式框架。
Vue只關注視圖層,采用自底向上增量開發的設計。
Vue的目標是通過盡可能簡單的API實現響應的數據綁定和組合的視圖組件。
優點:1.雙向數據綁定也就是所謂的響應式數據綁定。這里的響應式不是@media媒體查詢中的響應式布局,而是指vue.js會自動對頁面中某些數據的變化做出同步的響應。
也就是說,vue.js會自動響應數據的變化情況,并且根據用戶在代碼中預先寫好的綁定關系,對所有綁定在一起的數據和視圖內容都進行修改。而這種綁定關系,就是以input標簽的v-model屬性來聲明的,因此你在別的地方可能也會看到有人粗略的稱vue.js為聲明式渲染的模版引擎。
這也就是vue.js最大的優點,通過MVVM思想實現數據的雙向綁定,讓開發者不用再操作dom對象,有更多的時間去思考業務邏輯。
2.組件化開發
在前端應用,我們是否也可以像編程一樣把模塊封裝呢?這就引入了組件化開發的思想。
Vue.js通過組件,把一個單頁應用中的各種模塊拆分到一個一個單獨的組件(component)中,我們只要先在父級應用中寫好各種組件標簽(占坑),并且在組件標簽中寫好要傳入組件的參數(就像給函數傳入參數一樣,這個參數叫做組件的屬性),然后再分別寫好各種組件的實現(填坑),然后整個應用就算做完了。
3.VirtualDOM
現在的網速越來越快了,很多人家里都是幾十甚至上百M的光纖,手機也是4G起步了,按道理一個網頁才幾百K,而且瀏覽器本身還會緩存很多資源文件,那么幾十M的光纖為什么打開一個之前已經打開過,已經有緩存的頁面還是感覺很慢呢?這就是因為瀏覽器本身處理DOM也是有性能瓶頸的,尤其是在傳統開發中,用JQuery或者原生的JavaScriptDOM操作函數對DOM進行頻繁操作的時候,瀏覽器要不停的渲染新的DOM樹,導致頁面看起來非常卡頓。
而VirtualDOM則是虛擬DOM的英文,簡單來說,他就是一種可以預先通過JavaScript進行各種計算,把最終的DOM操作計算出來并優化,由于這個DOM操作屬于預處理操作,并沒有真實的操作DOM,所以叫做虛擬DOM。最后在計算完畢才真正將DOM操作提交,將DOM操作變化反映到DOM樹上。
4.輕量高效
5.BackboneJSBackbone是一個MVP模型,它依賴于Underscore.js庫。它旨在開發單頁面web應用,并保證不同部分的web應用同步。它采用命令式的編程風格,與使用聲明式編程風格的Angular不同。Backbone也與后端代碼同步更新,當模型改變后HTML頁面也隨之改變。Backbone被用來構建Groupon,Airbnb,Digg,Foursquare,Hulu,Soundcloud,Trello等許多知名應用。
優點:將數據和界面很好的分離開來。
將事件的綁定很好的剝離出來,便于管理和迭代。
使得Javascript程序的模塊化更加清晰、明了。