硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

淘宝 UED 技术负责人小马畅谈 Web 前端开发

  • 2010-11-25
  • 本文字数:2490 字

    阅读完需:约 8 分钟

小马(赵泽欣)是淘宝 UED 团队的技术负责人,在 Web 开发领域有丰富的经验。InfoQ 编辑在 QCon 全球企业开发大会(北京站)期间,就 Web 框架选取标准、性能优化建议、前端工程师角色定位等相关问题对他作了专访。

InfoQ:小马,请首先做一下自我介绍。

小马:大家好,我叫赵泽欣,在淘宝的花名是小马,隶属于淘宝 UED 部门,很荣幸能够接受 InfoQ 的采访,谢谢。

InfoQ:小马,现在 Web 开发相关的类库特别多,请问淘宝在选择 Web 框架做开发的时候,是从哪些角度来考虑的?能否给读者朋友提供一些参考?

小马:的确如你所说,Web 类库五花八门。我们在做选择的时候,主要基于以下这两个方面:

  1. 想想是否真正符合自己的需求,有些类库可能适合网站型应用,另一些可能适合数据型应用,所以其实还是有些区别的,这是第一点。
  2. 我觉得还要看人才或者是技术储备的状况。如果你的团队里面没有几个特别熟悉这种类库的人才,有时候会吃一些苦头。

像淘宝网当初选择 YUI 也是基于这两个因素考虑。因为淘宝的后端架构是基于 JAVA 的,而 YUI 是大多数框架里面,在文档组织、代码组织上最接近于 JAVA 的,比较容易得到开发人员的认可,然后功能也比较强大,组件比较丰富,再加上又有一个专业的雅虎团队在维护,所以可靠性上也会比较强,因此当时选择它。最重要的还是根据你自己的需求。

InfoQ:目前淘宝 UED 团队已经发展壮大,你们现在是基于 YUI 呢,还是有进一步的计划?

小马:目前大部分还是基于 YUI,因为已经用了很久了,也基于它做了很多改进和扩展。但是随着淘宝飞速的发展,各种应用也越来越复杂,我们也慢慢感受到 YUI 的一些不足,YUI 当然它自己也在发展,推出 YUI 3 的版本,也做了很多的改进。可是我们在用的过程中,觉得还是不太适合,不太适用于淘宝,所以我们也有计划的在研发自己的框架,我们的框架叫做 Kissy ,我的同事玉伯主持这个项目,我们把它开源了,我们希望国内外更多的朋友能够一起来丰富这个框架。

InfoQ:我们知道前端很注重用户体验,比如响应时间等,现在有关 Web 性能优化的规范特别特多,我想问一下,以你的经验来说,有哪一些建议比较重要?

小马:当初我们做性能优化,最主要还是基于雅虎的 YSlow 工具,他们专门有一个性能团队,做了很多的研究,列出了很多优化的原则,我们刚开始还是拿来主义,学习他们,所以有几条我觉得特别能够立竿见影的方法。第一是把很多的脚本文件合并成一个文件,或者是把很多的 CSS 文件合并成一个文件,这样能够有效的减少 HTTP 的请求。然后尽可能把脚本放在页面靠结束的部分,把 CSS 尽可能放在靠前的部分。以我的经验,这些措施能够很快让用户感受到速度的一个提升。如果要做更多的优化的话,那可以按照 YSlow 的规则去做,其实性能优化不光是前端的职责,有时候也需要后端的支持,比如说 Cache,有时候是需要 Apache 或者 http server 的一些配置,其实性能需要整个公司里面各个团队一起来配合。

InfoQ:前端团队除了注重性能之外,是否还有其他领域,比如安全性,淘宝是不是也很注重这方面的问题?

小马:我个人觉得其实安全性也是一个我们很关注的地方,因为现在很多安全性问题,可能都是以脚本作为跳板,很多也是基于浏览器来做一些攻击。前端最熟悉浏览器,也是对脚本最为熟悉的一个岗位,所以很多时候,跟公司的安全技术部门交流的过程中,我们都希望从前端的角度给他们更多的建议。除了安全,我个人觉得,淘宝现在比较关注一些手持设备上面的前端研发,比如 iPhone、iPad 等。

InfoQ:淘宝 UED 团队目前关注哪些最新的 Web 前端技术?

小马:现在可能最热门的就是 HTML 5 和 CSS 3,但是很遗憾 IE6、IE7 这些浏览器还占据大量的市场份额,像淘宝基本上 90% 的用户浏览器都还是 IE 系列。我们以前经常会有这种想法“反正用户都用 IE,这些新的东西用了也没什么意义”,现在我们慢慢的觉得,还是要推动这个事情,所以 HTML 5、CSS 3 的一些新特性,我们都尽可能的去应用,而且我觉得效果非常的好。

InfoQ:您作为淘宝前端团队的负责人,如何定位前端工程师这样一个角色?他的工作范围跟其他的工程师,比如后台开发工程师、还有一些专门做页面设计的工程师,有何区分?

小马:这个问题我们自己内部也有讨论过,我想了很久,提出一个定位,当然也是这个团队大家一起的思考成果,我们觉得前端是面向用户的程序,首先还是程序,我们也要编码,我们也要具备严谨好学的特质,另外一点,我们跟很其他后端开发工程师有一些区别,就是可能我们更贴近用户,我个人觉得可能后端工程师更靠近机器,我们更靠近用户,所以我们需要更多的倾听用户的声音,所以我觉得前端工程师是面向用户的程序员。

