给我一个 API,还你一个 APP前端这个岗位的前身是切图工,因为从前所有的业务逻辑通常,或者说也只能由后端承载, JS 也基本上只是被用于表单提交和简单操纵 DOM。 随着 AJAX 技术的推广普及,人们看到了前端的更多可能性,一些有能力的前端工程师开始在前端加入更多的交互逻辑,随着对于 DOM 操作的需求与日俱增,JQuery 诞生了。 其实在 JQuery 诞生的前一年,一个更为强大的类库已经开始了开发,那就是雅虎的 YUI。 为什么要说 YUI?因为这个已经死掉的类库实在是太强大,YUI(准确的说是 YUI3)已经继承了模块化以及动态加载,至于 DOM 操作简直不要太基本了。你可以看到,很多初级前端今时今日依然在纠结的问题,在十年前的业界就已经给出了答案。 随着 node 社区的崛起,前端开始了预编译的风潮。无论是 HTML 模板,css 的预编译,比如 less,sass,还是一些 js 的方言,比如 coffee,你能看到前端人为了进步所作出的努力。 首先,前端并不缺牛人,后端运用的技术和思想,前端从来没有放弃过尝试。但是前端的特殊性在于我们和历史的车轮绑的太近,后端可以直接升级服务器语言,前端只能等着用户慢慢的去升级浏览器,我们才能用更新更好的技术。 在软件行业有一个很基本的定理:项目的总工作量会在各个模块间转移,但是总量保持不变。 随着前端能够有更多的业务开发能力,我们争取到了更多的工作内容,随之增加的还有话语权。有很多公司把 Android 和 iOS 开发也 划归了大前端,代表着面对用户的第一线。 对于后端来说,考虑的指标是业务逻辑,数据安全,执行性能,可一旦面向用户的时候,我们的指标就只有一个,就是用户体验。功能不好用是体验不好,不安全是体验不好,卡顿也是体验不好。就像我们去吃饭,只会计较是不是好吃,顾客不会讲你这个是不是缺了哪几味调料,只会说不好吃。 比如最近我们在说关于滴滴的用户反馈,应该用“接驾距离太长”还是“等待时间太长”,前者是工程师的思维,距离是个可以量化的标准,比如派单超过三公里就算长,但是等待时间长这个概念就很主观,上班的时候可能等三分钟就要投诉了,下班的时候反正叫到车再下楼,十分钟也不嫌长。所以等待时间长这个指标是会随着人这个变量发生变化的,和人群,时段,天气甚至社会事件都会有关系。 如何在呈现中顺应用户的自然反应,同时如何收集合适的数据来辅助决策。我知道这些事情是 BI 要做的,但是你会发现无论是 BI 的工作,还是后端数据(比如从 API 可以揣测出表结构),设计自然更不必说。 前端一边连接了用户,另一边连接了几乎所有的工种内容,可以说前端的工作是一个翻译,把工程师的语言翻译成用户语言。举一个很简单的例子,比如后台管理系统,如果对于我自己来说,可能自己对着表写几个 sql 语句就可以看,但是我们却要做各种用于增删查改的输入框,表格,这个工作就是翻译,把“接驾距离太远”翻译成“等待时间太长”,把数据翻译成图表,把广告翻译成动画,把新闻翻译成图文。 后端需要理解代码逻辑,PM 需要理解人的逻辑,而前端需要同时理解两者,写的是代码,产出的却不是程序,而是产品。
前端的意义什么?
4250 views
2017-05-18 01:29:51