maven 和 r.js 的整合

看到这个话题,可能有人会觉得不解,为什么会有这样的场景,为什么 js app 需要和 java 项目整合到一起,其实就是为了让开发效率更高,更加集中关注应用的实现过程,而不用纠结 host 绑定、如何测试、如何发布。

Maven 除了可以做项目的 build (通常是服务端项目),还可以做一些额外的事情,这些事情就是帮我们 build js app,这里的 build 通常就是指把一些开发过程产出的源代码变成线上代码的过程,如果没有在使用 AMD api 来构建应用,通常仅仅需要简单的文件压缩合并,这里我们会介绍怎么在 maven 项目中使用 r.js 来 build 基于 AMD api 实现的应用,这里也推荐一下比较复杂的应用使用尽量转到 AMD 来实现,参考 Why AMD,然后推荐 r.js 是因为这个算是目前做得最好的 build 工具。
Continue reading “maven 和 r.js 的整合” »

低成本的前端性能优化

说到前端优化总让我想起很多灵感,这些灵感来源于对数据提升的“感性”预测,举个例子:我总是幻想把 Javascript 都重构了,网站的 TTI 可以提升个 10% +,但是除非你的代码中有严重的逻辑问题,这样的想法总只是幻想,因为重构代码而带来初始化性能提升的实在是太有限了,远远低于 5%,所以做重构这样的事情更重要的目标是让应用更易维护,以及有良好的架构能支撑 2 年左右无需再次重构。

Continue reading “低成本的前端性能优化” »

豌豆荚Web 重构小结

年底了很多人都在做年终总结,可惜我今年值得总结的东西周期没有到一年那么多,这次就对最近的一个重构项目做个笔记,总结一下完成思路和不足之处。

我需要完成的是对豌豆荚应用导航页面(也就是大家在豌豆荚客户端里看到的页面)进行重构,因为这些页面最终展示在webkit内核的终端上,所以实现技术上有很多可能,挑几个自己觉得需要投入思考的介绍如下:

Continue reading “豌豆荚Web 重构小结” »

整站ajax化

整站ajax化(简称ajaxifying)亦即使用ajax渲染网页的主要部分,通过极大程度减少冗余的请求来提升网站速度,它有别于我们平时所理解的较小区域的异步刷新, ajaxifying使页面上绝大部分的内容是通过ajax完成渲染,这样的处理需要额外考虑这些大容量内容渲染的效率,内容模块化管理等因素。 Continue reading “整站ajax化” »

权衡前端性能优化

web性能优化的技巧越来越被人所重视,不管是YSlow的14条优化建议,还是各种性能优化相关的书籍都从技术解决方案层面给出了令人满意的答案,已经有很多网站在性能优化方面进行了成功的实践,在尽可能减少请求数,压缩代码,图片合并等基础优化方面似乎是没有其他退路,而javascript性能优化,ajax优化等方面的进阶优化虽然没有很直接的7天速成指南可以参考,但是在技术积累稍微好一点的团队,这种代码层面上的性能优化相对来说没有压力,可以看出web性能优化技术越来越透明,并且性能优化也是一个老生常谈的问题,不过正是因为如此在做这些看似很美的事情之前更需要冷静下来仔细权衡。 Continue reading “权衡前端性能优化” »