良田's Blog

良田有沃土,待花盛开时~

#迷失在繁华年代的前端仔们

> 首先不得不说的是,我们很幸运,生活在这个繁荣昌盛的前端年代,有丰富的资源和无数的灵感迸发交融,诞生了一个又一个的奇迹。

文中仅仅对当下前端发展中的问题发表个人观点,对事不对人。行业要发展,也许正是这种迷茫,才诞生了如此蓬勃发展的前端,并感谢那些一直为前端创造机会的人们。未来很长。

  1. 细数过往

前端在过去,也被叫做页面仔。是的,就是这么的卑微而戳中心怀的字眼。拿着和开发不成比例的薪水。干着和他们一样累的活。那时候的我们刚刚认识什么是DIV,什么是SPAN。还不知道怎么使用float做到双飞翼,也不知道table到底是用来干嘛用的,反正哪里都用它,因为它很好用。

  1. 从苏醒到奔跑

后来,有人发明了一个名词叫DIV+CSS布局。于是我们开始疯狂的传播,后来有人发现国外有个JS的库叫prototype,又发现了jQuery、YUI、Dojo、closure……直到nodejs的出现,掀起了惊涛骇浪,让我们以为,我们是万能的。我们,可以拯救一切。

  1. 大肆扩张

伴随产品的复杂度提高,角色划分也越来越清晰,前端也拿到了和开发一样的薪酬和待遇,似乎过上了幸福快乐的生活。叫嚣不平等的时代终于结束了。可平等带来的波折却是这个你来做,这个我来做,这个谁来做。。。是的,谁都想占有一席地位。谁都想要话语权。就像小两口过久了。以前有一家之主,现在提倡家庭平等了,却不知道该听谁的。

  1. 前后分离

既然有矛盾,就要划界限。一群聪明的前辈发现了这堆问题,抛出来给后人思考和解决。问题是当代人的问题,当然也是要当代人解决。有一群人,他们提出了大前端。一开始,他们只想拿到模板,后来干脆连模板的控制也拿到了,到后来,他们又想要得到输入的数据。。。以至于到最后,他们究竟想得到多少,连他们自己恐怕都不清楚了吧。前后分离就此迷失方向。

  1. 寻找初心

仔细想来,前端不就是画画界面,给人和机器交互上,增加可用性、易用性、趣味性的体验吗?游戏的界面从某种意义来讲,也是前端,家里的空调开关界面,google glass 乃至现在的流行穿戴设备,都可以算作前端。我们能够去做的,能够去尝试的有那么多,为什么偏偏就要去抢夺本就不是自己,且不适合自己的东西呢?对于前后的分离,多少人迷失在了争抢资源的乐趣,而忘记了初心。

  1. 探究本质

分离,是必须的。分离不是分开,不是扯清关系,不是不合作。分离是为了寻求章法,谋求长久利益,探究更好的合作关系。而前后分离的本质,恰恰在于`从数据到展现`的部分。这个部分牵扯了太多,也导致最有争议,最后让所有人迷失。而认真思考起来,数据到展现无非是把静态内容按照一定排列和格式,输出到另外的模板中去。那么,数据是后端提供的,模板是前端提供的。只需要将模板,数据严格约束并按照一定的约定执行。就能够输出正确的结果。这样就能实现所谓的前后分离。

  1. 实施的绊脚石

说来也是可笑,我和很多前端人来谈这个事情,他们也不明白和理解数据和模板的关系。这又怎么让一群完全没有前端开发经验的人来了解呢?只有完全认识到数据和展现这种暧昧关系,才能真正的将分离做到。

  1. 惊人相似的历史

说起来,其实已经有很多类似的事情发生过。可能大家并没有联想过。经典的图表库 Highcharts MVC框架knockoutjs MVVM 的angular 都是在用一份模板 + 一份数据输出整个界面。而繁华的背后有着惊人简单的思想,却被我们这么多人遗忘。。

  1. 感慨

也许有一天,前端能回到正轨,做一些更加良好的交互,更加流畅的体验,更加具有操作感的游戏,更有人的味道的人机交互界面。