前端是有多难?看完你就知道了

最近感觉追不动前端的发展了,写篇文章感叹一下。

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 了。。。

我觉得我老了,追不上了