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