1. 前端代码
在很久很久以前, (4年前, 似乎也不是很久)。那时候是我有生以来第一次接触前端开发。那是学校的教学课程,叫做HTML+CSS。那时候的推荐开发环境是Adobe的DreamWeaver,轻量级开发环境是window下的记事本—现在看来是多么地不可思议。现在如果用记事本开发,估计我会受不了这样的我。如果有新手还被老师坑着你用windows的记事本开发的话,听哥一句劝,换个vim,或者Emacs编辑器,不然来个SublimeText等等,还有很多优秀的编辑器。你也会在使用这些工具的过程中看到不一样的风景。最起码,你会感觉到,你是在写代码,而不是在抄书
。—我是觉得用记事本写跟抄书有什么区别?别跟我说在记事本装插件实现代码高亮,有这个心还不如是一下那些优秀的编辑器。
2. 误解根源
有点扯远了。前端开发我为什么会有误解?那时候我刚学了点html和css技术,还是承自于学校的教科书。(我不知道众位的教科书怎样,但是我们学校的计算机类的教科书是限制了不能超过39块钱,可见其质量),估计那时候只是会写一些常用标签。。。。不对,那时候除了div
标签之外我不知道我还会用什么标签。哦,还有一个p
标签!!!那css呢我估计就只会调整长宽吧。好了,就算是这样的我,我居然自以为自己能开发出像样的网站了。我们被尝试做一个个人主页。不好意思,那个东西太搓我根本不好意思保存下来。现在想想那时候得多稚嫩,那时候只是调整了下div元素位置,然后发现了我在IE上打开的,跟在火狐上打开的有点不一样
。那时候什么都不懂,就随便拿着样式表去调,反正就是距离不对我调宽度大小,总之要把两种浏览器的显示弄得差不多。有时候还误打误撞地调到两种浏览器显示几乎
一样。现在想来,要是这样做的前端,谁会去做,有什么意义?
所以那时候我得出了一个很片面的结论
前端开发是不严谨的,没法控制的。只能靠巧合编程。
3. 醒悟
那时候的想法用一句话就能概括出来Too young, too simple
。工作之后虽然做的并不是前端,但是工作一年的今天我发现前端开发越来越有意思。如果要做出像样的网站的话,前端开发必不可少。更何况我准备转行就是想去做前端–哈哈,太嚣张了。
后来读了一些前端开发相关的书籍资料。发现前端开发并不是随意,不可控制的。而是有一套理论体系的。比如,盒子模型,行高这些,像素,都是需要计算的。我们样式表的加载顺序是怎样?样式不对是否因为开始没有清0,或者样式继承了父节点的元素的同名样式?
无论是布局还是颜色,前端工程师要考虑的东西,绝对不比后端少。更是后来才发现,浏览器的不兼容主要还是当年微软非要自己独大搞得如今很多前端程序员不得不多些写代码来判断是否支持对应方法设置。当然浏览器之间本来就会不兼容,只是微软的IE搞的太偏了,所以特别指明了一下。
4. 致敬致歉
写到这里,我不得不向前端工程师致敬–当然这也包括未来的我。前端工程可以说是集产品设计与开发于一身的职位,相对于后端程序员的性能考虑你们考虑更多的客户的体验,这是一个很有意思的职位,但也是个不那么容易的职位。
同时,我也不得不为我对前端开发的误解致歉,当年太稚嫩的我根本没了解这个领域的事情就一口否定了这个领域的一切,其实我表示我错过了很多有意思的东西。开发了一年web(兼职一点前端)后发现,前端的东西并不是不随意的,不可控制的,虽然说目前很多框架能够帮我们解决一些兼容性问题,但是如果一个人的前端基础不牢固–像我,那当遇到页面开发的时候就会遇真正的囧境。这绝对不是靠巧合编程能够解决的。需要大量的理论支撑才可以。