开发模式 · 标签

  • 前端 MVC 已死吗?

    2016-12-02 21:35 885
    越来越多的前端开发者采用单向架构。那么经典的“模型-视图-控制(MVC)”前景如何呢?为了理解我们是怎么到了现在的境地,不妨回首一下前端架构的演化之路。过去四年,我倾力于大量的网页项目,花了很多时间做前端架构、将不同的框架整合进来。2010 年之前,JavaScript——就是那个写出 jQuery 的编程语言——主要用来给传统网站加上 DOM 的操作。开发者似乎并不关心“架构”这个东西。像“暴露模块模式”对组织我们的代码库就够用了。如当下关于前端架构与后端架构那样的讨论最早是在 2010 年末段出现,因为那时开发者才开始严肃探讨“单页应用程序”的概念。也是在那时,像 Backbon...
  • 渐进增强与优雅降级

    2016-11-20 12:19 856
    优雅降级(graceful degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。渐进增强(progressive enhancement):一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。优雅降级:使用优雅降级方案,Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,绝大多数Web设计师和开发者都通过专门的样式表或针对不同版本的IE的hack实践过优雅降级了;使用优雅降级技术时,你必须首先完整的实现了网站,其中包括所有的功能和效果。然后再为那些无法支持所有功能的浏览器增加...
  • Web应用的组件化(二)——管控平台

    2016-10-22 17:49 1027
    管控平台在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段去管控整个开发过程。从各种角度看,面对较大规模前端开发团队,都有必要建立这么一个开发阶段的协作平台。在这个平台上,我们要做哪些事情呢?1. HTML片段我们为什么要管理HTML片段?因为有界面要用它们,当这些片段多了之后,需要有个地方来管理起来,可以检索、预览它们,还能看到大致描述。这应该是整个环节中一个相对很简单的东西,照理说,有目录结构,然后剩下的就是单个的HTML片段文件了,这就可以解决存储和检索的问题了,但我们还要考虑更多。已有的HTML片段,如何被使用呢?这肯定是一种类似include的方式...
  • Web应用的组件化开发(一)——基本思路

    2016-10-22 17:22 891
    基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分。软件产品也是产品,它的研发过程也必然是有其目的。绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率。 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net应用,避开Windows Server的费用。 提高开发效率这方面,业界研究得更多,主要途径有两点:加快开发速度,减少变更代价。怎样才能加快开发速度呢?如果我们的开发不是重...
  • Web 研发模式演变

    2016-10-22 17:11 833
    前不久徐飞写了一篇很好的文章:Web 应用的组件化开发。本文尝试从历史发展角度,说说各种研发模式的优劣。 一、简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发。页面由 JSP、PHP 等工程师在服务端生成,浏览器负责展现。基本上是服务端给什么浏览器就展现什么,展现的控制在 Web Server 层。 这种模式的好处是:简单明快,本地起一个 Tomcat 或 Apache 就能开发,调试什么的都还好,只要业务不太复杂。 然而业务总会变复杂,这是好事情,否则很可能就意味着创业失败了。业务的复杂会让 Service 越来越多,参与开...