Scala is a programming language that combines object-oriented programming and functional programming. It was created by Martin Odersky. Scala runs on the Java Virtual Machine (JVM) and can be used to create programs in a variety of settings, including big data, cloud computing, and more.

data codes through eyeglasses
Photo by Kevin Ku on Pexels.com

In this article, we will highlight the 20 best Scala opensource projects.

1. scalding 

scalding is a Scala library for writing MapReduce jobs. It is built on top of Cascading, a Java library for writing MapReduce jobs. scalding provides a more concise and idiomatic Scala API for Cascading. scalding is used by Twitter, Foursquare, and Etsy.

2. Spark 

Spark is a powerful open-source big data processing engine built in Scala and Java. It can run on a cluster of machines and process large amounts of data very efficiently. Spark has a rich set of features including Machine Learning, SQL, Streaming, and GraphX. Spark is used by Yahoo, Amazon, and eBay.

3. Kafka 

Kafka is a high-performance streaming platform used by LinkedIn, Twitter, and Netflix. It can handle real-time data feeds and has very low latency. Kafka is written in Scala and Java.

4. Samza 

Samza is a stream processing framework used by Yahoo. It is written in Scala and uses Kafka for messaging.

5. Akka 

Akka is a toolkit for building concurrent, distributed, and fault-tolerant applications on the JVM. It is used by telecom companies and large financial institutions to build highly reliable systems at scale. Akka is written in Scala and Java.

6. Play Framework 

Play is a web application framework written in Scala. It is used by many large companies including LinkedIn, Twitter, and Walmart.

7. Slick 

Slick is a database query and access library for Scala. It provides a clean, DSL-like API for working with relational databases. Slick is used by the Play Framework and many other projects.

8. scopt 

scopt is a command line argument parser for Scala. It makes it easy to parse and process command line arguments in a type-safe way. scopt is used by sbt, the Scala build tool, and many other projects.

9. scala-fmt 

scala-fmt is a Scala library for building command line applications. It offers features like automatic argument parsing, subcommands, and more. scala-fmt is used by scopt and other Scala projects.

10. scallop 

scallop is a web application framework for scala and Play. It is highly modular and aims to make it easy to build scalable web applications using Scala. scallop is used by companies like Finagle, a financial trading platform.

11. scara-sbt

scara-sbt is a plugin for the Scala build tool (sbt) that provides support for the Scala programming language. scara-sbt is used by the Play Framework and many other projects.

12. salford-sbt

salford-sbt is a plugin for the Scala build tool (sbt) that provides support for the Scala programming language. salford-sbt is used by the Play Framework and many other projects.

13. scoverage-sbt  

scoverage-sbt is a plugin for the Scala build tool (sbt) that provides support for the Scala programming language. scoverage-sbt is used by the Play Framework and many other projects.

14. scala-jmh  

scala-jmh is a plugin for the Scala build tool (sbt) that provides support for the JMH Java microbenchmarking library. scala-jmh is used by the Play Framework and many other projects.

15. scalameta  

scala-meta is a library for working with the Scala programming language. It offers features like syntax highlighting, static analysis, and more. scala-meta is used by sbt, the Play Framework, scala-js, scala-rope, and many other projects.

16. scala-xml  

scala-xml is a library for working with XML in Scala. scala-xml is used by the Play Framework, scala-js, and many other projects.

17. scodec  

scodec is a library for working with binary data in Scala. It offers features like codecs for various data formats, streaming support, and more. scodec is used by the Play Framework, scala-js, and many other projects.

18. sjson  

sjson is a library for working with JSON in Scala. It offers features like automatic typeclass derivation, streaming support, and more. sjson is used by scala-js and many other projects.

19. scala-parser-combinators

scala-parser-combinators is a library for writing parsers in Scala using parser combinators. scala-parser-combinators is used by scaas, the Play Framework, and many other projects.

20. scala-reflect  

scala-reflect is a library that provides runtime reflection functionality for Scala. scala-reflect is used by the Play Framework, scala-js, scala-xml, and many other projects.

Conclusion

Scala is a powerful, expressive programming language that is used by many large companies and organizations for building high-performance systems. These projects provide important functionality for building large-scale systems in Scala. Whether you are a Scala developer or simply interested in learning more about the language, these projects are a great place to start exploring.