【问题标题】:So I am looking for a good framework for my next web project所以我正在为我的下一个 Web 项目寻找一个好的框架
【发布时间】:2011-05-18 06:19:40
【问题描述】:

我不喜欢 Django。表单,url 方案,他们假设每个人都在 schemaful db 上使用模型的方式(我更喜欢使用 mongodb,因为它非常干净和简单)。

我精通所有主要语言。我确实更喜欢 python,因为它非常干净但也很严格(也就是函数签名要求你只传入 X 变量等)。

我想要一些开发和成熟的东西 - 这意味着身份验证、注册等东西都应该开发并准备好使用。

有什么建议吗?

TLDR:需要新的 Web 开发框架。要求:没有。偏好:MongoDB、python。

顺便忘了提一下,我可能正在寻找网络开发行业的工作。因此,如果您可以推荐一些大公司中常见的东西,那也是一种奖励。就像 scala 对foursquare 的提升(如果我没记错的话)和php 的facebook。

【问题讨论】:

  • 你根本不需要使用 Django 模型;有使用 Mongo 的成功示例 - google.com.au/search?q=django+mongo。您使用的几乎任何框架都将具有传统的 ORM 或根本没有模型系统。关系数据库流行是有原因的;他们通常是一个很好的匹配。
  • 你精通所有主要语言,令人印象深刻

标签: language-agnostic


【解决方案1】:

导轨。它通过 Mongoid 与 MongoDB 一起工作,并具有许多身份验证解决方案。如果您有 Python 经验,您会发现 Ruby 非常适合。

【讨论】:

  • 也许我可以研究一下rails。但是,我确实讨厌 ruby​​ 的语法和约定(这不像 imo 那样干净)。
  • 你会……什么!? (我主要是一名 Python 程序员,曾短暂尝试过 Ruby,但不喜欢它的感觉。)
  • 好吧,我相信我们都同意 Ruby 比 Java 更好 :)
【解决方案2】:

我在 Python 中使用 Flask,我喜欢它。我正在为 Postgre 使用 SQLAlchemy,但它非常简约,所以你可以随心所欲地使用它。我也听说过关于Pylons 的好消息,但我自己没有任何经验。

【讨论】:

  • Flask 是相当新的。事实上它太新了吗?它有多稳定?在线获得帮助有多难(比如 IRC?)
  • 从我看到的 Flask 看来,它看起来相当不错,但感觉就像是 Django 的动力不足(“轻量级”)版本 - 降低了项目的模块化(例如,使用装饰器而不是 urls.py),ORM 的强大功能,诸如此类。
  • Flask 比较新,而且非常轻量级。我个人喜欢,然而,事实是,由你自己组装零件。
  • 你知道,经过仔细调查,我意识到使用烧瓶与 django 非常相似。从开发人员的角度来看,主要区别是什么?
  • 老实说,我实际上并没有花太多时间研究 Django。但据我所知,Django 将为您提供很多 Flask 无法提供的东西。 Django 的脚手架/管理界面将不存在,syncdb 等。使用 Flask,您将花费大量时间来配置 Django 按照惯例隐藏的东西。对我来说,这很好,因为我对那么多抽象不感兴趣,因为我对服务器端编程还是比较陌生,喜欢自己组装。
【解决方案3】:

Spring 框架。 (Java)

对于身份验证,您可以使用Spring Security

【讨论】:

  • 我想要一些快速编码的东西。所以java可能不是我想要的。
【解决方案4】:

您似乎不太热衷于使用 Java,但如果您不介意 JVM 上的其他语言,我建议您查看一下 Compojure,这是 Clojure 的 Web 框架。它不是一种脚本语言,但一旦您习惯了“the-lisp-way”的做事方式,它就可以提供接近相同的开发速度。

我不知道专门用于 Clojure 的功能齐全的 MongoDB 界面,但CongoMongo 和 Adia(我目前只能包含一个链接,因此您需要自己搜索它们,抱歉!)可能有(至少部分)你在找什么。如果不出意外,您可能只使用现有的 Java 库来访问 MongoDB 或使用不同的数据库。不妨试试 Compojure,它绝对是高效的!

同样在一个完全不相关的注释上,这恰好是我对 SO 的第一个回答,所以请对不赞成票保持温和 :)

【讨论】:

    【解决方案5】:

    塔架。 非常适合你

    【讨论】:

      【解决方案6】:

      我非常相信grails。建立在 Spring 和 Hibernate 等最佳技术之上,如果你也有的话,你可以回退到 java。消除了更传统的 Java EE 开发的所有痛苦。具有插件的所有重要功能,您可以访问 Spring Security、JMS 以及您需要的一切。作为 RIA 的后端非常方便,可以轻松地将模型渲染为 json,轻松处理 xml。太棒了。

      编辑——为了解决评论,Grails 使用了 Groovy 语言,该语言是可编写脚本的并且具有一些非常时髦的特性。如果你熟悉java,它很容易学习。有闭包,很多语法糖。

      脚本部分实际上非常宝贵——您编写 groovy 脚本并导入您的 grails 类以启动功能以增强您的应用程序(例如快速查询到您的数据库)

      【讨论】:

      • 可能不是java。可能是一种脚本语言
      • grails 基于 groovy。可以用作脚本语言;)
      • 哦,对不起,我以为提到了 spring 和 hibernate = java。我的错。我一定会调查的。
      • @ascacw,没问题。它确实使用 Spring/Hibernate,并最终编译为字节码,因此熟悉 Java 会有所帮助。但是 Groovy 不是 Java。两全其美。
      猜你喜欢
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      相关资源
      最近更新 更多