前后端分离的思考与实践(二)

作者: admin 发表于: 2014-04-10
基于前后端分离的模版探索 前言 在做前后端分离时,第一个关注到的问题就是渲染,也就是 View 这个层面的工作。 在传统的开发模式中,浏览器端与服务器端是由不同的前后端两个团队开发,但是模版却又在这两者中间的模糊地带。因此模版上面总不可避免的越来越多复杂逻辑,最终难以维护。 而我们选择了 N...

前后端分离的思考与实践(一)

作者: 常胤 发表于: 2014-04-05
也谈基于 Node.js 的全栈式开发(基于 Node.js 的前后端分离) 前言 为了解决传统 Web 开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异。痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 Node.js,试图探索...

一种基于匹配回朔的 CSS3 选择器引擎实现

作者: 承玉 发表于: 2013-05-08
介绍 CSS 选择器是一种应用于 DOM 节点查找场景的特定微型语法, 本质上和正则表达式一样都是一种模式匹配语言,灵活使用可以方便得获取指定位置的节点集合。 目前 W3C 推荐标准为 Selectors Level 3,在 IE9 + 以及 Firefox,Chrome,mobile 等浏览...

模块化高扩展性的前端框架 KISSY

作者: 承玉 发表于: 2013-03-15
本文为 2013 年 3 月程序员杂志同名文章的完整版。 介绍 伴随着淘宝的快速发展,诞生已三年多的 KISSY 也取得了巨大的成长。目前应用于阿里集团的多个业务团队,特别是淘宝,天猫,一淘的绝大多数业务都采用了 KISSY, 满足了从前台的 web page 到后台的 web app 再到...

谈谈 jQuery 中的防冲突(noConflict)机制

作者: 邦彦 发表于: 2013-03-13
许多的 JS 框架类库都选择使用 $ 符号作为函数或变量名,jQuery 是其中最为典型的一个。在 jQuery 中,$ 符号只是 window.jQuery 对象的一个引用,因此即使 $ 被删除,window.jQuery 依然是保证整个类库完整性的坚强后盾。 jQuery 的 API 设计...

复杂表单应用解耦,淘宝机票订单实践

作者: 陶清 发表于: 2012-11-09
背景 在 Web 应用中,复杂表单这类 Web 应用富交互元素多,业务逻辑复杂,犬牙交错,且需求变化频繁。及容易成为晦涩和幽暗之地,也经常是各种代码坏味道的来源。针对这种典型的复杂应用,本文以淘宝机票订单为例提出一种架构模式梳理和消化表单带来的复杂性。 模块和组件划分 解决复杂表单的的第一...

基于有限状态机的交互组件设计与实现

作者: admin 发表于: 2012-10-12
有限状态机(FSM)(维基百科)是设计和实现事件驱动程序内复杂行为组织原则的有力工具。 早在 2007 年,IBM 的工程师就提出在在 JavaScript 中使用有限状态机来实现组件的方法,原文地址如下: 《JavaScript 中的有限状态机》 现在结合 KISSY 等现代 JS 库和框架...

构建前端 DSL

作者: 承玉 发表于: 2012-10-12
目前在传统的软件开发领域 DSL 已经比较普遍,特别是 Martin Fowler 的突出贡献。而在前端领域尚较少涉及,而如果在前端开发中合理使用 DSL 同样也可以有效得减少代码数量,提高可读性。一个常见的应用场景即是前端模板的构建,从本质上看模板也是一个微型语言,因此可以从 DSL 的角度...

Juicer – 一个 JavaScript 模板引擎的实现和优化

作者: admin 发表于: 2012-04-24
让我们从一段代码说起,假设有一段这样的 JSON 数据: var json = { name: '流火', blog: 'ued.taobao.org' }; 我们需要根据这段 JSON 生成这样的 HTML 代码: 流火 (blog: ued.taobao.org) 传统的 Java...

Closure Compiler 高级模式及更多思考

作者: 法海 发表于: 2010-12-24
前言 Google Closure Compiler 是 Google Closure Tools 的一员,在 2009 年底被 Google 释出,本文将详细介绍 CC 的高级模式部分,更重要的是,阐述 CC 高级模式背后的思考。 CC 是真正的编译器 Closure Compiler 和...