Wordpress可以被像Django或Ruby on Rails这样的框架取代吗?

问题描述 投票:57回答:6

我认为自己是一名训练有素的WordPress模板开发人员,最近我开始阅读有关Web应用程序框架的书籍和文档,特别是Django和Ruby on Rails。我不知道这两种语言中的任何一种,但我学习另外两种语言没有问题。我真的没有得到使用框架的真正好处,因为我对WordPress的力量非常有信心。那么,谁能告诉我使用框架的真正好处呢?例如,Pinterest是使用Django制作的,但我认为我可以使用Javascript和CSS3使用WordPress模板获得相同的结果。谁能告诉我在特定情况下使用框架的差异/好处?

ruby-on-rails django wordpress frameworks wordpress-theming
6个回答
92
投票

您可以使用Wordpress实现相同的前端,但是您无法实现的是基于更加面向应用程序的体系结构的应用程序的速度和规模 - 最重要的是可维护性。

Wordpress非常灵活,但它也很慢,并且需要大量的TLC才能以任何类型的大规模操作。它的设计允许对行为进行非常灵活的运行时修改,但这也是Pandora的盒子,因为它意味着代码最终可以在任何给定页面上运行,这使得维护成为一场噩梦。

Wordpress非常擅长成为一个CMS,但是一旦你开始将它推到这些边界之外,你就会遇到麻烦,并发现自己必须编写自己的更抽象的框架,该框架在Wordpress的上下文中运行才能够实现您的应用程序的需求。

也就是说,如果你有一个可以在Wordpress环境中构建的应用程序,我会说它去吧! Wordpress可以成为构建概念验证或MVP的绝佳工具。如果它让您启动并运行,那么它可能是编写完整应用程序的正确选择。但是,请注意,随着产品设计的成熟和观众的增长,你将会遇到一些障碍,除非你的应用程序符合一套相当狭窄的设计要求,所以长期来看,你可能会发现自己不得不移动到自定义应用程序。

凭证:我花了几年的时间来维护Wordpress安装,每月服务超过2500万,我们必须非常聪明地保持运行。我们之后用一个Rails应用程序取而代之,该应用程序以大约10倍-30倍的速度提供页面,并且作为一个应用程序具有更高的可扩展性,使我们能够开始探索Wordpress实际上无法获得的应用程序潜力。


14
投票

我曾经做过一个决定,在一些初创公司工作,选择WordPress用于高级电子商务,社区驱动的市场。

它。是。最差的。可能。决策。

这就是我的感受:

enter image description here

一开始,它看起来很好 - 你有一个惊人的社区,插件的一切等等。但让我们面对事实 - 在它的根源 - WordPress是博客平台!

  • 技术上每一条内容都是qazxsw poi。
  • 创建高级项目关系是一场噩梦
  • WordPress不是面向对象的。它有很多类,但总的来说,你必须使用像post这样的很多functions来管理它的核心功能。像get_post_meta这样的东西只是一个梦想。
  • 功能不一致。有些功能在某种程度上起作用,其他功能看似非常相似,以不同的方式工作。有时你需要一些奇怪的黑客来完成看似简单的任务。它使您经常阅读文档,以了解您第1000次使用的函数是如何工作的。 (说实话我需要说,WordPress文档很棒!)

WordPress社区做得很好,但与任何好的框架相比,有一个主要区别 - 框架只是框架 - 它们是一套工具,那些工具可以帮助你完成项目。 WordPress已经尝试成为你可能会改变的东西。

我会说:如果你需要一辆车,你可以购买一些工具并建造它,或者你可以买一辆卡车并尝试修改直到它开始看起来像汽车。

我永远不会将WordPress用于任何需要一些组织良好的自定义功能的东西。

这对于博客和一些小型电子商务来说是个好消息(只是因为有些人很好地修改了卡车,成为了一款创造产品功能的汽车,真的是帖子,将它们与促销联系在一起,实际上是后期,还增加了一些促销活动管理者以某种神奇的方式将它包装在一起)。


13
投票

我想提出一个不同意见,即使我赞成了最佳答案。

Rails真的很特别吗?

Rails是由David Hansson创建的,他从Basecamp中提取它,这是一个在免费的Wordpress插件$post->author()->comments()中复制的软件。我认为这是一个非常好的指标,Rails开发人员低估了PHP和Wordpress。

MVC和WP

没错,它不遵循MVC模式。但是如果你使用WP Project Manager,从视图中分离逻辑(在插件中)(在模板中),那么你将有很好的代码分离。 (另外提示:自定义帖子类型就像模型一样。)

框架与应用程序

如您所见,Wordpress可以被视为应用程序或框架。它是一个应用程序,包含您希望在框架中找到的所有组件。开箱即用,您可以获得安全性,身份验证和可扩展性。这意味着要扩展。

缩放

WP支持18%的互联网网站,包括TechCrunch,Smashing Magazine和CNN(部分)。似乎有办法使WP规模化。免责声明:我没有像这样的megasites工作的经验,所以我提供的只是猜想。

WP未来

WP社区目前的缺席是将WP从CMS转移到框架。考虑到所有部件都已到位,我认为这是一个自然的进展。 Wordpress社区正在走强。


3
投票

不是一个答案,而是一个提示:

hooks

好像你可以完全替换它...我认为这主要是逻辑流程的问题。这取决于您打算做多少命令式(Ruby on Rails)与描述性(WordPress)编程。


2
投票

我不认为wordpress可以取代rails,因为当你将它与RoR进行比较时,wordpress具有有限的API和支持。尽管wordpress是博客应用程序的强大工具,但使用Geiant(如Radiant CMS,Refinery CMS,Locomotive)可以实现相同的效果。使用wordpress,使用rails可以很容易地添加像ttd这样的功能。

与设计和cancan等身份验证和授权机制相同。用wordpress做同样的事情是不容易的。

Rails使程序员的生活更轻松。对于整个网络应用程序,我总是喜欢使用rails。


2
投票

Wordpress无法取代X框架,但两者肯定可以相互补充。

例如,提供具有吸引力主题的CMS内容的WP前端很难被击败;代理到后端服务器的自定义内容和瞧,两全其美。否则,WP将不可避免地满足每一项要求,你会发现自己沿着方形圆孔兔洞走下去,这确实是一个痛苦的地方;这就是X框架的用武之地,填补了WP的空白。

WP不能扩展的概念可能有一些道理,但对于一般情况,95%,它将处理你扔的任何东西,特别是WP Cache或其他缓存插件投入混合。

有些人可能会说,你可以用Django或RoR构建WP!嘿,嘿,你先;-)

FWIW,我避免使用动态语言框架来支持他们的静态/强类型对应框架。使用WP作为bling,使用静态X框架获得速度/可伸缩性/安全性。当然,这是一个偏好问题,显然有些人更喜欢运行时灵活性而不是编译时安全性。这些天我完全在后一个阵营......

© www.soinside.com 2019 - 2024. All rights reserved.