Scala学习资源

13年前
官网/论坛/专题 
Scala官方网站 
Scala官方Wiki 
ScalaCn论坛 
ScalaCn邮件列表 
Scala Fish - 斯卡拉魚(中国台湾的Scala邮件列表) 
Nabble Scala Forum 
51CTO Scala专题 
IBM Scala 指南 
Scala 讲座:献给追求创意兴奋的程序员 

书籍 
Programming in Scala部分译文 
Programming Scala英文在线阅读 

产品/框架 
Liftweb官方网站 
Apache ESME (Scala,Lift实现的企业开源微博客) 
ScalaTest(开源测试框架)

Scala下开发工具
最近看了一篇介绍Scala下开发工具的文章,原文在这里:Development Tools available for Scala Language。我最近一直在学习Scala,因此就借花献佛,把这片文章里的东西搬过来,给各位学习Scala的童鞋参考。

1. Simple Build Tool (SBT) for Scala language
SBT是Scala下非常强大的构建工具,想想Ant和Maven,SBT在Scala下更加出色。以下是SBT的一些特性:
  • 快速、对代码无侵入并且易于配置
  • 所有的配置、定制和扩展都使用Scala语言,摆脱XML的烦恼(好像不是全部)
  • 利用编译器插件来精确重编译
  • 持续的编译和执行。这个很cool,可以移步这里看看:Triggered Execution
  • 同时支持Scala/Java工程,支持利用scaladoc生成文档
  • 支持ScalaTest,spec以及ScalaCheck测试框架
  • 能够将项目和依赖库加入到Scala REPL启动时的classpath中
  • 多项目的构建管理功能
  • 任务的并行执行,包括并行测试
  • 通过依赖管理功能支持:inline declarations,Ivy或者Maven的配置文件
>SBT下载<

2. Squeryl —— Scala下的一个ORM和DSL框架
Squeryl是一个ORM和DSL框架,可以通过它用最有效和最安全的方式和数据库打交道,让你从此告别访问数据库的烦恼和冗余代码,写SQL像写Scala一样简单搞笑(高效)。
看看它的特性:
  • 能够让编译器帮你检查数据库访问的代码。通过编译的Squeryl代码不会在运行时出错。当编译出错的时候,能够告诉你哪儿错了。从此可以不用头疼SQL的无厘头报错方式了。
  • 让你像编写SQL那样编写你的数据库访问,但是不用再和那些麻烦的底层API打交道了。
  • Squeryl语句的组合功能能够让你一次编写到处使用,减少代码的复杂度
>Squeryl下载<


3. Scala Check
Scala Check,Scala下一个功能强大的自动化单元测试框架。它借鉴Haskell的测试框架QuickCheck,并且发展出了很多让人称赞的特性。
>Scala Check下载<

4. Scala Test
Scala Test集成了JUnit, TestNG, Ant, 和Maven,能够让你用一种高效的方式测试你的Scala或者Java代码。而且Scala Test提供的BDD测试方式能够让你的测试代码看起来更像是测试文档。
>Scala Test下载<

5. Lift
Lift是Scala下让人感到非常cool的web框架。它采用了View-First模式,可以带给你不一样的web开发体验。它利用Scala的特性,将Ajax的使用变得异常简单。更重要的是,它提供了非常高的安全性和可扩展性。
>Lift下载<

6. Akka
经常与并行程序打交道的人应该知道,编写正确的,可扩展的并且容错性高的并行程序绝非易事。Akka通过使用Scala的Actor,为我们提供了一个可扩展、高容错,并且是事件驱动的架构。
>Akka下载<

7. Specs
Scala下非常著名的BDD框架。你可以使用Specs轻松的编写自己的Speifications,也可以与Junit,Mockito等框架结合。Specs有许多让人非常激动的特性,想具体了解的可以移步它们的官方网站。
>Specs下载<

8. Scalate
Scalate是Scala 2.8下的一个模板引擎,它能够为独立的JVM、Web应用的Servlet Filter、Play Framework灯框架或者环境生成模板文件。
>Scalate下载<

9. ScalaQuery
ScalaQuery提供了一组JDBC层面之上的API,能够让我们在程序中更加有效的访问数据库,降低编写数据库访问程序的复杂度。另外,ScalaQuery也是在编译的时候进行检查,为我们提供类型安全的数据库访问。
>ScalaQuery下载<

10. SPDE
SPDE是Processing语言环境在Scala上的一个分支。鉴于这个东西我完全不了解,所以想详细了解的童鞋围观它的官网。
>SPDE下载<

11. 一些IDE的插件
最后罗列的是一些IDE的插件。一个好的IDE可以让我们在编写Scala程序的时候事半功倍。Java界三大IDE——NetBeans,Eclipse,IntelliJ——现在都有对应的Scala插件: