惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Microsoft Security Blog
Microsoft Security Blog
T
Threatpost
D
DataBreaches.Net
B
Blog RSS Feed
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
N
Netflix TechBlog - Medium
O
OpenAI News
Webroot Blog
Webroot Blog
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
Google Online Security Blog
Google Online Security Blog
SecWiki News
SecWiki News
H
Help Net Security
Forbes - Security
Forbes - Security
N
News and Events Feed by Topic
aimingoo的专栏
aimingoo的专栏
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
腾讯CDC
B
Blog
H
Heimdal Security Blog
博客园 - 三生石上(FineUI控件)
C
CERT Recently Published Vulnerability Notes
L
Lohrmann on Cybersecurity
G
Google Developers Blog
Scott Helme
Scott Helme
C
CXSECURITY Database RSS Feed - CXSecurity.com
罗磊的独立博客
V
Visual Studio Blog
L
LINUX DO - 热门话题
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
C
Cisco Blogs
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
F
Fortinet All Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
S
Security Affairs
P
Privacy & Cybersecurity Law Blog
S
Secure Thoughts
V
V2EX
雷峰网
雷峰网
Security Latest
Security Latest
H
Hacker News: Front Page
TaoSecurity Blog
TaoSecurity Blog
M
MIT News - Artificial intelligence

囧克斯

奔四了,写给40岁的自己 有序退网 我和 Vue.js 的十年 我参与《代码之外 Beyond Code》的故事 博客站迁移至 VitePress 的备忘 写给我的奶奶 中文格式化小工具 zhlint 及其开发心得 vue-mark-display:用 markdown 语法轻松撰写幻灯片 我对技术会议的一些看法 VueConf Hangzhou 见闻 第四届 CSSConf CN 见闻 [译]Web 表单的未来 [译]苹果正在做一些他们的程序员明摆着不想要的东西 [译]为什么我不会无偿加班且你也不应该 [译]如果管理是唯一可走的路,那就完蛋了 [译]如何撰写 Git 提交信息 [译]C 程序的原则 Vue 2.0 来了! Weex 近 4 个月的开源之路 Weex 在 JS Runtime 内的多实例管理 我理解的 SPA 我理解的 Flux 架构 【整理】Vue 2.0 自 beta 1 到 beta 4 以来的主要更新 通过一张图走进 Vue 2.0 Code Review for Vue 2.0 Preview Vue 2.0 发布啦! 务实的小而美 Vue.js 1.0.0 发布了! [译]如何成为一名卓越的前端工程师 手机淘宝前端的图片相关工作流程梳理 [译]如何让办公室政治最小化 Vue.js 源码学习笔记 从原型到发布——“团队时间线” 1.0 开发心得 Vue + webpack 项目实践 用 Koa 写服务体验 webcomponents 笔记 之 配置管理 小秀个人的13~14年摄影作品 (共19张) 由今年D2前端论坛想到的 [译]CSS命名神马的真心难 [译]Git 分支的最佳实践 [译]撰写可测试的 JavaScript [译]语义化版本管理 [译]通过HTML5 Canvas API调节图像的亮度和颜色 [译]JavaScript V8性能小贴士 [译]视觉差,走起! [译]Chrome开发者工具中评估性能的五大新特性 精气神儿 细节无微不至,彩屏让人又爱又恨——新老“神机”大对决:Nokia 1050 vs Nokia 1202 秦升拿到红牌之后…… 用Sass重新整理自己的博客主题样式 Connect中间件使用手册 巧用 RequireJS Optimizer 给传统的前端项目打包 编辑器小调查结果 [译]JSLint 文档 烟火——写给蛇年的傲游和我 小秀个人的全年摄影作品 (共15张) 2012年终毫无正能量的总结 标签?ID?还是CLASS? 微创新=伪创新 HTML5峰会归来 分享bookmarklet一则:随意阅读 国际羽联和中国队之间的恶性循环 ZeroClipboard 学习笔记 “思考人生” 听杨东杰弹吉他 学习精髓 网站装修笔记20120426 网站装修笔记20120414 网站装修笔记20120406 分享Typecho插件:百度统计助手 我的得奖感言 网站装修笔记20120331 用CSS3制作尖角标签按钮样式 分享Typecho插件:Markdown 解析器 + 编辑器 分享Typecho皮肤:我的字很大 汇总自己过去的一些HTML5科普文章 html5中的消息通信简介 + 我的新网站开张 网站装修计划 Typed Arrays 是神马? 文明看球 HTML5中的文件处理 之 File Writer API HTML5中的文件处理 之 File API 独生子女、互相等和不耐烦 IndexedDB技术简介(四) IndexedDB技术简介(三) IndexedDB技术简介(二) IndexedDB技术简介(一) 把博客的字体进一步调大,同时去掉了侧边栏 “模仿别人是为了找到自己” 写给我未婚妻的2011年 写给自己的2011年 手把手教你入门EaselJS做HTML5动画 “吃了吧,不吃就浪费了” 写给傲游的2011年 所谓专业 写给HTML5的2011年 对HTML5中LocalStorage的一些使用建议 回味一下我2011年看到的最过瘾的5场足球比赛 浅浅浅谈开饭店被顾客吃出“异物”的用户体验 前端的本职
前端开发越来越需要对数据敏感的工程师了
勾三股四 · 2011-01-16 · via 囧克斯

