前端到底要學什麼?

前段時間逛知乎,發現這個問題,下面有一個回答,很全面的歸納了前端所要學習的知識:前端

一步一步來。 CSS不能編程?用Less、Sass、Stylus、甚至直接用
Absurd,框架除了Bootstrap還有不少。JS寫多了很麻煩?jQuery。移動開發?Zepto.js。結構很差?找框架,Backbone.js是MVC,AngularJS和Ember.js是MVVM,Twitter還弄了個事件驅動框架Flight。庫多了要優化加載?RequireJS。
代碼質量成問題?Jasmine、QUnit、Mocha作單元測試。各類瀏覽器都要測?用Karma。測試經過了部署還有問題?持續集成,用Travis
CI。用戶行爲也要測?用Selenium 。樣式測試還有 Viff 。以爲JS都夠麻煩的?用CoffeeScript。
想作動畫?Canvas或SVG還有CSS3幫忙,幹掉Flash。SVG太難畫?用Snap.svg。想開發遊戲?用Canvas。本身寫FPS過低?用框架,CreateJS.。2D太幼稚?three.js幫你用WebGL開發3D,還不夠給力?asm.js讓你在瀏覽器中擁有虛幻3引擎。
這一堆東西都要配置部署,麻煩,用Grunt,庫太多?用Bower管理,項目開始要建立各類文件文件夾?用Yeoman。開源項目太多了,GitHub.上找,不會?學Git。順便用Jekyll託管博客,不是吧還有Ruby這玩意...SASS也是Ruby寫的,等等Sublime
Text是Python寫的,要寫插件?也學一下。調試太難?用Chrome開發者工具,一堆API和功能。
光在電腦瀏覽器上跑不給力?移動開發HTML5,離開網絡就渣了?HTML5離線應用。不如原生應用?用PhoneGap。想調用原生API?開發Firefox
OS應用吧。瀏覽器應用也得會吧,Chrome
Firefox都有本身的文檔。接着是否是把後端甩了,本身來,裝Node.js,因此還得學點服務器知識,想用npm管理node包?linux技巧shell神馬的也得學。想先後端通吃?再看看http協議。Web精通了?node-webkit
讓你能夠寫桌面程序了,繼續學吧。
想學模塊化開發?看看CommonJS和AMD規範。理解JS有誤差?看看ECMA-262,等等不知道何時第6版就要出了。瀏覽器各不相同,弄不清該怎麼兼容?看看W3C標準,HTML寫出來人看的懂,機器讀不懂?要SEO,要支持殘障人士?看HTML語義化,全會了但IE就是不支持?叫不出名字的瀏覽器尼瑪連JS都不知道是啥?漸進加強。想一次把各類設備全搞定?響應式設計。
而後上面這些不過是一些討巧的小技術。公司作什麼業務的?瞭解一下行業信息。面向大衆的產品?交互設計。美工不給力?UI設計。外包和諮詢?設計模式、重構方法、算法、數據結構。知道軟件工程嗎?瞭解一下敏捷開發,或許還能夠試試TDD、ATDD、BDD。node

好多技術,本身都有去了解,玩下,就是尚未一個好的機會是實踐下。
原問題連接:前端大牛們都學過哪些東西?linux

相關文章
相關標籤/搜索