选择什么技术堆栈

Dmy*_*iak 3 .net ruby java programming-languages

对于下面的标准,技术堆栈最适合什么?

  1. 跨平台(Linux/Windows).
  2. 能够作为服务(守护进程)运行.
  3. 强大的面向对象数据访问(O/R映射).
  4. 多个数据库支持(MsSql,Oracle,MySQl,SqlLite,Postgress).
  5. 可以测试Web应用程序(单元和集成测试).
  6. 合理或无开发价格(包括IDE和其他工具).
  7. 合理或免费许可(操作系统,数据库等的价格).
  8. 非常小的开发团队(1-5人).
  9. 团队的Windows/.NET背景.

我很容易选择.NET作为ASP.NET MVC/NHibernate的平台.我擅长.NET并且做了大约3年左右.所以这对我来说是最简单的选择.

但是在Mono上运行ASP.NET似乎有太多问题.大多数时候我在网上找到了那些.但我所知道的是:

  • 不同版本的Mono在不同的主机上
  • 不同平台上某些对象的不同行为(Ayende前段时间在他的博客中写到这一点)
  • 保守垃圾收集器
  • MS的法律问题.

我特别喜欢Ruby作为一种语言,但不太确定它是否需要很多技巧来满足第2,3,4点.

至于Java,由于某些原因我不能这样做.每次我不得不考虑编写get/set而不是属性,我会回到C#.如果没有.NET 2/3,我会做Java.

所以有两个主要问题:

  • 什么语言最适合?
  • 哪些相关技术会有用?

Boz*_*zho 7

标准建议是:

  • Java(跨平台)
  • 表示层的JSF.JSF或多或少类似于ASP.NET,(Java和C#也相似),因此.NET背景不会是这样的问题.
  • Hibernate/JPA(强大的,多数据库支持)
  • Selenium,JSFUnit,JUnit,TestNG进行测试
  • Eclipse +插件 - 大多是免费的
  • PostgreSQL - 功能强大且免费
  • 一些适用于OS的Linux发行版
  • 弹簧框架 - 您对此没有任何具体要求,但它会让您的生活更轻松.

  • 与此同时,为`轻量级和开源框架`添加springframework. (2认同)