Spray
A suite of scala libraries for building and consuming RESTful web services on top of Akka: lightweight, asynchronous, non-blocking, actor-based, testable (by spray)
Http4s
A minimal, idiomatic Scala interface for HTTP (by http4s)
Our great sponsors
Spray | Http4s | |
---|---|---|
1 | 14 | |
2,535 | 2,260 | |
-0.2% | 1.3% | |
0.0 | 10.0 | |
about 5 years ago | 1 day ago | |
Scala | Scala | |
GNU General Public License v3.0 or later | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Spray
Posts with mentions or reviews of Spray.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-04-21.
-
Scala: A Love Story
I purchased the very entertaining book Seven Languages in Seven Weeks. Although I found Haskell fascinating and tempting, I knew it was unrealistic to introduce it in our company. Scala on the other hand looked like it could be the holy grail: All the characteristics I was looking for, no need to abandon the JVM and its cornucopia of tools and libraries, and the possibility for coexistence with Java and therefore incremental adoption. After implementing some simple programs to identify any immediate risks of committing to the language and its ecosystem, I started to introduce Scala in customer projects. Luckily, I was fortunate enough to work with open-minded, curious, and ambitious team members who were also experienced enough to appreciate the benefits of the language. We immediately applied our experience with functional programming, and embraced immutability. Libraries like Slick and Akka HTTP (we actually started out with its predecessor, Spray) made building database-backed REST services a breeze. And the resulting code was robust and highly maintainable. Scala's expressive type system and type inference made it easy to build a restrictive, consistent domain model without bloating the code. There was virtually no overhead. Any boilerplate could be easily abstracted out. In the end, the application code felt natural, concise and elegant. Programming was fun again.
Http4s
Posts with mentions or reviews of Http4s.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-29.
-
Why do all frameworks use OOP? (php)
There are functional frameworks: https://http4s.org/
-
Can we all please star our top 15 used Scala libraries ?
If you look at the example it is listed as an import but there is no explicit reference to it. And if you were just doing basic synchronous responses then that would be the only time you would see it.
-
Scala Http Framework
If you want something more powerful, pure-functional and you need to do complex, concurrency-heavy operations, have a look at http4s: https://http4s.org/
-
Typelevel: On Recent Events
I don't think this is toxic but still, it doesn't sit well with me: https://github.com/http4s/http4s/issues/4718
-
Akka became the de-facto solution for Scala web development?
http4s
-
Any HTTPS web proxy library in Scala?
Here is a possible sketch with the functional http4s library. In http4s, both Http clients and servers are modelled as functions from Http requests to an Http response generated from an IO action. This would be like a function Request => IO[Response], which in http4s is called an HttpApp.
-
Building a REST API in Scala 3 using Iron and Cats
Http4s: https://http4s.org/
-
A library like Express.js?
Have you checked http4s? I'm using it as a lightweight HTTP server with routing, etc. It might be not your cup of tea, if you don't use pure functional programming, etc, though.
- Why Typelevel hates ZIO?
What are some alternatives?
When comparing Spray and Http4s you can also consider the following projects:
Akka HTTP - The Streaming-first HTTP server/module of Akka
sttp - The Scala HTTP client you always wanted!
Finch.io - Scala combinator library for building Finagle HTTP services
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
scalaj-http - Simple scala wrapper for HttpURLConnection. OAuth included.
Vert.x - Vert.x is a tool-kit for building reactive applications on the JVM
FS2 - Compositional, streaming I/O library for Scala
fs2-kafka - Functional Kafka Streams for Scala
Play - Play Framework
Scalaxb - scalaxb is an XML data binding tool for Scala.