Joomla!
历史
Joomla!在2006年与2011年皆获得Packt颁发的最佳开源内容管理系统奖。
第一个发行版本的Joomla! (1.0.0)发布于2005年9月16日。是由Mambo4.5.2.3版加上安全性修正后所分支发展的版本。
Joomla! 1.5 (2007年)则以全新的 MVC 框架为基础完全重写程式码,是当时少数同时兼容 PHP4 与 5 的大型应用程序。
Joomla! 1.6再度以PHP 5为基础大幅度更改框架系统,加入ACL权限控管、更新机制、多层次分类并内建多国语系等等,替开发者提供了更强大的开发流程。
Joomla! 1.7 (2011年)开始抽出框架层,将 CMS 与核心框架分离,提供未来更多的更新空间。此时期的框架层开始支援 PHP CLI 命令列程式与 Daemon 守护进程编写、并能够独立开发Web应用程序。
Joomla! 2.5 (2012年)开始支援多种数据库,并提供更多核心功能的升级,使得2.5成为长期支援版(LTS),是目前最稳定、使用数量最多的版本。
Joomla! 3.0 (2012年)引入Twitter Bootstrap,并组成 JUX 小组,全面升级系统的前后台UI机制,除了提供大量开发前端工具外,搭配全新设计的isis后台,让Joomla!成为世界第一套内建行动版后台的内容管理系统。
Joomla! 3.1 (2013年)加入标签功能(Tags)进入到核心标准,除了内建文章外,第三方扩充套件也可以自由使用全新的标签功能,并且移除了年久失修的程式码高亮度外挂。
Joomla!Framework (2013年)全新的 Full-Stack Web 开发框架,摆脱 CMS 束缚,提供更多新标准如 HMVC, Lazy Loading, PSR coding standard, PHP namespace, Autoloader, RESTful 等等。
Joomla! 3.2 (2013年)加入文章版本控管与线上 App store 功能,现在可以从网站后台直接下载安装扩充套件。除此之外 CMS 部分开始支援 PSR-0 ,开发者将能够更轻易整合目前流行的函式库。
Joomla! 3.4(2015年二月) 正式版发布。
发展路线
目前的 Joomla! 3.x 皆为 STS 短期支援,预计最近的一版 LTS 长期支援版会是 3.5。Joomla 4 则预计将移除许多 PHP 5.2 时代的残留程式码,整合前后台 Application 为单一入口,并导入 Composer 与 PSR 等目前流行的先进开发技术。而从 Joomla 3.x 开始加入的 UCM (Unified Content Model) 统一内容模型将成为往后版本建立 CCK 应用的基础。
Joomla! 名称的由来
Joomla! 这个单字来自斯瓦希里语的英文串法,意思是“all together”或“as a whole”。
它不单纯只代表内容管理系统,而是一个品牌名称。除了 Joomla!CMS 以外,另外还有 Joomla!Platform 与 Joomla!Framework 等相关的开源Web框架专案正在进行中。
其他
在2010年4月,微软签署了 Joomla!的贡献者协议(Joomla! Contributor Agreement)。 提供WinCache这个针对在IIS下的PHP快取加速器。
架构
框架层
函式库
应用层
扩充套件 (Extensions)
显示层
模板
前端工具
数据库支援
至2013年推出的3.1版为止,Joomla!已支援5种数据库,分别是:
MySQL
Oracle
PostgreSQL
SQL Server
SQLite(目前仅框架层支援)
网站服务器支援
目前Joomla!直接支援的服务器为Apache与IIS,除此之外经过简单配置也可以运行在NginX与Lighthttpd上。
适用范例与实例
Joomla!系统是一个通用性的网站系统,意指几乎所有类型的网站都可以在这个系统的基础下建立或发展,不论是个人使用的部落格、一般企业使用的网站到大型的社群网站或新闻网站,透过丰富而多元的扩充套件,都可以找到对应的功能。快速、多样化而方便的扩充管理功能,减少建置的时间和成本,是最吸引使用者选择这套系统的优点。 使用Joomla!建置的知名企业不胜枚举,在国外的网站市场中占有一席之地,以下的网站都是使用Joomla!建置的:
古根汉美术馆
Linux基金会
宜家家居(科威特及阿拉伯)
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
相关资料
展开
- 有价值
- 一般般
- 没价值
24小时热门
推荐阅读
知识互答
关于我们
APP下载

{{item.time}} {{item.replyListShow ? '收起' : '展开'}}评论 {{curReplyId == item.id ? '取消回复' : '回复'}}