在阅读了 Bloch 的讨论http://www.infoq.com/news/2010/04/bloch_java_future之后,我开始思考"对于新的 Web 开发,我是否需要转换到 Scala,或者在所有情况下都首选 Java。你有什么看法?"
谢谢。
在阅读了 Bloch 的讨论http://www.infoq.com/news/2010/04/bloch_java_future之后,我开始思考"对于新的 Web 开发,我是否需要转换到 Scala,或者在所有情况下都首选 Java。你有什么看法?"
谢谢。
如果你需要选择Java或Scala,你应该选择Scala。Spring、Hibernate等工具在Scala下运行良好,所以如果你能立即使用它就用Scala吧。目前,IntelliJ的Scala工具也不错。与六个月到一年前相比,Scala的工具现在更加完善。
然而,我必须提醒你......对于仅进行网站开发而言,Java平台已经变得十分臃肿。我曾经是一个九年Java软件架构师,最近开始接触Scala,所以我对这些平台有偏见。即使如此,如果你只想做一个在数据库上提供适度功能的应用程序,你应该使用Grails,甚至是Rails(尽管Grails可能更适合你的技能)。
我不建议你使用Lift来写Scala,除非你已经了解函数式编程。
这取决于您想要使用哪种类型的Web应用程序,尽管我会选择Java,因为它有大量的代码和API库以及庞大的社区。
我仍然是Java Spring的忠实粉丝。有些人认为它可能有点笨重,但是通过注释和自动装配,您可以非常快速地组合Web应用程序。此外,使用Java,您可以访问整个Apache commons的大量开源库。
我不太喜欢Scala / Lift的一件事情是视图和控制器之间的界限有点混淆。使用Java Spring,特别是如果您为视图使用像Apache Velocity这样的模板语言,则视图和控制器之间有明确的区别。
总的来说,取决于您的项目规模,我认为Scala和Java之间没有太大的区别。两者都能胜任您的工作。如果您的项目有成为非常大的潜力,则我会选择Java,因为它具有成熟性并且具有大量成熟的开源库可供使用。