Taobao FED

主页

新版卖家中心 Bigpipe 实践(二)

自从上次通过 新版卖家中心 Bigpipe 实践(一) 阐述了 Bigpipe 实现思路和原理之后,一转眼春天就来了。而整个实践过程,从开始冬天迎着冷风前行,到现在逐渐回暖。其中感受和收获良多,和大家分享下。代码偏多,请自带编译器。 核心问题一切技术的产生或者使用都是为了解决问题,所以开始前,看下要解决的问题: 同步加载首屏模块,服务端各个模块并行生成内容,客户端渲染内容依赖于最后一个内容的生

一个前端的自我修养

今天给大家分享的主题是前端的自我成长,这是一个关于成长的话题。 很多人都有这样的感觉:听了很多技术圈子的分享,有的有深度,有的循循善诱,深入浅出,但是呢,几年下来,到底哪些用上了,哪些对自己真的有帮助了?反而有些模糊。 2015 年我在不同的场合分享了很多内容:有移动端的性能、有适配、有 Web vs Native,也有 hybrid,但是其实我一直比较担心,真正有深度的内容,其实面向的是比较小

淘宝前端国际化方案探索

全球化、农村、云计算大数据是我们目前集团非常明确的未来战略。全球化会让我们服务更多的人,服务全球范围内的人。落实到我们前端这块就需要有一套国际化的方案,能为海外用户提供非常好的体验,推进集团全球化进展。 这段时间有幸交接了淘宝海外的业务,淘宝海外就是专门面向国外用户提供服务的,因此在国际化这边有一些尝试,但是还远远不够,之前主要面向的用户是海外华人和留学生等,所以国际化只是做了一些繁简体转换等。

如何优雅的在 koa 中处理错误

软件开发时,有 80% 的代码在处理各种错误。 ——某著名开发者 想让自己的代码健壮,错误处理是必不可少的。这篇文章将主要介绍 koa 框架中错误处理的实现(其实主要是 co 的实现),使用 koa 框架开发 web 应用时进行错误处理的一些方法。 基础在 Node.js 中,错误处理的方法主要有下面几种: 和其他同步语言类似的 throw / try / catch 方法 callbac

店铺 KISSY 版本大乱斗

店铺 KISSY 版本大乱斗可能你不知道,从去年(或者前年?)某个时候起,店铺开始着手将 KISSY 版本从 1.3 升级到 1.4, 期间因为业务或团队变动已经换了两波前端,然而还是没有升级彻底,即部分店铺是 1.4, 另一部分还停留在 1.3 上。不彻底的升级意味着根本就没有升级,因为所有的代码要同时兼容两个版本。 我从 15 年 10 月接手店铺业务,前不久学长找我商量店铺升级 KISSY

三步将 React Native 项目运行在 Web 浏览器上面

React Native 的出现,让前端工程师拥有了使用 JavaScript 编写原生 APP 的能力。相比之前的 Web app 来说,对于性能和用户体验提升了非常多。 但是 React Native 的代码只兼容两个平台(iOS 和 Android),并没有兼容 Web 端访问。这里是因为 Facebook 开发人员认为 Web 端天生兼容性就巨麻烦,而且平台差异性是注定存在而且也要保留的

深入理解 GraphQL

0.引子通过上一篇文章我们对 GraphQL 有了基础的了解。我们知道 GraphQL 使用 Schema 来描述数据,并通过制定和实现 GraphQL 规范定义了支持 Schema 查询的 DSQL (Domain Specific Query Language,领域特定查询语言)。Schema 帮助将复杂的业务模型数据抽象拆分成细粒度的基础数据结构,而 DSQL 的实现则赋予了前端开发者自由

当前端也拥有 server 的能力

今天看了不少文章,比较感兴趣的是 Cache API。它是浏览器 Request/Response 的缓存管理工具,其使用风格和运用场景让我瞬间联想到了 ServiceWorker 和 Fetch API,相信很多同学也多次看到过这两个东西,本文会对它们做一个简洁的介绍,并谈一谈我对这些新玩具的看法。

淘宝前端团队 2016 实习生招聘开启

校招生小迪的一周年又到了春暖花开的季节,中午时分,漫步在园区的湖间小道,微风吹过脸庞 “再过几天就是我踏入阿里园区一周年纪念了呢” 小迪一边整理被风吹散的头发,一边陷入回忆。 “请简要描述一下事件委托的原理” 电话那头是温暖的男声,带有程序员说话那种简洁明了的感觉,小迪开始有一丝紧张,因为喜爱前端这个职业,享受代码在指尖呈现的美好,小迪从大二就开始学习前端基础,做项目,但因为缺乏体系化学习途径

Canvas 最佳实践(性能篇)

Canvas 想必前端同学们都不陌生,它是 HTML5 新增的「画布」元素,允许我们使用 JavaScript 来绘制图形。目前,所有的主流浏览器都支持 Canvas。 Canvas 最常见的用途是渲染动画。渲染动画的基本原理,无非是反复地擦除和重绘。为了动画的流畅,留给我渲染一帧的时间,只有短短的 16ms。在这 16ms 中,我不仅需要处理一些游戏逻辑,计算每个对象的位置、状态,还需要把它