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

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.
主站蜘蛛池模板: 莱阳市| 融水| 台安县| 许昌县| 大连市| 桑日县| 新沂市| 旬邑县| 郑州市| 天气| 惠东县| 和林格尔县| 苗栗县| 新沂市| 六枝特区| 南京市| 嘉鱼县| 南康市| 黎平县| 金塔县| 林口县| 永兴县| 沙田区| 佛教| 信丰县| 莲花县| 滁州市| 祁东县| 常宁市| 长葛市| 平阴县| 临海市| 海盐县| 遂昌县| 无锡市| 太仆寺旗| 蛟河市| 合肥市| 乌拉特中旗| 江源县| 谢通门县|