互联网发展至今,website给我们提供了丰富的信息,随着技术的发展和变化,信息的复杂程度也在不断的增长,作为一个专业的信息发布机构技术的运用不在局限于对HTML的简单呈现,技术的发展也应运而生了能够解决现实需求的方案,asp,jsp,php,asp.net,等。
当下的CMS也不在局限于担负内容管理系统那么简单的使命,更加的多元化,不同技术之间对CMS 的诠释更多的是在围绕CMS 的需求本身对技术的特性的体现也是服务于需求。
CMS 的设计抛去技术本身来说都要去考虑以下几点:
1. 易用性
2. 低成本
3. 通用性
4. 高效性
通过这几点从简单层面上去论述不难看出当下的语言技术和数据技术的结合PHP+MYSQL的组合方案是CMS 需求的最佳组合,更关注他的成本和效率之间的平衡。
技术之间的优劣是一个争论不休的话题,不是单纯的几个循环和运算就能评测出优劣的,我想一个聪明合格的程序员会避开这个话题,从需求的层面去选择技术而不是花时间去讨论一些无休止的话题。
言归CMS,纵观当下流行的CMS也许是应验了上面的论述PHP 占据了很大一部分,其他语言从发展的历史来看ASP显然从时间优势上比ASP.NET要略胜一筹,JSP就逊色许多,当然我说的是CMS的应用率。
结合技术的层面分析了CMS 的一些信息之后你会发现CMS的发展是一个面向客户的围绕客户需求的高效的信息处理和加工的工厂,期间要解决易用性,成本控制,通用性,和扩展性的问题。
现在咱们来围绕实现层面来分析一下CMS,上面说到要解决的问题是易用性,成本控制,通用性,和扩展性,之所以把易用性排在第一也是体现了CMS 的本质。
CMS实现的关键环节可以划分为以下几点:
1. 模板标签处理
2. 文件(HTML/XML/...)生成
3. 信息分类
4. 信息分发
不同的CMS之间对上述环节都有各自不同的处理方式举个例子:
DEDE和 PHPcms 在模板标签处理上融入了自己的风格,都体现出了简单和可读性强的tag。
SiteServer和NetCms 在信息的分发上都有各自独有的机制去组合信息的呈现。
刚说到的都只是风格层面上的差异,仿佛CMS的设计都没有充分的把设计模式的思想运用到其中,文件的生成大多都采用了HTML的方式,大家却很少看到XSL+XML 的应用,XSL+XML在CMS的应用无形中增加了数据和样式也就是模板和标签之间组合的难度,背离了CMS所遵循的易用性的初衷。XSL和XML的资源信息相比当下互联网知识的普及程度来说还是相当的匮乏。HTML的未来趋向应该会慢慢的接近XML数据和XSL样式的组合,那时CMS的设计也许XSL+XML会得到更多的应用。
在需求的层面去组织和构建项目设计师们往往为了平衡扩展与性能等等的对立面时,总要牺牲一些看似先进的东西。