Scala(2.8)/ Lift(2.2)vs. C#(4.0)/ASP.NET-MVC 3

cha*_*ium 24 c# scala lift asp.net-mvc-3

我最近在个人时间学习Scala.在工作中,我一直在学习C#/ .NET(4.0).我不是非常熟悉,要么能够最低限度地评估LiftASP-MVC 3.我正处于十字路口.鉴于我的时间非常有限,我必须在接下来的3-6个月内选择其中一个来学习和构建应用程序.

我今天遇到了这篇Lift文章,我立刻很感兴趣.我尝试过文章中概述的大部分内容,这让我感到无尽的沮丧和头痛.其中一些我最终放弃并实施原始的不安全的简单版本只是为了完成项目.因此,本文使Scala/Lift非常具有吸引力.

然后在午餐时,我的团队成员(和朋友)正在讨论他在.NET 4.0上使用C#进行ASP-MVC 3的工作.听起来学习和使用它会非常愉快.他谈到了足够多的东西,这些东西似乎与我早上读到的关于Lift的文章重叠.

我的问题是:鉴于我的时间有限,选择Scala/Lift而不是C#/ ASP-MVC 3有什么优点和/或缺点?与#Scala/Lift相比,C#/ ASP-MVC 3有哪些优势?

为了降低评估的复杂性:请假设每种技术的最新版本; Scala 2.8.1(2010/Dec),Lift 2.2(2011/Jan),C#/.NET 4.0(2010/Apr)和ASP-MVC 3(2011/Jan).

感谢您在这个关键架构决策点帮助我.


更新2011/Mar/19 12:25 CDT:
我曾经偶然发现了一些似乎对Scala/Lift方面非常有帮助的资源:
1.免费电子书(PDF和HTML),标题为"Exploring Lift(基于Scala) web-framework)"
2.由Lift的创建者发表的题为"View First"的 Wiki文章

电子书的第一章非常有用.我真的很喜欢Lift设计原则和实现的重点是"关注点分离"(将代码保留在显示片段之外)和"约定优于配置".

从我到目前为止看到的情况来看,虽然ASP-MVC 3使用了相同的"强大指南",但仍然依赖于代码和表示被"混合"的层.这是网站设计师和软件工程师在起源后都不敢踩的地方.IOW,在发起之后,有维护龙.我很想有人告诉我这里错了.

Rob*_*mba 8

Scala/Lift专业人士:

  • 可以为Web和企业使用庞大的开源解决方案/库
  • 更多创新
  • 降低成本
  • (主观:偏好Scala语法和数据模型)

C#/ ASP专业人士:

  • 你正在学习它,所以你对.NET技术更熟悉.
  • 花更少的时间学习(从第一点开始),并获得工作支持.

对我来说,Scala/Lift是更有效的解决方案,但我对java/jvm更熟悉,而不是与.NET绑定