1. 程式人生 > >前端大牛們都學過哪些東西

前端大牛們都學過哪些東西

一步一步來。

CSS不能程式設計?用LessSassStylus、甚至直接用Absurd,框架除了Bootstrap還有很多。JS寫多了很麻煩?jQuery。移動開發?Zepto.js。結構不好?找框架,Backbone.js是MVC,AngularJSEmber.js是MVVM,Twitter還弄了個事件驅動框架Flight。庫多了要優化載入?RequireJS

程式碼質量成問題?JasmineQUnitMocha做單元測試。各種瀏覽器都要測?用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。

  1. - 桌面Web前端,也就是通常的前端,jQuery, YUI, MooTools, Dojo, Closure等
  2. - 移動Web開發 (Mobile Web),jQuery Mobile, Sencha touch (沒做過移動開發以前,我錯誤的認為這個桌面前端差不多,現在覺得差別還是比較大的)
  3. - Web後端,NodeJS
  4. - 前後通吃,MeteorJS
  5. - 單頁面Hybrid應用,BackboneJS,AngularJS,EmberJS, KnockoutJS等
  6. - 移動App開發,PhoneGap, Firefox OS, Titanium
轉載:http://www.zhihu.com/question/22146521/answer/20462433