Jodd – The Unbearable Lightness of Java

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Netty

    Netty project - an event-driven asynchronous network application framework

  • We looked around since we wanted to move off Tomcat and decided on Netty: https://netty.io/

    I'm not on the engineering team so can't speak to the cost/benefit, but it seems to have been a pretty successful transition.

  • rupy

    HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  • Vert.x

    It's built on top of Netty but has some additional niceties that make it more practical to use. It's also one of the fastest things out there: https://www.techempower.com/benchmarks/#section=data-r18&hw=...

  • ls-annotations

    Show all declarations with java annotations by decompiling byte code.

  • I remember the days, when the Spring framework was advertised as a lightweight alternative to Enterprise java beans (ejb); now Spring outgrew the pretence of being lightweight, don't know when that happened. last year i got back to working with java and spring boot, and i was overwhelmed by the prevalence of annotations in the tool.

    To cope with all this, i wrote this little project: https://github.com/MoserMichael/ls-annotations

    It's a decompiler that is listing all annotations, so it becomes easier to grep a text file in order to detect the dependencies between annotations.

  • netty-websocket-broadcast-example

    An example WebSocket broadcast server using Netty

  • FWIW, here is a fairly minimal example[0] of broadcasting over websockets reusing the same buffer.

    I'm not very familiar with vert.x(not a netty expert either), but I think the author of that article is ascribing blame to the wrong place.

    [0]: https://github.com/juggernaut/netty-websocket-broadcast-exam...

  • FWIW, here is a fairly minimal example[0] of broadcasting over websockets reusing the same buffer.

    I'm not very familiar with vert.x(not a netty expert either), but I think the author of that article is ascribing blame to the wrong place.

    [0]: https://github.com/juggernaut/netty-websocket-broadcast-exam...

  • Experimental Boost.DI

    C++14 Dependency Injection Library

  • Dependency injection does not have to be dynamic, it can totally be done at compile time. Boost DI is an example: https://boost-ext.github.io/di/

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • jodd-json

    JSON Java serializer and parser.

  • Looks nice and clean. It does seem to be maintained by a single person (at least the JSON subproject [1]) which will be a major turn off for adoption by an "enterprise"

    [1] https://github.com/oblac/jodd-json

  • nanohttpd

    Tiny, easily embeddable HTTP server in Java.

  • https://github.com/NanoHttpd/nanohttpd

    A bit outdated and not actively maintained, but it's truly small.

  • Micronaut

    Micronaut Application Framework

  • My experience is that it's not only the usage of annotations, but the way Spring handles/implements those annotations which is confusing.

    As an example, Micronaut[1] also uses annotations a lot, but their implementation is a lot easier to reason about, because there is less indirection with proxy objects and other weird stuff that Spring uses.

    Micronaut does not implement nearly as many annotations as Spring though, which basically means less functionality pre-built. I'm not sure that's a bad thing, but it could be.

    [1] https://micronaut.io/

  • spring-data-relational

    Spring Data Relational. Home of Spring Data JDBC and Spring Data R2DBC.

  • This is not correct. You're thinking Spring Data JPA [1]. Spring Data JDBC [2] does _not_ use any Hibernate nonsense.

    [1] https://spring.io/projects/spring-data-jdbc

  • StreamEx

    Enhancing Java Stream API

  • It gets more perverse if you need to flatMap, or transmute components of map types, etc. If you want even more power, take a look at https://github.com/amaembo/streamex. This sort of container manipulation bread and butter for business processing. I use it every day, sometimes with a dozen operations. This (with liberal use of `final` values) makes for some pretty functional-looking code.

    I'll grant you the Kotlin or Scala version is slightly more compact. But not fundamentally different, like the Go version.

    I (and the pretty much every language designer in the post-Java era) disagree with you about checked exceptions, but that's a whole different thread...

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

  • Gradle 8.0

    4 projects | /r/java | 14 Feb 2023
  • Is it acceptable to use mock servers, like Postman, for testing in Android?

    3 projects | /r/androiddev | 6 Sep 2022
  • Java Game Servers

    2 projects | /r/javagamedev | 6 May 2021
  • Let's write a simple microservice in Clojure

    7 projects | dev.to | 26 Apr 2024
  • JEP draft: Exception handling in switch

    6 projects | news.ycombinator.com | 19 Apr 2024