前端大牛們都學過哪些東西
一步一步來。
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
想做動畫?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
光在電腦瀏覽器上跑不給力?移動開發HTML5,離開網路就渣了?HTML5離線應用。不如原生應用?用PhoneGap。想呼叫原生API?開發Firefox
OS應用吧。瀏覽器應用也得會吧,Chrome Firefox都有自己的文件。接著是不是把後端甩了,自己來,裝Node.js,所以還得學點伺服器知識,想用npm管理node包?linux技巧shell神馬的也得學。想前後端通吃?再看看http協議。Web精通了?node-webkit
讓你可以寫桌面程式了,繼續學吧。
想學模組化開發?看看CommonJS
然後上面這些不過是一些討巧的小技術。公司做什麼業務的?瞭解一下行業資訊。面向大眾的產品?互動設計。美工不給力?UI設計。外包和諮詢?設計模式、重構方法、演算法、資料結構。知道軟體工程嗎?瞭解一下敏捷開發,或許還可以試試TDD、ATDD、BDD。
- - 桌面Web前端,也就是通常的前端,jQuery, YUI, MooTools, Dojo, Closure等
- - 移動Web開發 (Mobile Web),jQuery Mobile, Sencha touch (沒做過移動開發以前,我錯誤的認為這個桌面前端差不多,現在覺得差別還是比較大的)
- - Web後端,NodeJS
- - 前後通吃,MeteorJS
- - 單頁面Hybrid應用,BackboneJS,AngularJS,EmberJS, KnockoutJS等
- - 移動App開發,PhoneGap, Firefox OS, Titanium