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

时间:2012-12-13 14:45:53

标签: ruby-on-rails django wordpress frameworks wordpress-theming

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

8 个答案:

答案 0 :(得分:92)

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

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

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

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

凭据:过去几年我一直在维护Wordpress安装,每月服务超过2500万,我们必须非常聪明地保持运行。我们已经用一个Rails应用程序替换它,它在某个地方以大约10倍-30倍的速度提供服务,并且作为一个应用程序具有更大的可扩展性,这使我们能够开始探索Wordpress中无法实现的应用程序潜力。 / p>

答案 1 :(得分:14)

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

<强>它。是。最差的。可能。决定。

这就是我的感受:

enter image description here

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

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

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

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

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

它对博客和一些小型电子商务有好处(只是因为有些人做了很好的工作,修改卡车成为一个创造产品功能的汽车,这真的是帖子,将它们与促销联系起来,这真的很棒post-metas,添加一些促销经理,以某种神奇的方式将它包装在一起)。

答案 2 :(得分:13)

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

Rails真的很特别吗?

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

MVC和WP

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

框架与应用

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

<强>缩放

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

WP Future

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

答案 3 :(得分:3)

不是答案,而是提示:

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

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

答案 4 :(得分:2)

我不认为wordpress可以取代rails,因为当你将它与RoR进行比较时,wordpress具有有限的API和支持。虽然wordpress是博客应用程序的强大工具,但使用gems的rails可以实现同样的效果,     辐射CMS,     炼油厂CMS,     机车。 使用wordpress可以很容易地使用rails来添加像ttd这样的功能。

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

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

答案 5 :(得分:2)

WordPress不能取代X框架,但两者肯定可以相互补充。

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

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

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

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

答案 6 :(得分:-1)

无论如何,WordPress都是很棒的CMS 专业人士 1.我们可以使用免费主题和插件轻松地建立网站 2.有许多插件可以扩展我们的网站功能 3.出色的社区支持 4. CMS使用PHP和MySQL,有点容易精益

缺点 1.定期更新插件和主题。 2.慢 3.恶意文件可以轻松注入。

答案 7 :(得分:-1)

简单来说,我一直想这样说...

你可以使用一个框架来让 WordPress 变得更好 但是你不能用WordPress做框架