spring-modulith
Mosby
spring-modulith | Mosby | |
---|---|---|
4 | 1 | |
658 | 5,492 | |
3.6% | - | |
9.3 | 0.0 | |
7 days ago | about 2 years ago | |
Java | Java | |
Apache License 2.0 | 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.
spring-modulith
-
Understanding the potential of Modulith architecture
If you use Java and Spring, you can have a look at Spring Modulith. It is an experimental Project by Spring to build modular Monoliths with Spring. This project can help to encapsulate your modules and to find a good project structure. For example it is helpful that references to internal module packages (sub-packages) are rejected.
- Spring Modulith
-
Make microservices look like monoliths
Spring Modulith is trying to enforce strict module boundaries.
I haven't yet tried it myself, but it looks promising:
https://spring.io/projects/spring-modulith
-
Is it Time to go Back to the Monolith?
To get a sense of the latter part you can check out the Spring Modulith project. It’s a modular monolith that lets us build a monolith using dynamic isolated pieces. With this approach we can separate testing, development, documentation and dependencies. This helps with the isolated aspect of microservice development with little of the overhead involved. It removes the overhead of remote calls and the replication of functionality (storage, authentication, etc.).
Mosby
-
How to start writing reusable components for Android apps?
Yep, and not only for the app layer. Plenty articles on that matter. I recommend you to read Hannes Dorfmann’s story on MVI since a lot of useful concepts and ideas are there. He elaborates on topics such as how to organise, test, reuse and maintain your code which is not a part of this article but those two topics are strictly related. On the other hand I’m not a fan of tools like Mosby or Moxy because I painfully found out they are rather constraining. Inheriting behaviour, state or plugins from base classes was catastrophic in our cases. Refactors and building custom behaviour for new screens were messy tasks and required much effort. Instead, use lifecycle aware components (again, see Android tools) or setup your architecture the way that you can call your business logic anytime. Some people calls it overhead. I would call it simplicity especially most of us happen to use caching.
What are some alternatives?
actio - The Node.js framework for microservices and monoliths.
Moxy - Moxy is MVP library for Android
Moleculer - :rocket: Progressive microservices framework for Node.js
nucleus - Nucleus is an Android library, which utilizes the Model-View-Presenter pattern to properly connect background tasks with visual parts of an application.
ThirtyInch - a MVP library for Android favoring a stateful Presenter
EasyMVP - A full-featured framework that allows building android applications following the principles of Clean Architecture.
RoboBinding - A data-binding Presentation Model(MVVM) framework for the Android platform.
AndroidBinding - MVVM for Android
Template for quickly initialize a new project
Villains & Heroes - Android app built with MVP architectural approach and uses Marvel Comics API that allows developers everywhere to access information about Marvel's vast library of comics. :zap:
Moviper - A Mosby based VIPER library for Android
Theatre - Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. 🎭