reactor-core
NullAway
reactor-core | NullAway | |
---|---|---|
21 | 21 | |
4,813 | 3,530 | |
0.3% | 1.0% | |
9.4 | 8.9 | |
7 days ago | 2 days ago | |
Java | Java | |
Apache License 2.0 | MIT License |
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.
reactor-core
-
Is it wrong to use "try-catch" inside a reactive stream operator (project reactor)?
I was exploring reactive streams with project reactor and I encountered a use case where I needed to skip to the next event if an error occurred during the processing of the current event (e.g. deserialization issue).
-
Modern Async Primitives on iOS, Android, and the Web
Kotlin also has a construct for asynchronous collections/streams. Kotlin's version of AsyncSequence is called a Flow. Just as Swift's AsyncSequence builds upon prior experience with RxSwift and Combine, Kotlin's Flow APIs build upon earlier stream/collection APIs in the JVM ecosystem: Java's RxJava, Java8 Streams, Project Reactor, and Scala's Akka.
-
Alternatives to scala FP
Java's projectreactor.io ? It is widely used in Java world, see Spring WebFlux.
-
Hydroflow: Dataflow Runtime in Rust
I guess more a closer comparison would be with the Project Reactor https://projectreactor.io/ which is also a low level framework for data processing.
-
Reactive Backend Applications with Spring Boot, Kotlin and Coroutines (Part 1)
Spring Framework is one of the most popular choices for web applications. It comes with a great ecosystem, tooling, and support. Spring applications are mainly written in Java. While they can serve quite well in many different domains and use cases, they may not be a good fit for modern-day applications which require low-latency and high-throughput. This is where the reactive programming paradigm could help because the paradigm is designed to address these issues by its non-blocking nature. Spring already supports reactive programming via Project Reactor.
-
Brief Intro to Reactive Streams with Project Reactor
The reactive streams API provides the specification for non-blocking async streams processing with back pressure mechanism, and Project Reactor is an implementation written in java.
- Angular for Junior Developers: Promises vs Observables
-
How much of real world programming involves using containers and for loops?
https://projectreactor.io/ https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html https://rxjs.dev/ https://developer.android.com/kotlin/coroutines https://developer.apple.com/documentation/combine
- Spring Reactor
-
Reactor bad, Loom good - but how will the landscape shape out?
With respect to Loom, it could be much easier for synchronous and reactive code to interoperate using schedulers that take advantage of Loom. The impact of Loom on Project Reactor was discussed in #3084, you might find it interesting.
NullAway
-
What if null was an Object in Java?
Fortunately, Uber made tooling for languages with broken type systems
* https://github.com/uber/NullAway
* https://github.com/uber-go/nilaway
-
My Thoughts on “Bad Code”
Some patterns arise from language design
* You can't express `T` where `null` is forbidden in the type system so you get NullPointerException everywhere and defensive null checks.
* You express a sum type as a product type because your language does not have sum types .
* Your language doesn't have first class multiple return values (or tuples) so you return extra parameters via out parameters or thread local variables such as `errno`.
* Your language doesn't have exceptions (or algebraic effects) and can't do IO so you have monad transformers.
* Your language doesn't have set-theoretic types so you need hacks like `thiserror` .
* Your language doesn't have stackful coroutines or can't infer async IO for you so you have `async/await` spam or callback hell or "mono's".
* Your language doesn't have exhaustive checks (or pattern matching) so you need a fallthrough case check on switch statements .
* Your language doesn't have algebraic effects, so you need to pass context everywhere.
I know someone will reply about Java's null annotation checking options, so here is one of them: https://github.com/uber/NullAway .
-
Will Project Valhalla bring Kotlin-like nulls to Java?
If you must use Java, use Uber's Nullaway which gives null safety via Errorprone.
-
Retrofitting null-safety onto Java at Meta
Does anyone have experience using this at Meta who can compare to https://github.com/uber/NullAway ?
-
How to use Java Records
A special kind of validation is enforcing that record fields are not null. (Un)fortunately, records do not have any special behavior regarding nullability. You can use tools like NullAway or Error Prone to prevent null in your code in general, or you can add checks to your records:
- Backend Java 19 vs Kotlin?
-
What does the future hold for Project Amber?
What do you think of https://github.com/uber/NullAway
-
Plans for Compile-time Null Pointer Safety?
Take a look at NullAway, a plugin for Error Prone.
-
Ask HN: What is a modern Java environment?
PMD, Spotbugs, Nullaway: Java linting/static analysis (https://pmd.github.io, https://spotbugs.github.io, https://github.com/uber/NullAway)
- Nullaway fully supports switch expressions without issues now in 0.9.5
What are some alternatives?
Reactive Streams - Reactive Streams Specification for the JVM
SonarQube - Continuous Inspection
RxKotlin - RxJava bindings for Kotlin
Error Prone - Catch common Java mistakes as compile-time errors
RxJava - RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
infer - A static analyzer for Java, C, C++, and Objective-C
reactor-kotlin-extensions
Spotbugs - SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
redux-kotlin - Predictable state container for Kotlin apps
FindBugs - The new home of the FindBugs project
Async Http Client - Asynchronous Http and WebSocket Client library for Java
Checkstyle - Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.