你能推荐一个替代的Web应用程序堆栈吗?

时间:2009-05-06 22:10:04

标签: frameworks

我是一名经验丰富的开发人员,过去5年左右一直与.Net合作。因为我已经为我的创业想法组装了一个应用程序堆栈,我注意到我想要使用的许多支持工具要么是片状的,要么已经商业化了。因为我没有收入,并考虑到Visual Studio,SQL Server(是的,我知道Biz Spark)等的成本,我突然意识到我应该在其他地方寻找。

所以,不用多说,这里是我的要求和好的。明显的领先者是Java和Ruby,但我很高兴听到任何其他建议(面向对象和编译首选但不是必需的。这里不欢迎PHP。)

总体

  • 强制性:由共享托管支持以开始使用
  • 理想:不应该过于繁琐(只需插入组件时工作)

框架

  • 强制性:现代mvc框架
  • 强制性:对html输出进行细粒度控制

代码质量

  • 强制性:记录框架
  • 理想:静态分析(复杂性等)
  • 理想:生成代码结构的UML图
  • 理想:测试覆盖率报告

OOP东西

  • 强制性:处理半深层次结构的ORM,包括多对多关系。
  • 强制性:模拟框架
  • 强制性:IOC容器(可能是其自己的类别)

IDE

  • 强制性:格式化帮助(缩进)
  • 强制性:调试:断点,变量检查
  • 理想:自动完成:VS的intellisense非常好。这接近强制性
  • 理想:调试:就地代码执行(即时窗口),向后移动当前帧
  • 理想:测试框架集成

代码质量

  • 强制性:测试框架
  • 理想:代码覆盖率
  • 理想:从代码注释生成文档

构建

  • 理想:从SVN点击一下,构建,测试,代码覆盖,代码文档
  • 理想:持续整合(以后,当我们,呃,变得非常大)

其他说明:我很高兴使用Linux(会非常令人耳目一新!)。我假设MySQL用于数据库,因为我不需要ACID合规性(现在它可能是ACID),而SVN用于源代码控制。

非常感谢任何帮助或建议。

编辑:目前倾向于Sinatra,因为它看起来非常优雅,但允许用户拥有他们想要的尽可能多的控制。当我认为答案已经停止时,我会选择一个答案。

8 个答案:

答案 0 :(得分:7)

答案 1 :(得分:2)

S#arp架构 (将ASP.Net MVC和NHibernate与NUnit和Rhino Mocks结合使用)

http://code.google.com/p/sharp-architecture/

答案 2 :(得分:2)

RamazeSinatra Ruby微框架,如果您想快速入门。

答案 3 :(得分:2)

共享托管在Ruby中比在Java中更强大,并且由于您排除了PHP(在共享托管中非常受欢迎),因此您将在Ruby的方向上倾向于您。

框架:如果您使用的是Ruby,那么RoR就是您的选择。如果您决定使用Java,我会(除了其他答案中的优秀建议)查看Rife。这是一种方法(更多的代码驱动)。 Seam + IceFaces(或RichFaces,如果你需要一些健壮性来换取小部件)是一种不同的方法,但也很有效。

Eclipse plus插件为您提供了许多工具(免费)。您还可以查看Intellij,个人许可证是249美元(个人只是意味着它以您的名义而不是您的公司获得许可,没有限制),或来自同一公司的RubyMine for Ruby,99美元。

持续集成,我在TeamCity取得了巨大成功,并且在初级阶段获得了自由。

(不,我不为JetBrains工作,我刚刚对他们的产品有过很好的经验)。

我知道我没有勾选你列表中的每一个,但是一旦你添加了IDE可用的插件,列表中的所有内容都包含在上面。当然还有很多其他框架。非Microsoft解决方案的优点在于有很多选择。非Microsoft解决方案的坏处在于有很多选择......

答案 4 :(得分:1)

Django是一个很好的选择。如果没有类似Zope的学习曲线,它就能很好地分离关注点。

答案 5 :(得分:1)

Lift!它是用Scala编写的,代表了Web框架之间的某种范式转换,而使用JVM的托管服务就足够了。

答案 6 :(得分:0)

我原本认为视觉工作室的快递版本几乎涵盖了你。它们符合您的经验,当与后端的MYSql结合使用时,.net的百万和一个免费开发组件可能会做您想要的。

是否有特定的东西排除了他们?

答案 7 :(得分:0)

Ruby(和Rails)的自动完成?

Jet Brain的RubyMine效果很好。我同意这一切都与API发现有关....