InfoQ:目前云计算的实践越来越多,您觉得云计算会给前端工程师或者前端开发带来什么样的影响或者变化?

小马:现在很多人在谈这个概念,包括淘宝的测试团队,他们已经推出云测试工程师,所以我觉得前端工程师以后可能会慢慢的转化为云端工程师,因为在我的感觉里面,云其实就是一个大的存储的中心,一个计算服务中心,他能够提供计算的能力,能够提供存储,能够提供这些 SERVICE。那浏览器呢,又是一个比较重要的连接云端的工具,不管是浏览器还是基于浏览器的 OS,我觉得前端工程师具备很多技能,可以比较容易的转换到云端工程师,我自己是觉得这是一个很好的发展前景。

InfoQ:最后一个问题,我们 InfoQ 的读者,当中有很多一部分,可能是从事这种前端的开发,或者说以后有志于从事前端开发的,那么我想替他们问一个问题,因为您是淘宝的第一位前端工程师,可以说是经验非常丰富,您认为一个优秀的前端工程师,他应该具备哪些的素质,或者您在招聘一个员工的时候,会看中他哪些特质?

小马:那我直接说招聘好了,我一般会比较注重他的从不同角度去思考问题的能力。因为前端就是这样,很多时候处理一个问题,其实有多套的方案,关键是怎么去权衡,找到最合适于这个需求的一个方案,所以我特别看中他们会有这种从不同角度去看问题的这样一个能力;然后第二点,因为前端确实是一个新的岗位,很多新的东西,我还是比较看重他的学习能力;另外还有一点就是他真的是热爱前端的这样的一个岗位。

InfoQ:感谢小马接受采访。

小马:谢谢。

2010-11-25 00:007836
用户头像

发布了 501 篇内容, 共 279.9 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

获权威推荐!融云荣登「铸基计划」年度全景图三大核心板块

融云 RongCloud

《Operating System Concepts》阅读笔记:p587-p596

codists

操作系统

一文掌握 MCP 上下文协议:从理论到实践

陈明勇

Go MCP MCP协议 go mcp

SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

阿里巴巴云原生

sql

自动化 + 智能化重构运维价值:从成本中心到业务增长引擎的蜕变

嘉为蓝鲸

AIOPS 智能运维 降本增效

【同步教程】基于Apache SeaTunnel从MySQL同步到MySQL——Demo方舟计划

Apache SeaTunnel

SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

阿里云云效

sql

我对于AI领域商业模式的思考

老张

人工智能 商业模式 智能体 大模型

SvelteKit 最新中文文档教程(18)—— 浅层路由和 Packaging

冴羽

Vue 前端 React Svelte SveteKit

芯盾时代OIAM解决方案

芯盾时代

iam 统一身份认证 身份治理与管理

用友畅捷通基于阿里云 MaxCompute 搭建智能数仓的落地实践

阿里云大数据AI技术

大数据 云原生 数据处理 MaxCompute 智能数仓

ITSM运营:ITSM事件管理的持续改进策略

嘉为蓝鲸

AIOPS ITSM 智能运维

多云原生,更稳更省,火山引擎多云CDN推出免费使用3个月,1元10TB特惠专场

火山引擎边缘云

CDN CDN加速 CDN带宽

黑龙江三级等保-信息安全等级保护制度中的重要级别

黑龙江陆陆信息测评部

深入研究:淘宝天猫商品详情查询API详解

tbapi

淘宝API 淘宝商品数据采集 淘宝商品详情API 淘宝商品接口

从神话到现实:大模型在运维中的三大核心价值重构

嘉为蓝鲸

智能运维 #WeOps

用友加入数据资源服务联合体

用友智能财务

财务 会计

告别数据孤岛:Telegraf-loTDB 实现一站式监控数据闭环

Apache IoTDB

CSS AI 通义灵码 VSCode插件安装与功能详解

阿里巴巴云原生

CSS AI 通义灵码 VSCode插件安装与功能详解

阿里云云效

CSS 前端

金三银四冲击一波「腾讯」!

王中阳Go

Go 面试

做好设备管理这四大关键,事半功倍!

积木链小链

数字化 智能制造 设备管理

天润融通走进天虹|大模型驱动,助力零售行业服务质效飞跃

天润融通

用 Go 语言轻松构建 MCP 客户端与服务器

陈明勇

Go MCP MCP协议 go mcp

嘉为蓝鲸应急灾备管理中心 V1.6 移动应急系统,让灾难响应快人三步

嘉为蓝鲸

AIOPS 智能运维 应急灾备管理中心

告别"运维盲区":基于LLMOps的智能观测系统实践指南

嘉为蓝鲸

可观测性 AIOPS 智能运维

什么是模型上下文协议(MCP)?

镜舟科技

数据交互 模型上下文协议 AI交互范式 统一接口 StarRocks MCP 服务器

亮数据爬取API爬取亚马逊电商平台实战教程

知识浅谈

爬虫技术

理解 Calvin 的架构设计与工作原理

Databend

MES系统中的几大功能模块

万界星空科技

mes 数字化工厂 万界星空科技 制造业工厂 生产管理MES系统

如何使用通义灵码学习JavaScript和DOM

阿里云云效

JavaScript 云计算

淘宝UED技术负责人小马畅谈Web前端开发_Java_崔康_InfoQ精选文章