这是我从杭州D2前端论坛归来,结合最近工作内容后的感受。

记得我刚加入傲游的时候,我的职位名称还不带“前端”这么冠冕堂皇的字眼——也就是个“网页开发”人员。那时每天最主要的工作,就是和页面布局、表单、事件打交道,随着ajax技术被越来越多的使用,我的工作范围扩大到了xml解析和较为复杂的字符串分割和拼接,但工作核心还是界面。那会儿的工作,翻来覆去好像也就是这些,如果xml或正则不太熟,简单问问边上后端或客户端的程序员就搞定了,核心竞争力就是dom/css还有firebug。

随着Web技术的丰富,“前端”这个概念的到来,以及人们对“前端”技术的高期望值,这种状况逐渐在转变……

我们在工作中接触的“传统模式”的网页越来越少,相比之下,网站的样子做得和应用程序越来越接近,现成的表单、css样式、html元素已经无法满足产品要求了,同时数据处理和逻辑控制变得越来越复杂,过去以界面-事件为驱动的开发模式逐渐变得不适用了,而以数据-模块为驱动的模式被更多的认同和运用。

再看看最近几次Web标准化交流会、WebRebuild大会、D2前端论坛、Google Fast Dev大会等等前端技术活动,探讨的很多内容都是非常抽象化、结构化的,不然就是算法优化和性能优化。对于每天只接触div+css重构网页,再利用jQuery绑几个提交按钮、表单验证、弹出几个用div模拟的对话框的前端工程师来说,可能体会不到那些新思想、新技术带来的欣喜,无法汲取真正的营养。但对前端抱有极大期待、拥有极大野心的童鞋们来说,无异于久旱逢甘露的感觉。而如何处理好前端世界里的各种数据结构与算法,就在其中扮演了非常关键的角色。所以未来前端的驱动力必然会在数据这个层面。

说“驱动”这个词可能比较晦涩不易理解,如果再解释一下,那就是我们在打算完成这项工作之前,最先要考虑的事情是什么,然后顺着这个方面起步,完成所有的工作。

如果想做好更为复杂的网站或Web应用,上来就先写html/css代码然后在静态效果上绑定各种事件进而完成js的开发模式会让你很容易就陷入了数据和逻辑的苦海——这其实就是界面、事件驱动的做法。而数据、模块为驱动的模式则是在一开始抽象出整个网站或应用的数据结构和数据逻辑,然后把界面以模块为单位进行拆分(粒度并非在事件这么小的级别),这样程序基础非常牢固,可以应付负责的业务逻辑和数据结构,也可以应付各种后期维护和调整。在这个时候,再去完善界面,绑好事件,就变得顺理成章,这部分的开发也不会因此变得复杂或费力。

想做好这件事,就需要深厚的程序员功底了。所以前端开发,在朝界面-事件驱动转型为数据-模块驱动的过程中,需要更多对数据敏感的工程师的加入。

前端开发,任重道远