StrataCode Introby Jeff Vroom
If you're here, hopefully you are a programmer interested in what it takes to build a customizable software platform, or at least interested in software architecture. StrataCode adds new declarative operators and uses code-processing to let you build reusable, customizable components from Java. Not only can you build declarative applications, you can quickly construct management UIs directly from application objects, which themselves can be customized. These are the key components of a fully customizable SaaS platform that supports excellent tooling and long-term code lifecycle management.
StrataCode's design supports separating framework and application code, reducing code-copies of the domain model (i.e. the core business logic) making it easier to build, maintain and change. The code-preprocessor preserves static typing for strong, flexible frameworks and a new level of code-reuse, and deployment efficiency.
This is a long-term project, coming out of incubation, written primarily by one programmer. It was inspired by my twenty year career building frameworks and the desire for a set of frameworks and tools that provided me with maximum leverage for building a customizable platform. I'd like it to contribute to a healthy ecosystem of innovation, and collaboration among developers selecting only the essential software patterns to build efficient, customizable, and robust systems from readable, maintainable code.
StrataCode has taken a leaner approach than most Java frameworks and has essentially no library dependencies beyond what's provided in the Java runtime. I've found that software designed by committee is not the only way to build great software. Sometimes one person following and a vision, and refining it with experience can produce a starting point for something bigger and hope that's the case here with StrataCode. You be the judge, but I believe StrataCode has evolved into a nimble, easy-to-read code base, where problems are solved quickly, where fewer dependencies increases security, and reduces long term cost and complexity.