【问题标题】:PHP or Ruby on Rails for interactive community site?用于交互式社区站点的 PHP 或 Ruby on Rails?
【发布时间】:2009-06-05 23:29:51
【问题描述】:

我认为自己是一名具备基本编程技能的企业家。我的主要经验是使用 PHP,但主要是作为代码破坏者——这意味着能够弄清楚基础知识并根据我的需要操作代码。最近开始研究RoR,好像很容易理解。

我将整合一些资源来建立一个我坚信目前互联网上缺乏的利基社交网站。在直接进行这项工作之前,我想回答几个问题。如果一个问题看起来很简单,但需要广泛的回答,我提前道歉。

网站基础

  • 单用户和多用户模式
  • 能够加入群组
  • 图像、视频和 PDF 可以导入/导出
  • 能够保存、编辑、分享
  • 复杂的地图创建(例如VUE

网站增强

  • 使用 javascript(例如 JQuery)
  • 基本电子商务功能(内置)

问题

1。 PHP 或 RoR 是否最适合我需要的灵活性和可扩展性?
2. 集成 Adob​​e Flex 会有帮助吗?
3. 最佳托管环境。云计算(Amazon Web Services 或更好的)还是不?

【问题讨论】:

    标签: php javascript jquery ruby-on-rails amazon-web-services


    【解决方案1】:

    您的主要问题可能会引起激烈的争论并且非常有争议。所以我会在不支持的情况下陈述我的感受;)

    1. Ruby 比 php 更好。

    2. 不要使用弹性。 Web 标准正在迅速赶上 Flash 的功能,基于标准的解决方案通常更好。查看 google wave 视频,了解这些天使用 html 5 可以做什么。

    3. 查看heroku 以获取托管 Rails 站点。这是开始的好方法。它在 ec2 中运行,因此如果需要,它可以轻松地与您在 ec2 中提供的其他资源集成。编辑:heroku 是免费的,与应用引擎类似的模型。

    【讨论】:

    • 谢谢 jshen。 Heroku 看起来很有趣。你熟悉aptana.com吗?他们似乎还提供免费的高级编辑软件。
    • 我强烈反对#2。在这一点上,Flex 比 JavaScript 强大得多,而且在开放标准(以及浏览器……换句话说,Internet Explorer)赶上 Flash 平台之前还需要几年的时间。是的,有一些缺点,但目前某些类型的应用程序绝对需要 Flash/Flex。
    • "但目前有些类型的应用程序绝对需要 Flash/Flex。" 而“some”是一个小数字。
    • 你能指出一个用 JavaScript 制作的图形编辑 Web 应用程序吗?视频网站呢?演示应用程序(不烂)怎么样?不?没想到。 :)
    • 我去了谷歌 io,谷歌正在推动将视频转换为 html 5 并推动带有画布标签的信封。用不了多久我们就可以在html中做好这些事情了。此外,正如我之前提到的,这是一个非常狭窄的应用程序范围。
    【解决方案2】:

    首先,您是在比较苹果和橙子。 PHP 是一种编程语言,RoR 是一个基于 Ruby 构建的框架。两者之间的差异是巨大的。使用 PHP,您必须从头开始开发大部分数据交互,而使用 RoR,其中大部分已经构建。 RoR 有各种实用程序可以让您的生活更轻松,而直接使用 PHP 时,许多这些东西还不存在。

    将 PHP 框架(如 CakePHP 或 CodeIgniter)与 RoR 进行比较比将 PHP 与 RoR 进行比较更容易。我敢肯定,在某处已经存在对此的讨论。

    当然,这一切都归结为“做你知道的事”或“做你感兴趣的事”。如果您更愿意在 PHP 中构建可扩展的东西,那么一定要这样做。如果您对学习新系统以及扩展知识和技能更感兴趣,那就去吧。你只需要决定你喜欢什么。

    Flex 可能会有所帮助,也可能不会。这取决于它的用途。您应该尝试为正确的目的使用正确的工具。如果 flex 有意义,那就去做吧。

    至于你的第三点,你期望它有多大?如果您只有几十个用户,那么共享服务器可能就可以了。如果你有很多(1000+),将静态文件卸载到云将有助于加快速度。只有当您拥有大量用户时,拥有云计算环境才真正有意义。

    【讨论】:

    • 感谢 davethegr8 的意见。我明白你的意思了。碰巧我今天遇到了一个很好的面试,这帮助我更多地了解了语言和框架之间的差异。 blog.mixergy.com/what-is-ruby/ 我想我是从错误的角度研究它。
    【解决方案3】:
    1. 两者都不是“最佳”,取决于您的个人喜好。我知道这不是您想要的答案,但两者都不比另一个“更好”,它们各有利弊。 Rails 更容易上手,但您已经了解 PHP,所以这可能是您想要的方式。由你决定。如果您决定使用 PHP,我建议您使用像 CodeIgnighter 这样的框架,以获得几乎与 Rails 类似的生产力。
    2. 再说一次,这取决于您,但是您提到的“复杂地图创建”使用 Flex 会比使用 JavaScript 运行和看起来更好。此外,Flash 确实是唯一不错的视频平台,因此至少在某些方面您将不得不使用 Flash/Flex。但是,我个人发现 Flex 并不是最容易学习的东西,所以如果您不想(或不能)花时间学习它,我不会打扰。 (我假设您已经了解 JavaScript。如果没有,那么可能值得您花时间学习 Flex。)基本上,使用 Flex,您的应用程序将更具交互性,但有 many cons 使用 Flex 而不是 JavaScript 作为好吧。
    3. 我在这方面并没有太多经验,但我强烈推荐使用 Amazon S3 来存储文件(图像等)。它相当便宜,并且可以为您完成大部分工作(尽管您需要确保您的应用程序执行缓存等操作,这可能会相当困难)。至于其他亚马逊网络服务(E2C 等),除非您需要它们,否则我不会打扰它们。使用您自己的网络/数据库服务器,如果您觉得出于某种原因需要使用 AWS,然后迁移。

    【讨论】:

    • 感谢 musicfreak 的意见。我看到 Mashable.com 推荐 AJAX 而不是 Flex。我不知道 AJAX 具有 Flex 特性,我想我也会研究一下。至于亚马逊,我试着玩了一下,但你会推荐什么?使用他们的界面或第 3 方管理工具。
    • Ajax 远没有 Flex 强大。 “开放标准”的拥趸们可能会告诉您其他情况,但是对于 Ajax,您不能做很多事情(或者至少不能做得很好),而 Flex 做得很好。但是,它是第三方插件,不是浏览器原生的,有明显的副作用,但通常可以解决。至于 AWS,就像我说的,我对它的经验很少,所以我无法给出推荐。
    猜你喜欢
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2017-07-09
    相关资源
    最近更新 更多