官术网_书友最值得收藏!

Scala Play web service

As an application framework, Play2 was chosen as an easy-to-configure and robust framework. Compared to Spring (another popular framework), it takes less time to make a small app from scratch. The Play comes with Guice for dependency injection and SBT as the package manager:

  • Spark ML: The Spark ML library was chosen as it is one of the best-maintained libraries in the Java world. Many algorithms not available in the library itself are implemented by third-party developers and can be trained on top of Spark. A drawback of Spark is that it is quite slow, as by design it is supposed to be distributed; so it uses Hadoop and writes a lot into the filesystem.
  • Akka: This allows implementing the actor's pattern—having several instances of independent objects and passing messages to each other concurrently, which increases robustness.
  • Anorm: The library to work with SQL on top of JDBC. Slick is another option and it is more powerful, but compatibility issues between libraries required for Akka and Slick made it worth choosing another library.
  • H2: A database that is the default for Play and Ruby-on-Rails as an easy-to-start database, with the possibility to store data in a local database file without the need to install a DB server. This gives portability and increases the speed of development. In later stages, it can be replaced with another, as Scala code isn't tied to any particular database; all of it is done on the configuration level.
主站蜘蛛池模板: 诏安县| 项城市| 耿马| 瓦房店市| 南陵县| 扶绥县| 平和县| 翁源县| 二连浩特市| 三门县| 高州市| 敦煌市| 蛟河市| 丹棱县| 连云港市| 察隅县| 新巴尔虎右旗| 察哈| 穆棱市| 田东县| 海原县| 肇庆市| 苏尼特左旗| 抚州市| 武功县| 抚州市| 德庆县| 郑州市| 南阳市| 方山县| 光泽县| 华蓥市| 邢台县| 张家川| 德兴市| 栖霞市| 福建省| 安康市| 大英县| 忻城县| 沁水县|