61

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

4

8 回答 8

100

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

Wordpress 非常灵活,但速度也很慢,并且需要大量的 TLC 才能在任何类型的显着规模上运行。它的设计允许对行为进行非常灵活的运行时修改,但这也有点像潘多拉魔盒,因为这意味着代码最终可以在任何给定页面的任何地方运行,这使得维护成为一场噩梦。

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

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

凭据:在过去的几年里,我一直在维护一个每月提供超过 2500 万个独立用户的 Wordpress 安装,我们必须非常聪明地保持它的运行。此后,我们将其替换为 Rails 应用程序,该应用程序为页面提供大约 10 到 30 倍的速度,并且作为应用程序的可扩展性显着提高,使我们能够开始探索 Wordpress 真正无法获得的应用程序潜力。

于 2012-12-13T14:56:04.777 回答
20

我曾经在一些初创公司工作时做出决定,选择WordPress作为一个先进的电子商务、社区驱动的市场。

这是一个糟糕的决定

这就是我的感受:

在此处输入图像描述

一开始,它看起来不错——你有一个很棒的社区,所有东西都有插件等等。但迟早我碰壁了——从根本上说——WordPress 是一个博客平台

  • 从技术上讲,每条内容都是post.
  • 建立高级物品关系真的很难
  • 功能不一致。有些功能以一种方式工作,而另一些看起来非常相似的功能却以不同的方式工作。有时你需要一些奇怪的技巧来完成看似简单的任务。它使您经常阅读文档以了解您第 1000 次使用的功能是如何工作的。(不过,老实说,我不得不说 WordPress 文档很棒!)

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

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

实际上,人们使用 wordpress 创建的东西给我留下了深刻的印象 - 所以如果你愿意,这是可能的,祝你好运!

然而,这通常感觉就像买一辆卡车并将其重建为一所房子。有更好的方法来建造房子。

于 2016-04-05T16:13:50.277 回答
14

即使我赞成最高答案,我也想提出不同意见。

Rails 真的很特别吗?

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

MVC 和 WP

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

框架与应用程序

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

缩放

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

WP未来

WP 社区目前的目标是将 WP 从 CMS 转变为框架。考虑到所有部件都已到位,我认为这是一个自然的进展。WordPress 社区正在变得强大。

于 2013-11-25T19:43:58.107 回答
4

不是真正的答案,而是提示:

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

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

于 2012-12-13T14:52:52.133 回答
3

我不认为 wordpress 可以取代 rails,因为当你将它与 RoR 进行比较时,wordpress 的 API 和支持集是有限的。虽然 wordpress 是博客应用程序的强大工具,但使用 Radiant CMS、Refinery CMS、Locomotive 等 gem 可以使用 rails 来实现相同的效果。添加 ttd 之类的功能可以通过 rails 轻松完成,但使用 wordpress 非常困难。

与 devise 和 cancan 等身份验证和授权机制相同。使用 wordpress 做同样的事情没有简单的选择。

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

于 2012-12-13T14:56:28.053 回答
3

Wordpress 无法替代 X 框架,但两者当然可以相得益彰。

例如,提供具有吸引力主题的 CMS 内容的 WP 前端很难被击败;代理到后端服务器以获取自定义内容,瞧,两全其美。否则,WP 将不可避免地无法满足所有要求,您会发现自己掉进了方钉圆孔兔子洞,真是一个痛苦的地方;这就是 X 框架的用武之地,填补了 WP 的空白。

WP 无法扩展的概念可能有一定的道理,但对于一般情况下,95% 的情况下,它会处理你扔给它的任何东西,特别是使用 WP Cache 或其他混合缓存插件。

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

FWIW,我避免使用动态语言框架来支持静态/强类型的对应物。使用 WP 进行炫耀,使用静态 X 框架来提高速度/可扩展性/安全性。当然,这是一个偏好问题,显然有些人更喜欢运行时灵活性而不是编译时安全性。这些天我完全在后一个阵营......

于 2012-12-29T05:21:18.263 回答
-1

用最简单的话来说,我总是想这样说……

您可以使用框架使 WordPress 变得更好,但您不能使用 WordPress 来制作框架

于 2021-01-14T19:07:41.427 回答
-3

无论如何,Wordpress 都是一个很棒的 CMS 优点 1. 我们可以使用免费的主题和插件轻松建立一个网站 2. 有许多插件可以扩展我们的网站功能 3. 出色的社区支持 4. CMS 使用 PHP 和 MySQL,在某种程度上容易倾斜

缺点 1. 定期更新插件和主题。2.速度慢 3.恶意文件很容易被注入。

于 2020-04-28T10:16:14.153 回答