我最近在私有(private)时间学习Scala。在工作中,我一直在学习C#/.NET(4.0)。我对这两种方法还不够熟悉,无法对LiftASP-MVC 3进行最少评估。我正处于十字路口。考虑到我的时间非常有限,在接下来的3到6个月内,我必须在彼此之间进行选择,以学习和构建应用程序。

我今天碰到了this Lift article,立刻被我吸引了。我尝试了本文中概述的大多数事情,这使我无休止地感到沮丧和头痛。最终我为了最终完成项目而放弃并实现了一些粗略的不安全的简单版本。因此,本文使Scala/Lift非常具有吸引力。

然后午餐时,我的团队成员(和 friend )讨论了他在.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年3月19日CDT:
从那以后,我偶然发现了一些在Scala/Lift方面似乎非常有用的资源:
1.标题为"Exploring Lift (Scala based web-framework)"的免费电子书(PDF和HTML)
2. Lift的创建者提供的Wiki文章"View First"

电子书的第一章非常有帮助。我真的很喜欢Lift设计的原理和实现如何集中于“关注点分离”(使代码不显示在显示片段中)和“约定超过配置”。

从目前为止我所看到的,尽管ASP-MVC 3使用相同的“严格准则”,但是它仍然依赖于“混合”代码和表示的层。在这里,站点设计人员和软件工程师都不敢在创建后踩踏。 IOW,起源后就有维护龙。我希望有人告诉我我错了。

最佳答案

Scala/Lift 优点:

  • 可以为网络和企业使用大量的开源解决方案/库
  • 更创新
  • 降低成本
  • (主观:更喜欢Scala语法和数据模型)

  • C#/ASP 优点:
  • 您将在工作中学习它,因此您对.NET技术更加熟悉。
  • (从第一点开始)花费更少的学习时间,并获得工作上的支持。

  • 对我来说,Scala/Lift是更有效的解决方案,但我对Java/jvm更为熟悉,并且与.NET无关

    关于c# - Scala(2.8)/Lift(2.2)与C#(4.0)/ASP.NET-MVC 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5355914/

    10-12 07:40