Wordpress和Joomla!的软件体系结构之间的主要区别是什么?它们的核心功能如何扩展?


14

*注意:这不是一个“哪个更好”的问题!*

WordPress和Joomla!都是很棒的开源CMS。

主要区别是什么

1)在Joomla之间的软件架构!和Wordpress?

2)以何种方式扩展核心(即用型)功能?和

3)核心和扩展如何升级和更新?


1
据我所知-1.wp不是mvc,并且往往比整个网站更关心博客功能。3.但是wordpress的升级过程比joomla忽略wp插件不兼容要好得多。
dev-m

2
此评论太宽泛,无法给出具体的或确定的答案(有很多答案是“正确的” –一个很好的例子,说明了如何不写问题)。请考虑改写您的问题以更具体。
Andrew Eddie

Answers:


18

WordPress和Joomla!是备受推崇的产品,在进行比较时,每种产品都有独特的优势。

要回答您的问题:

在Joomla之间的软件架构中!和Wordpress

  • Joomla是OOP(面向对象)和MVC(面向对象的设计模式)。

  • Wordpress用程序代码编写。

过程编程指定了程序达到所需状态所必须采取的步骤,而面向对象的编程(“ OOP”)将程序组织为对象数据结构方法以及它们之间的相互作用。

对于简单的程序,过程代码(例如逐行命令的序列)效果很好,但是对于大型复杂的应用程序,过程代码可能难以维护-常常导致所谓的意大利面条代码(即,当逐行行命令序列开始使用许多GOTO,异常,线程或其他分支构造,并且从概念上讲,它的流动像一碗意大利面条。换句话说,过程代码从简单开始,但是可能变得复杂和纠结。

因此,可以使用OOP和MVC更好地构建更复杂的应用程序-一种更高级的编程风格,它更适合于构建包含许多活动部件的真正复杂程序。

尽管程序代码最初可能更易于编写和维护,但对于简单的程序而言,OOP的优势在于,它可以将变量集合(在OOP中称为“属性”)和函数功能(在OOP中称为“方法”)整齐地组合在一起-从而整齐,易于阅读,维护和扩展的代码。

对于大多数Wordpress应用程序(例如简单的博客),过程代码可以很好地工作。

对于更复杂的应用程序(例如,需要用户组权限的应用程序以及使用许多权限的应用程序集成了许多扩展以扩展功能),通常认为OOP是一种更为优雅的方法。

总结一下:

Worpress的软件体系结构(基于过程代码)在简单性方面具有优势,但过程代码对于具有强大可扩展性的复杂应用程序并不理想。

Joomla!的软件体系结构(OOP / MVC)看起来可能更复杂,但是经过精心设计,OOP / MVC实际上使扩展应用程序的功能和特性以及使所有这些扩展和谐地协同工作变得更加简单。

如果您想了解这些差异(从基本的初学者开始),请阅读Peham Raza撰写的PHP Procedural vs PHP OO vs PHP MVC-他讨论了每种方法的“来龙去脉”,使您可以更好地更好地理解其好处。

扩展核心功能(开箱即用)的方式?

  • Joomla添加了模块,组件,插件的功能
  • WorPress使用插件来扩展它的功能。
  • Joomla在模块,插件或组件的创建方面非常严格(您不能仅通过FTP上传文件并进行激活,而必须通过Extension installer进行安装)。

核心和扩展如何升级和更新

  • 两者都使用几乎相同的技术进行升级或更新(他们为开发人员提供了创建具有扩展功能或具有覆盖功能的模板更改的新功能的功能,因此在这种情况下我们基本上不需要编辑任何核心文件,因此升级将改善其安全补丁等等)。

有句话说Wordpress不是CMS,但如今它是具有Joomla和所有其他功能的CMS。

WordPress非常适合那些缺乏开发知识的用户,而Joomla非常适合开发人员。

希望它有意义。


3
MVC实际上并不是主要的体系结构差异。主要区别在于Joomla是OOP,而WordPress不是(太多)。两者都有MVC范例,但由于我们为类命名的方式,在Joomla中更明显。
Andrew Eddie 2014年

@AndrewEddie你是对的。
Jobin Jose

安德鲁-谢谢。如果我们删除对MVC的引用,是否会使答案更准确?
NivF007 2014年

1
我要说的最后一句话更像是WordPress经常被对开发不感兴趣的人使用,而仅仅是对他们自己或非常小的团队的写作。当多个人将在同一页面上工作并且由一个团队来构建网站时,Joomla可以更好地扩展。(尽管两者都可以使用其他团队规模。)
tristanbailey 2014年

6

我认为要真正回答这个问题,您需要对WP和Joomla!非常熟悉。我是Joomla!笨重,只使用过WP几次,所以我的答案可能不如您希望的那样完整。

WP首先是博客平台。它是为数据馈送而设置的。您必须竭尽所能超越提要默认值,才能获得常规的静态主页。这并不难,不是默认值。如果您知道自己在做什么,则可以扩展WP以超越博客平台,或者下载已经为您完成的模板。

Joomla首先是CMS。它的构建是为了从其基本核心直接保留一个完整的网站,包括博客。插件的帮助,对于不知道如何创建自己的组件和插件的用户,它们可以为您提供更多的自定义体验。毕竟,为什么要重新发明轮子?

以我的经验,WP非常适合不是开发人员或了解足够的人。另一方面,Joomla是为想要创建完全定制的前端和后端体验的人的开发人员而构建的。我花了几个小时在WP模板中工作,以强迫它执行我想要的事情,当我习惯于第一次使用Joomla以我想要的方式构建事物时,这让我感到沮丧(我们不使用模板-我们拥有自己的模板核心的Joomla(从基础知识入手,我们从头开始构建)。

如果并排拉起WP和Joomla的FTP,您会发现它们之间有很大的不同。

WP具有此插件区域,您可以在其中搜索插件,选择并安装。我相信您也可以从同一位置进行更新。当您位于插件区域时,它通常会告诉您有可用的更新。

Joomla使用扩展管理器,您可以在其中上传下载的插件或组件-我认为可能有搜索功能,但老实说我从未使用过它,因为我通常使用JED来查找所需的东西。该区域还为您提供了一个更新按钮,您可以在其中查看已安装内容的所有可用更新。同样,某些组件会告诉您它们有可用的更新,但不是全部。

我看到的主要区别是WP是为用户设计的-他们安装了模板,可以更新,可以添加,Joomla是为开发人员设计的,我们进行安装,进行更新,构建/添加新功能。这并不是说它对用户不友好,但是我认为有些地方被用户淘汰了,因为它们是为开发人员构建的。


2

在谈论体系结构时,构建门户网站或复杂的网站(即许多相互连接的实体)确实很重要。

  1. Joomla源代码是面向对象的。
  2. Joomla代码非常细分,即应用程序,插件,组件。
  3. Joomla中遵循了大多数设计模式,例如工厂,装饰器,依赖注入等。

当我采用joomla时,作为一名C和C ++开发人员,我喜欢它,因为它使用相同的标准集,而不是破坏全局名称空间的函数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.