Bridje: A Java Framework [ES/EN]
- Project length: 7h 51m
Bridje Java Applications Framework. A project that provides a set of Java APIs to be use in Java projects. Bridje can be compared to Spring but it´s more simplistic and lightweight. The project brings you a way of doing things that is not compromised by any JSR. The goals for this project are: Simple: We try to follow the KISS principle, we avoid providing too much ways of resolving the same problem. Reuse: We try to reuse concepts as much as possible in the framework internals and in your apps, so they both use the same things . Minimal: We try to reduce the dependencies of both the framework and your application to the minimum necessary. This means that for many things we make our own implementations instead of using a third-party APIs. Multipurpose: The framework is mean to be use in CLI, desktop and web apps. Standalone: Your applications can run by themselves, no further server or container is needed besides the Java Virtual Machine. Embedded: The APIs are designed to be embedded in your applications and not the other way around. Modular: You must use what you need, and in some case some unavoidable dependencies but you are not force by any means to put in your classpath any library that it´s not absolutely necessary, for the framework or your app. Performance: We try to reduce to the maximum the overhead of the framework and enforce you to use good practices in your app to gain maximum performance Low Memory: By reducing the amount of classes and code, and by enforcing good architectural patterns in your app the memory consumption can decrease a lot. Productivity: We try to reduce to the minimum possible the code that it´s not part of your applications domain logic, without taking away from you the control that you need as a software developer over your code. Robust: We try to enforce encapsulation, static typing and all the nice features that Java as a language has to offer. So not your code, nor the framework itself it´s easily broken. Scalable: We try to enforce practices and patterns that cost you the same amount of hardware resources (more or less) no matter the amount of users you will handle in production. All of these goals are really ambitious, and at many times one or more of them need to be sacrificed in favor of the others, but we think that is a matter of balance and priorities. So the framework will orbit around these principles.