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。
看了這麼多東西,第一反應是否是求中文文檔?學英語去吧。
這些也不過是我目前所能看到的一小部分,並且每段基本都是到了一個邊界,並非沒得學了,而是繼續學又是另外一片天地。真心但願有人能幫我填補知識盲區。另外,我僅把一些知識點串起來,不全或不對的地方請見諒。php
首先我不是大牛css
對了,還有git…
/* update */
剛幾個朋友問我爲何要選mac環境:html
一、 Mac OS X 是基於 Unix 的。這一點過重要了,尤爲是對開發人員,至少對於我來講很重要,這意味着Unix 下一堆好用的工具均可以隨手撿到。若是你是個 windows 開發人員,我想你會在 windows 上裝一套cygwin 環境吧?你不用 flex/yacc,grep,screen,ssh,make?好多 open source 的項目只提供cygwin/gcc/make 的編譯環境。Mac 就是基於 BSD Unix 的,全部這些都是 built in 的。
二、開發環境。c/c++/java /perl/python/php/ruby/lisp,各類 shell,應有盡有,直接支持,很是方便。你要在 windows 上開發 C++,要裝個 Visual Studio 編譯器吧?或者其餘的 C++ 編譯器;你要開發 Java,你要下載 Java SDK 吧,說不定還要一個 Elipse 或者 Netbean;你要用 Perl,要安裝一個 Perl 解釋器吧,Active Perl?你要 python/php/ruby,你要安裝……?開發程序須要庫,圖像處理,視頻處理,人工智能之類大部分庫都是隻支持 Unix/Linux 的。Mac 基於 Unix,因此這些統統都和 Mac 能很好和氣相處。
三、編輯器 Vi/Emac。做爲 程序員/IT 人員一個好用的編輯器過重要了,由於寫程序/改系統配置都須要編輯器。我在Mac上差很少1/2的時間是 browser/email,另外1/2時間差很少就是 Vi 了。
四、沒有病毒/木馬。用了5年多的 Mac 就沒看到病毒長成什麼樣,我還看不到 Mac 上裝殺毒軟件的須要。
五、不須要維護。Mac 買來就直接用,磁盤碎片整理?不須要。裝驅動?Mac 裝好了,驅動就行了。重裝系統?我5年沒有重裝過一次(期間換了幾回不一樣的 Mac)。
六、 簡潔。Mac 上全部的操做都簡潔到了極致,儘可能避免干擾用戶,增長了程序員的生產力。好比切換無線網功能,在 Mac 上切換隻須要1次鼠標點擊就能夠完成,在 windows 上須要點擊屢次鼠標(包括一些很愚蠢的確認對話框);再好比卸載 USB 盤,Mac 只須要1次鼠標點擊,windows 至少須要點擊右下角圖標、中止設備、確認對話框等屢次點擊。
七、多窗口切換。這個很方便管理打開的程序/文檔。我常常要在多個虛擬窗口切換,好比看瀏覽網頁/郵件一個窗口,寫程序/文檔一個窗口。
八、 程序員文化。國外程序員是以 Unix 爲主流成長起來的。這一點和國內不一樣,中國程序員/開發人員大都是從90年代的 DOS 開始的,隨着 Windows 的壯大,成長了一批使用 Microsoft 工具的程序員。這也解釋了爲何自從 Mac 切換到 Unix 陣營後,Mac 會發展這麼快。基於 Unix 的 Mac 一經推出後,迅速贏得了一大批老 Unix hacker 和新 Web 2.0/Linux hacker 的關注,正是由於這些忠實的 fans 影響了他們的人際網絡,圈子,博客,從而影響了整個程序員文化。有點像 Ruby on Rails,開始是一小部分人(精英人士)試用,這些人感受不錯就在博客,研討會等各類場合鼓吹,從而在 Web 開發領域颳起一陣 Ruby 風。
九、 蘋果很酷。每臺電腦,每一個系列都設計完美,從包裝盒,宣傳冊,廣告,電源線,電腦內部,電腦外觀,電腦軟件都精心設計,風格統一。甚至微小到螺絲,看過蘋 果機箱上的螺絲,機箱裏面的數據線嗎?那個也是設計。每一個 Mac 上都標記着:Designed by Apple in California,而不是 Desgined in USA,蘋果就是這麼酷,「咱們是一家加州公司」。蘋果的保密措施能夠說作到了極致,產品官方不發售就在市場上看不到蹤跡。
十、企業家 精神。蘋果的傳奇經歷吸引了大批硅谷創業者,Apple/Google/Microsoft/Amazon/eBay/Yahoo 表明了創新,進取的企業家精神。這不是一個大緣由,但能夠看做是 Mac 在國外,尤爲是在美國,尤爲是在硅谷,尤爲是在大學這麼流行的一個小緣由吧。據調查2007年美國大學 Mac 市場佔有率第一,這些大學精英們畢業之後走上工做崗位,走上社會,再過幾年其中一部分走入中層,走進高層,他們會如何影響 Mac 呢?
http://www.zhihu.com/question/22146521
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703354d8c6c01c904c7d9ff056ae23da865a000