前端是学什么的

核心提示前几天看到这样的问题:最近在看bootstrap,发现除了大一的时候看过的html+css,和一些js,JQuery之外,几乎没学什么关于前端的东西。偶尔了解过一些html5。想知道如果作为一个团队的前端负责人还需要学习哪些东西?发现boo

前几天看到这个问题:

最近看bootstrap,发现除了html+css,还有大一时候看的一些js和JQuery,几乎没学过什么前端的东西。偶尔知道一些html5。知道如果你是一个团队的前端领导还需要学习什么吗?发现自举与。更少。除此之外,还有什么需要学习的?

其实一步一步来。

CSS不会编程?用Less,Sass,Stylus,甚至直接荒谬,除了Bootstrap还有很多框架。JS写太多很麻烦吗?jQuery .移动开发?Zepto.js .结构不好?找框架,Backbone.js是MVC,AngularJS和Ember.js是MVVM,Twitter也得到了事件驱动的框架飞行。库太多无法优化加载?要求.

* *代码质量有问题?**Jasmine,QUnit,Mocha做单元测试。各种浏览器都要测试?利用因缘。测试和部署。有什么问题吗?持续集成,与特拉维斯CI。用户行为也要衡量?用硒。测试和Viff。觉得JS够麻烦?使用Coffeescript。

* *想做动画?**Canvas或者SVG和CSS3帮助,秒杀Flash。SVG太难画?用Snap.svg想开发一款游戏?用帆布。自己写FPS太低?使用框架CreateJS。2D太幼稚了?Three.js帮你用WebGL开发3D,还不够牛逼吗?Asm.js让你在浏览器中拥有虚幻引擎3。

这堆东西还得配置部署。求求你,用Grunt,太多库了?有了Bower management,是否要在项目开始时创建各种文件夹?使用约曼。开源项目太多了。在GitHub上寻找它们。没有吗?学Git。对了,用Jekyll来主持博客,没门。还有Ruby …SASS也是Ruby写的。等等,崇高文字是Python写的。要不要写插件?也学学吧。太难调试?有了Chrome开发者工具,一堆API和特性。

你就不能在电脑浏览器上运行吗?开发移动HTML5,离网就没用了?5 HTML5离线应用。原生应用怎么样?使用PhoneGap。想调用原生API?开发Firefox操作系统应用程序。浏览器应用程序也必须很好。Chrome Firefox有自己的文档。然后是不是把后端转储了,自己做了,装了node.js,所以还是要学点服务器知识,想用npm管理节点包?你要学习linux的技巧,shell等等。想两头都吃?看看http协议。你掌握了网络吗?Node-webkit允许你编写桌面程序。不断学习。

想学模块化开发?看一下CommonJS和AMD的规格。JS理解有偏差吗?看看ECMA-262,等等。我想知道第六版什么时候会出版。浏览器不一样,我想不通怎么兼容。看W3C标准。人看得懂HTML,机器看不懂吗?去SEO,去支持残疾人?看HTML的语义,IE就是不支持?无名浏览器尼玛连JS是什么都不知道?逐渐增强。想一次搞定各种装备?响应设计。

那么这些只是一些得心应手的小技巧。公司是做什么的?了解行业信息。面向大众的产品?交互设计。艺术设计不强?UI设计。外包和咨询?设计模式、重构方法、算法和数据结构。你了解软件工程吗?了解敏捷开发,也许可以尝试TDD、ATDD和BDD。

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

这些只是我目前能看到的一小部分,每一段基本都达到一个边界。不是不需要学习,而是继续学习是另一个世界。真心希望有人能帮我填补知识盲点。另外我只是把一些知识点串起来。如有不完整或错误之处,请见谅。

其实我一直都在说。我就是看这个问题,想知道学什么,就设置了一些工具和框架。但是,我发现很多人只记得“大牛”这个词。其实前端和后端在技术栈层面的区别真的很搞笑,无非就是Javascript和某个语言的区别。前端和后端的本质区别是资源分配策略或者思维的区别。如果你不明白这一点,你最好好好学习技术,忘掉前端和后端。这个项目需要你做网页。可以从前端学习Java,Ruby,PHP之类的。不要把前端的概念作为懒得学习其他技术的借口。未来,Javascript将成为相对于浏览器的底层语言,开发者用各种语法的语言开发后,编译成Javascript在浏览器上运行。如果还是只有前端三斧,注定会被前端如火如荼的摧毁。与Coffeescript相比,Typescript有了一些质的变化,加上带有Haskell语法的Elm,再加上webpack的催化,这种趋势会越来越明显。

 
友情链接
鄂ICP备19019357号-22