我所知道的Scala持久层框架有:
1、Slick (typesafe出品)
2、Squeryl
3、Anorm(Play的持久层)
4、ScalaActiveRecord (基于Squeryl之上)
5、circumflex-orm
6、activate-framework(不只是scala版的hibernate,支持async db)
web框架的话
1、Spray(build on akka,完全异步,非阻塞,非常有前景,适合REST后端程序)
2、Play(还不是很习惯)
3、Scalatra(对akka,squeryl等都有现成集成,适合需要view层的)
4、Lift
我的选择:
1、对于api层
采用Spray+Akka+Slick/ScalaActiveRecord
2、对于普通web应用
采用Scalatra/Spray+Slick/ScalaActiveRecord
采用ScalaActiveRecord的原因:
1、基于Squeryl的rails风格
2、可集成数据库连接池(BoneCP)
3、可进行事务控制(支持optimistic locking)
采用Slick的原因:
1、typesafe官方产品
2、可集成数据库连接池
参考 https://gist.github.com/filipelenfers/7914993
参考 http://slick.typesafe.com/doc/2.1.0/connection.html#using-a-datasource
3、事务控制(目前好像不支持optimistic locking)
参考
spray集成actor的参考架构
spray-akka-todomvc
来自:http://my.oschina.net/scipio/blog/302465
分享到:
相关推荐
Scala框架,特别是Play框架,是现代Web开发中的一个重要选择,尤其对于那些寻求强类型、面向对象和函数式编程融合的开发者。Play框架以其简洁、高效和反应式的设计理念,为构建高性能、可扩展的Web应用提供了强大的...
Scala Play框架是一款基于Java和Scala的开源Web应用框架,它以简洁、高效和模块化著称,被广泛用于构建现代的、反应式的Web服务。在Play框架中,sbt(Simple Build Tool)是默认的构建工具,它允许开发者管理项目...
总的来说,Akka框架凭借其强大的并发处理能力、分布式系统的设计以及对Scala和Java的友好支持,已经成为现代企业级应用开发的重要选择。深入理解和熟练运用Akka,能够帮助开发者构建出更加健壮、高效的软件系统。
spark 框架word count scala源文件 spark 框架word count scala源文件spark 框架word count scala源文件spark 框架word count scala源文件spark 框架word count scala源文件
Scala集合框架的设计使得开发者可以根据具体需求选择最合适的集合类型。不可变集合适用于不需要修改的场景,而可变集合则适用于需要频繁修改的场景。理解不同集合类型之间的差异和特性有助于编写更高效、更安全的...
Binding.scala 是 Scala 上的数据绑定框架,既可以运行在 JVM 上,也可以通过 Scala.js 编译成 JavaScript 运行在 Node.js 或者浏览器中。Binding.scala 也是一套动态页面开发框架,使你可以直接在代码中内嵌 ...
10. **Actor模型**:Akka库是Scala中的并发和分布式计算框架,基于Actor模型,使得编写高性能、容错的应用程序变得简单。 11. **Dotty/Scala 3**:虽然Scala-2.12.3是当前版本,但Scala社区正在开发下一代Scala,即...
Scalatest是一个广受欢迎的Scala测试框架,尽管它是为Scala设计的,但其设计理念和强大的功能使得它也能很好地应用于Kotlin的测试场景。本篇将深入探讨如何在Android项目中利用Kotlin结合Scalatest来创建高效的测试...
blueeyes 是一个轻量级的 Scala 的 Web 3.0 框架,提供一个纯异步架构,特别适合用于开发高性能、可伸缩性和高可用性的 Web 应用开发。 标签:blueeyes
- ** Actors模型**:Scala内置对Akka框架的支持,允许并发编程时使用Actors模型,简化了并发控制。 2. **Scala 2.12.1更新与改进**: - **性能提升**:相比于之前的版本,2.12.1在编译速度和运行效率上进行了优化...
这使得Scala成为处理大数据、并发和分布式计算的理想选择,尤其是在Apache Spark等框架中。 2.12.x版本的Scala致力于向后兼容,这意味着大多数2.11.x版本的代码可以无需修改直接在2.12.x上运行。然而,由于编译器和...
2. **Scala框架**:框架是提供了一套规则和工具,用于简化特定类型应用程序的开发。例如,Akka用于构建高度并行和反应式应用,Play Framework用于构建Web应用,而Spark则用于大数据处理。 3. **软件列表**:这里...
- Scala的静态类型系统和强大的表达能力使其成为构建复杂应用程序的良好选择,而MyBatis以其灵活性和易用性在Java世界中占有一席之地。通过使用Scala的Java互操作性,我们可以无缝地在Scala中使用MyBatis。 - 集成...
- Spark:Apache Spark是一个基于Scala构建的大数据处理框架,展示了Scala在大数据领域的应用。 "Scala编程超级详细的实战书籍.pdf"这本书很可能涵盖了以上所有主题,并通过实例深入浅出地讲解了这些概念,对于...
本课件是针对Scala学习者精心准备的资源,旨在帮助你深入理解和掌握Scala的核心概念,并进一步熟悉在Spark框架中的应用。 首先,我们从"Scala进阶之路-part01-基础.pdf"开始,这部分内容主要涵盖了Scala的基础知识...
Spark是基于Scala构建的大数据处理框架,其高性能和易用性使得Scala在大数据领域备受青睐。在这个名为"学习scala好的项目"的压缩包中,我们可以期待找到一系列有助于初学者掌握Scala编程的知识资源。 首先,让我们...
10. **Spark大数据处理**:标签中提到的Spark是由Scala构建的大数据处理框架,其API主要用Scala编写,这使得Spark与Scala的结合非常紧密,便于开发高性能的数据处理应用。 压缩包中的另一个文件"scala-2.11.12.txt...
Spark是一个用Scala编写的分布式计算框架,它利用Scala的简洁语法和强大的功能来构建大规模数据处理应用。Scala与Spark的紧密集成使得开发者可以编写出高效的并行和分布式代码。在Windows上配置好Scala环境后,你...
scala的orm框架,相比其他orm更为简洁 // Declare a model: case class Artist( name : String, genres : Set[Genre] ) case class Genre( name : String ) // Initialize SORM, automatically generating schema:...