重新编码播客网站 - 我应该使用什么?

时间:2009-11-17 15:53:55

标签: ruby-on-rails django drupal refactoring web

好的就是这笔交易。我和一些好友正在播客(现在已经有4年多了),并且在4月份我们重新推出了该网站,其中包括一个新的后端。因为我只有两个星期才能让一切工作,所以我决定从零开始创造一些东西,所以一切都符合我们的需求。整个过程都是用Python编写的,基于mod_python。

目前我没有太多的事情要做,所以我考虑重构代码(因为你在2周内编写的代码并不是你能想象的最干净的代码),我想到了我可以根据它在CMS上。

我花了几分钟时间为整个事情写出模型,但现在是:

所有

  • 创建
  • 创建
  • 编辑
  • 编辑

用户

  • Usermame
  • 密码
  • 实名
  • 管理员(真/假)
  • 主持人(真/假)
  • 个人资料可见(真/假)
  • 个人资料照片
  • 个人资料文字

标签(belongs_to_many:帖子)

  • 名称

帖子(has_many:files,:comments,:tags)

  • 标题
  • Feed标题
  • EpisodeNumber
  • 类型(播客/新闻)
  • 日期
  • 图像
  • 评论(开放/关闭/隐藏)
  • 状态(公共/自动/隐藏)
  • 文本
  • 文件
  • 标签

档案(belongs_to_many:帖子)

  • 文件
  • 尺寸
  • 持续时间(这需要库来确定mp3 / mp4 / m4v文件的长度)

评论(belongs_to:posts)

  • 用户(如果由播客发布,我们可以突出显示评论等。)
  • 日期
  • 隐藏(真/假)
  • 名称
  • 电子邮件
  • IP
  • 文字

  • 标题
  • 文本

好的,上面的内容非常简单,只有获得mp3等的持续时间可能会有点麻烦。

现在出现了最大的问题,我们的下载跟踪。

这需要具有以下格式的名为Year_Month的自定义表:
- 行:fileID all,itunes,feed,other等。

在每次下载时,我们都会根据需要创建新的表和行。 获取信息并将其转换为图表的部分非常复杂。

选择...

所以我看了一下Drupal,Django和Ruby on Rails。 Drupal是PHP ...我对PHP没有问题,这里的主要问题是如何实现mp3的持续时间检查。

Django是Python,因为我也在Python中编写了当前的网站,很多问题都没有了。

Ruby on Rails似乎非常适合kickstart开发(我喜欢Railscast),不幸的是,尝试使用Aptana RadRails开发一个Demo版本失败到200行堆栈跟踪。因为在我停在那里之前我没有对Ruby做任何事情。

我希望你们中的一些人可以帮助我在这里做出选择,因为你们可能已经拥有了我没有的Drupal / Django / Ruby on Rails的经验,而且我真的很讨厌它在重新开始之后重新开始在项目的一半,只是因为有一些小东西无法用XYZ技术实现。

4 个答案:

答案 0 :(得分:2)

Drupal很复杂,而不是你很容易学会使用的东西。关于它的事情非常好,就是你可以免费获得很多东西。你使用模块,设置等进行大量构建,而不是编写自己的东西。在这种情况下,使用CCKviewsffpc等模块,您可以生成播客而无需太多工作。唯一的事情就是定制它,如果你不知道drupal是如何工作的话,这很难。几个星期前,我实际上制作了一个播客网站,它需要比你描述的更多的功能,并且有一个风格的alpha版本,一周内就可以准备好一切。因此,使用Drupal可以非常强大,但只有在您知道如何操作后才能使用。

另一方面,django可能更容易控制。与Drupal相比,你在代码中做了更多,但是当你这样做时,它应该不是问题。看起来你对网站的分解以及所需的内容符合Django的思维方式,而不是Drupal方式。 Drupal不像Django那样使用对象,并且它对OO编程的使用也有很大不同,因为它不经常使用对象。

在我看来,对你来说使用Django会很多,但是如果我现在应该在Django和Drupal之间选择,我将用于不同的项目,Drupal会是我的选择,因为大部分需要已经完成,所以所需要的就是设置一些东西。

免责声明,我没有使用过RoR,所以不知道那是怎么回事,但从我所听到的情况来看,它在很多方面与Django很相似。

答案 1 :(得分:1)

Geoffrey Grosenbach的Ruby on Rails Podcast网站是开源的。这至少会给你一个很好的起点。

答案 2 :(得分:0)

使用RoR。简化。在我看来,RadRails是矫枉过正的。使用TextMate。它有许多有用的键盘快捷键,可以简化和加快开发。

答案 3 :(得分:0)

看看你的规格,我不认为你在谈论火箭科学,这需要你在完成项目的一半后重新开始。 RoR和Django都是经过现场测试的框架,可以帮助您完成您想要完成的任务,并且可以归结为您对它们的熟悉程度。由于你有Python的经验,我认为Django“可能”是你要走的路。