substrate
avaje-inject
Our great sponsors
substrate | avaje-inject | |
---|---|---|
6 | 19 | |
368 | 195 | |
1.6% | 4.6% | |
5.9 | 9.3 | |
about 1 month ago | 7 days ago | |
Java | Java | |
GNU General Public License v3.0 only | Apache License 2.0 |
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.
substrate
-
Building a Slack/Discord Alternative with Tauri/Rust
Haha, it's amusing that the history essays are one of the things you remember :)
Yes you can compile Scala and ScalaFX apps down to native binaries this way. Look at Gluon Substrate:
https://github.com/gluonhq/substrate
One of our customers is experimenting with shipping such apps with Conveyor. There's a discussion ongoing here:
https://github.com/hydraulic-software/conveyor/discussions/6...
We got a console hello world working, albeit the DX is a bit rough. You need some ugly config boilerplate and some additional Native Image json files. But, it works, at least enough to create a Mac package with the regular Conveyor feature set. There are some limits though. I think the WebView doesn't work when the app is natively compiled this way.
If it all starts working well it could be quite interesting for desktop app development, as suddenly you could use high level languages and portable UI toolkits but with the sort of startup time, performance and memory usage you'd expect from native apps (modulo binary size which is still quite large). If you want to use HTML as the UI then you can use the Chromium Embedding Framework, which would give you an Electron-like experience but with many more available languages:
https://hydraulic.dev/blog/13-deploying-apps-with-jcef.html
I've been using JVM GUI for years for various tasks. It was appropriate for Bitcoin tasks because it's immune to injection attacks, because you can run everything locally with P2P protocols like the original Bitcoin app did, it's portable etc. Also I learned GUI programming decades ago and find classical UI toolkit concepts like VBox, HBox, StackPane, TableView etc more intuitive than HTML.
-
GraalVM Native Image — Faster, Smarter, Leaner
I ran into quite a few issues during Android/iOS development (e.g. java.util.prefs and GraalVM pulling in unused methods), but Windows was comparatively smooth. Most of my issues were related to understanding the toolchain,e.g., not knowing how arguments are passed to run.
-
Question on JavaFX web applications
With JavaFX and Gluon Substrate + GraalVM you can even compile you app to an executable.
-
What is your experience with GraalVM Native?
missing methods in Android library
-
How does Gluon's GraalVM based substrate work?
Hello, I've recently stumbled across this project from Gluon and I've been wondering for some days how the project actually works. I've read the source code, but it appears that no code is responsible for implementing the hundreds of classes that make up JavaFX. Does this mean that JavaFX can work out of the box on IOS and Android but there didn't use to be a way to compile the code to a native executable for said platforms? Thanks in advance
-
Experiences with ZGC on JavaFX?
Don't tested memory difference myself yet but maybe your solution could be to convert to native with graalvm and gluon substrate? https://github.com/gluonhq/substrate
avaje-inject
- Apt-based dependency injection for server-side developers
-
Avaje Inject - Microservice Focused DI via Annotation Processing
Avaje Inject has quickly become one of my favorite libraries. Inject is basically like Dagger if Dagger was focused on server side instead of Android. It's a tiny lib (~76kb) that uses the power of annotation processing to generate DI classes. Recently I've been using it for AWS lambdas and it works pretty great.
-
I wrote a simple, compile-time dependency injection framework
https://avaje.io/inject/ - Implements JSR-330 and JSR-250
-
Dependency injection frameworks
Have you tried out Avaje inject? It's currently my favorite DI lib.
-
Java OSS with best code quality you’ve ever seen?
Been building a web service with avaje inject and avaje http lately. It has a very spring-like feel for a DI lib, (Lifecycles, Test annotations) but the libs are tiny and totally reflection free through codegen.
-
Favorite hidden gem library?
Avaje is pretty cool, it's a compact DI library based on APT. https://github.com/avaje/avaje-inject
-
Why is Spring so slow in TechEmpower benchmark?
Like avaje inject ? DI as source code generation done at build time?
-
Dirk: a new light-weight system for dependency injection
Just to say, I also created a DI library called avaje-inject - https://avaje.io/inject/ ... which uses Java annotation processing to do DI as mostly source code generation. So the runtime dependency is ~ 67Kb. It also supports AOP aspects via source code gen which I think is kind of cool - you can have your own aspects like `@Retry` etc and it's actually done using source code generation.
-
Java SQL code generator. SQL and OOP united finally.
I am a bit fan of using annotation processing (source code generation) to simplify things - DI https://avaje.io/inject/ , JSON binding (https://github.com/avaje/avaje-jsonb) and rest servers and clients (https://avaje.io/http).
-
What is your experience with GraalVM Native?
Dagger2 and avaje-inject are other options (DI as source code generation via annotation processing). https://avaje.io/inject/
What are some alternatives?
JFoenix - JavaFX Material Design Library
auto-value
jfx - JavaFX mainline development
spring-examples - Starter projects with Spring using Java and Kotlin. Contains modules that covers Security with JWT, Spring with Kotlin, Dependency injection simplified etc.
Recaf - The modern Java bytecode editor
Dagger2 - A fast dependency injector for Android and Java.
usb-serial-for-android - Android USB host serial driver library for CDC, FTDI, Arduino and other devices.
Feather - Lightweight dependency injection for Java and Android (JSR-330)
scalaonandroid - A tutorial and examples of how to write Android apps in Scala 2.13 and Scala 3.
dapper - modular dagger
certificate-ripper - 🔐 A CLI tool to extract server certificates
quarkus-htmx-todos - Todo App in Quarkus with htmx