我的小故事:DNA的起源
我从事软件开发12年,从开发、架构设计,开发流程管理,项目管理到部门管理,12年来我都一直在学习如何控制与应对“变化”。2002年开始我就十分推崇 “XP “与
"Refactoring",我们客户需要的不是稳定的软件,而是无限版本的DEMO!我们每天面对的就是小版本与不断重构,变化是无时无刻都会到来,因为我们在中国。
我在长期的工中发现:
- 客户往往只需要我们的程序中的某些特色功能,而并不在乎系统的其它“必要”的部分是否优良,结构是否合理,他们今天想到了某些功能明天就要见到这些功能的可运行版本——他们要的只是代码片段。
- 在我带领过的团队内,最难沟通协作的有三类人群,业务与开发,美工与开发,他们总是很难达到一种统一 ——技能认知使他们互相很难理解(所以微软推荐我们使用 VS.NET+Expression studio + MSF)。
- 很多情况下我们需要被迫“重写”功能,因为他们很难完全模块化,就如系统主界面,管理界面,用户管理等这类必要但不重要的模块。
- 我们想使用RAD平台开发加速我们的开发速度,大多RAD平台的缺陷都在于:难学,难用,难看,难部署或是成本高。
- 能让开发人员,业务人员,设计人员互相协作的平台
- 能像Webpart一样可以片段式开发,而又不要像Webpart那样难学的开发平台
- 能有一个具备必备模板免去我重复工作的平台
- 一个不需要Rebuild就可以交付产品的平台
- 最重要的是这个平台可以免费!
DNA是什么 ? 为什么要选择DNA ?
DNA是什么——“DNA可以看作一个Web软件工厂,他提供了各种各样的配件,与生产必备的机器、工具与运行环境,参与的人员就是将不同的配件装配成他们需要的成品“
DNA是一个多角色共同协作的平台,她针对每个角色的技能与特质提供了对应的特色功能。DNA主要将用户找分为:项目经理,开发,设计,IT人员,最终用户。
项目经理
DNA是一个与客户沟通,快速建立系统原型,并且能使开发流程中,不同角色相互协作的开发平台与产品交付平台。
For PM DNA's goal is "Quick and clean"
- 利用动态页与客户沟通快速建立网站地图,将客户想像中的系统马上变成现实
- 利用主题库迅速切换客户喜爱的站点外观,样式省去让设计与客户反复沟通的时间。
- 利用小工具库将客户想要的功能放置于页面内,当没有找到合适的小工具满足客户需求,那就找到需要开发的功能。
- 与客户同共建立的原型就是系统的框架,让开发人员将框架补充完整项目就开发完成。
- 客户需求发生变化,只需要重新部署小工具而不是Rebuild客户的整个应用,降低系统升级带来的风险。
- 建立行业级的小工具库与主题库,可加速后续其它项目的开发速度。
开发人员
DNA是一个基于Mvc与jQuery的RAD平台。
DNA帮助开发人员的目标就是“Cut your code and reusing”.
- 利用小工具大量减少代码量与降低开发技能要求(即使你只是懂Html与javascript)
- 为开发人员提供必备且常用的功能模块
- 不需要再考虑是界面是否美观
- 提供大量标准化的开源工具包(Rss,Atom,Opml,BlogML,OpenSearch,Blogging,Ping 等)
设计人员
DNA是一个实时Web界面设计,打包,部署工具。DNA能让设计人员在没有开发人员支持的条件下独立创作,应用,安装,站点的主题样式。
- 实时的站点设计器,让设计人员不再需要在设计工具中画出网站再组合资源到页面
- 小工具设计器能让设计人员对运行中的站点进行个别区域的定制化
- 网络资源管理器更是免去频繁向站点管理员请求资源访问权限的麻烦
管理员
DNA是一个易于安装,管理,注重内容SEO与内容规范化的平台。
- 可利用WPI一键式安装部署
- 可独立安装 主题,小工具,语言包而不影响运行环境
- 控制面板为管理人员提供一个集中的,安全的,易用的管理界面。
- 提供robots Editor,界面翻译器等多种工具,方便站点维护
- 垃圾信息防御,资源保护,注入式攻击防御,基于权限集访问控制 等的安全机制能让站点运行更有保障
- 输出的页面,内容都利用SEO的技术进行优化,更容易在搜索引擎中得到好的排名以获得更多的用户
- 严格遵守HTML规范,页面输出结果更易读,更容易被搜索
最终用户
DNA是一个直观,用户界面友好,易用性高,支持各类内容发布及社区化服务的内容管理平台 (CMS) 。
- 每个用户都可建立自己的站点
- 利用社区论坛相互交流
- 丰富的内容发布 可发支持Rich Html内容,Wiki内容,Bbcode等
- 可利用Windows Live writer 撰写博客
- 集成OpenID,支持利用其它站点帐户登录
- 集成Facebook,Twitter, Gravatar 等常用的社区网络
- 支持超过26个国家语言版本
利用DNA开发
DNA的开发方式可以分为两类,库与应用程序。
库
DNA中的库主要分为:小工具库,主题库,应用模板库三种。库的开发并不受到开发流程的限制,与我们平时开发的控件库,样式库一样,作为一种应用的资源。DNA也自带这三种库的开发工具,开发,打包,部署都可在DNA内独立完成。
应用程序
DNA推荐使用原型+SOA 设计、开发MVC项目。DNA的应用程序开发与MVC开发并无差异,如果你是一个MVC开发人员马上就能使用DNA开发你的MVC项目,你可以在VS.NET的扩展管理器中直接安装DNA的Mvc项目模板,快速建立你的MVC项目。
DNA开发与MVC开发不同的是:DNA考虑得最多的是重用性,以下是一些推荐的设计准则
- 需要重用的Action就声明为小工具,或控制面板
- DNA将强制你使用主题库
- 对数据、流程、算法的处理则可以设计为服务,通过Action向小工具提供调用接口
- 如果你在开发产品,则可将整个DNA的运行结构直接保存为应用模板,交付给客户
DNA的发展方向:5S CMS
- 简单化 (Web2.0 Standard)- 这个理念将一直贯穿DNA以后的所有版本,无论从使用,设计到开发,最求至简是我们的最重要目标之一。“简单的就是最好的“
- 标准化-实现基于Web2.0的多种应用标准,如Html5,Widget, Rss, Atom, Opml, OpenSearch 等,使用标准就可以重用知识,减少学习时间同时也有利于系统间集成。
- 语义化(Semantics)-自我描述,实现 XSD, FOAF,OWL 等标准与其它站点或应用程序共享数据,互相沟通
- 社会化 (Social networking)- 基本的社会化网络服务,集成现有的社区服务,如:Facebook, Twitter, OpenID, OAuth 等。
- 搜索引擎优化 (SEO)- 提升DNA的内容输出质量,让站点获得更高的PR。
-
-
阅读(2279)
-
固定链接