IT技术博客大学习 共学习 共进步

也谈谈前端,架构,框架与库

Kejun's Blog 2010-04-12 23:47:02 浏览 4,963 次

    今天裕波发了一链接给我是周爱民老师在淘宝做的一个分享的视频:“前端,架构,框架与库” (http://v.youku.com/v_playlist/f4262628o1p0.html)又看了淘宝玉伯的感想(http://lifesinger.org/blog/2010/03/thinking-of-architecture/)。看的我也想说两句。

    无论是大公司还是小公司,创业公司还是成熟公司的前端开发都需要一个“架构师”的角色。理由很简单就是我在这些公司都呆过。但大家对“前端架构师”的理解,我怎么听都觉得太高深了,太玄了,像普通的前端工程师,产品经理,设计师一样它是一个很具体的工作,具体到每天应该做什么都可以列出来。另外它并不深,甚至说看起来简单。

    前端架构师的工作:

    1. 他需要制订一套跟上下游环节更高效配合的技术方案。具体说有改进模板(视图层)的开发方式,团队内部开发方式,维护和测试方式等。

    2. 他要把关各种技术的实施方案。哪种好,哪种有风险,哪种还不成熟,哪种成本高。需要“把握问题的关键,平衡设计”的能力。

    3. 他要主动联合相关部门,从性能、易用性、安全性等方面提升产品的价值和竞争力。

    4. 他要正确选择适合产品的框架和库(或设计这样的框架和库),建立建全规范体系。保证代码风格的一致性(解决开发效率的问题)。

    5. 他要有前瞻性。引入先进的前端技术落地到具体的产品中。

    6. 他要负责团队成员的甄选。

    7. 他要能做PPT,向高层布道。

    大致就想到这些。可见,干这个怎么也要方方面面知道的多,技术的理解准确,直觉(经验丰富),有一堆成形的或实践过的理论和方法论(我虽然鄙视理论高手,但干这个比须是理论高手),沟通能力强,有资历(有一定的个人影响力)。一下子就想成为前端架构师不是说技术上有多难,而是缺失经验累积的过程,这让你缺少某种敏感性和直觉,对技术的理解也不能真正准确。所以这基本上是老帮菜,老油子们干的事。

    框架本质上就是为解决各种问题提供的一套可复用的模式。像具体的应用开发框架、模板框架、组件框架、类模板,模式库等。我们在做任何项目时,不用想先拽过来,再按照它提供的线索一块一块填上具体的内容。而库是指一堆可复用的具体功能的集合。二者区别显而易见,侧重亦完全不同。现在市面上各种库的讨论和介绍都很多,框架则很少。框架很容易被混淆在语言的设计模式里,我认为这不是重点。我在豆瓣正尝试通过一个很轻量的框架,组织现有的javascript开发,日后有机会再做详细分享。它可以灵活置换核心库,和组织各种库及组件的应用。我认为这是框架该干的最主要的事。当然,框架可以扩展出很多种,凡事事先有个框架框一框,可以更高效的产出结果。

    最后再次强调前端架构是有很具体的和丰富的内容的,它正成为整个公司技术架构的重要一环。希望在下次D2或其他前端技术交流中,看到更多更具体的前端架构的分享和交流。

建议继续学习

  1. 大型高并发高负载网站的系统架构分析 (阅读 8,842)
  2. Feed架构-我们做错了什么 (阅读 8,643)
  3. 淘宝数据魔方技术架构解析 (阅读 7,861)
  4. web应用应该考虑的一些问题 (阅读 7,122)
  5. 如何成为一名优秀的web前端工程师(前端攻城师)? (阅读 7,024)
  6. Craigslist 的数据库架构 (阅读 6,602)
  7. 如何寻找一个不会让你后悔的PHP开发框架 (阅读 6,502)
  8. 前端第三方服务优化策略 (阅读 5,502)
  9. 大型网站架构基本问题 (阅读 5,183)
  10. 对于PHP大型开发框架的看法 (阅读 5,121)