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

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.
主站蜘蛛池模板: 弥渡县| 汝城县| 滦平县| 和政县| 揭西县| 微博| 西平县| 尼木县| 库伦旗| 九江县| 金乡县| 聂拉木县| 淮安市| 龙岩市| 马山县| 湖南省| 牙克石市| 堆龙德庆县| 巴楚县| 志丹县| 息烽县| 小金县| 安国市| 托克托县| 青河县| 名山县| 揭阳市| 安义县| 定襄县| 日土县| 巴东县| 新河县| 临江市| 伊宁市| 溆浦县| 河北省| 青川县| 张家港市| 武邑县| 六盘水市| 钟山县|