做前端需要学的东西

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。

看了这么多东西,第一反应是不是求中文文档?学英语去吧。

原文地址:https://www.cnblogs.com/lodingzone/p/5214284.html