最近感觉追不动前端的发展了,写篇文章感叹一下。
HTML
我知道有一些学校会教一些简单的网页制作,就是用 Dreamweaver 点一点的那种。大多也会留作业,最后交作业的时候看起来也像模像样。
只要不看代码。
看了代码感觉宁愿选择死亡。
table 布局,无意义的 dom 节点。大小写混用,缩进混乱。
作为一个前端工程师,至少要写明白自己写的声明是什么意思对吧?
然后还得减少不必要的 dom 节点,毕竟很多文章说节点多会影响渲染速度(ps: 我是不在乎的,我觉得有点儿矫枉过正的味道了)
然后比较重要的一点儿是对于语义化标签的见解。比如什么时候该用 ul, 什么时候该用 section, aside
至于 head 里面的那些无聊的声明只要会复制粘贴就好了,我觉得没什么意思
自信做到这些的应该算差不多了
文章说的是前端有多难,很多人都觉得这些标签简单。然而想象一下,要写多少的标签才能理解语义化的意义?要写多少页面才能真正的明白这个节点应该写什么标签?如何组合才算合理?
CSS
然后是关于 CSS,我觉得这方面是很复杂的。并不像很多人觉得只是一些单词的组合。
一开始我会改 background-color 觉得开心得不行,以为掌握了
后来无限突破视野。
在第一次写超过50个class之后就感觉想死,重复性劳动,样式修改调试,写法丑。。。
接触到 Sass 之后像是发现了新大陆,有一段时间甚至不会写原生 css 语法了。
然后折腾: Sass -> Stylus
到这里结束了么? naive
后面还有postcss, cssnext 这些东西。
在 react 生态中还有 css-modules, css-in-js 这些鬼东西。
虽然语法都不是很难。但是这么长时间的折腾下来,虽说提升是有的,但并没有感觉到生产力有多少巨大的提升。
css 到这里还没完。
还有BEM的命名方式要去理解。
到这里依旧没有完。
css3 的新特性,还有各种 hack。比如如何实现footer始终在底部,内容始终撑满全局?如何实现条纹?
到这里结束了么?
依旧没完。
css stage 4 等着去学习。
还有精力?
可以试着多做些兼容性相关的东西。会崩溃,相信我
到这里?
在我的视野中差不多算结束了,然而有谁能确定明天有没有一个什么new-css之类的东西解决什么问题。
JS
来了来了,前端的一个核心。
说JS轻松么?咱们来扯扯。
首先是各种 dom 的增删改,然后是ajax相关。学会了差不多能做简单的页面了。
然后对异步的理解。只有理解了异步才能正常地写js。
然后是对js语言特性的理解。比如ES5如何实现继承什么的,闭包。
总之这些就是面试题总是会问的东西。
之后还应该理解设计模式对吧?
到这里是正常的语言应该学习的内容了。然而js到这里只是起步。
之后一个前端工程师还得会 ES2015/2016 之类的吧。现在不写个async谁好意思说自己是写前端的?
之后应该是配合工具了,后文说。
继续顺着语言往下说。会了 ECMAScript 就能做个合格的前端了么?
还早呢。
之前火的 coffee script 现在不行了,然而 TypeScript 火了啊。不学一下怎么好意思追前端?
ts 对于之前写 Java, C# 的非常友好,基本语法没什么变化。然而可苦了那些不写这些语言的同学。语法改变倒是其次,思维方式的转变才是难以接受的。
现在还有 Elm 了。。。
我觉得我老了,追不上了