Why there is still no ExpressJS-like alternative in Scala?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/scala

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • cask

    Cask: a Scala HTTP micro-framework

    I found Cask the most "lean" one of them all: https://github.com/lihaoyi/cask

  • resty

    Super easy REST API framework for Scala (by takezoe)

    I've never used it myself, but Resty may fit what you're looking for

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • Http4s

    A minimal, idiomatic Scala interface for HTTP

    The example uses Cats Effect, FS2 and Tagless Final.

  • refined

    Refinement types for Scala

    This example uses probably the most popular JSON library for Scala, Circe. There is another Scala library that lets us "be more specific with," or "refine," our types, called Refined. http4s doesn't provide any particular support for Refined, but Circe has a module integrating Refined, meaning that all of Circe's parsing, encoding, and decoding support is integrated with Refined. Putting together http4s' Circe support, Circe's generic codec derivation, and Circe's Refined integration, here's what I came up with:

  • advanced-http4s

    :rainbow: Code samples of advanced features of Http4s in combination with some features of Fs2 not often seen.

    Your "file upload" question, I think, reveals more of the actual difficulties. It raises all sorts of security, resource safety, and just general design issues, e.g. how does the system handle really huge files? How should errors be handled? etc. That said, there is an example of a file upload service written by Gabriel Volpe that, once again, reveals that it's not a lot of effort to do, given some decisions about how you want to deal with the possible range of issues involved.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts