Hiconic
introduces reflective and reactive modeling for any domain to efficiently support both domain-specific and generic coding. It does so to establish homoiconicity on a whole new level, going beyond the typical definition for programming languages. Still, in a classical sense of homoiconicity, Hiconic
applies this modeling to the identification and parameterization of functions, normalizing function calls as data. This normalization empowers seamless networking by decoupling from specific formats, protocols, or programming languages. As a result, Hiconic
provides a crucial foundation for future-proof interoperability across distributed, decentralized, multilingual, and AI-powered environments.
The essence of Hiconic
is a (new) paradigm based on consequent application of modeling to different aspects of SW development.
On the lowest level we offer what can be considered an extension of the programming language - a type system dedicated for defining entities (data types). This contrasts with languages usually using classes with fields and getters/setters, which frankly sucks.
Our data types are treated as first class citizens, allowing much more nimble and flexible data manipulation than classes. E.g. our types have their own reflection, which treats them as entities with properties rather than classes with methods. This makes writing generic algorithms and useful APIs easy, and it comes very naturally.
On top we have a whole ecosystem (for lack of a better word) of tools/extensions/platforms that take advantage of the model-driven approach. Over the years we've kept applying modeling to many aspects of SW, as it turned out to lead to significantly more robust architectures (see the link to Our Vision
below for more details).
For the record, we offer this technology for both Java
and JavaScript
.
The primary "product" showcasing the model-driven paradigm is a platform called Reflex
, an alternative to e.g. Spring Boot
or Quarkus
. It applies modeling across many domains like configuration, APIs, error handling and more, leading to intuitive designs and lots of convention of over configuration.
Seeing the enormous popularity of Spring Boot
, we are also working on an integration for this platform. Stay tuned!
We also offer a JavScript
library (with TypeScript
declarations) called hiconic.js
. It manifests our core technology (espacially support for modeling), is perfectly compatible with the Java
based back-ends, and runs in the browser as well as on Node.js
.
👉 If you have any questions join our Discord.
- Our Vision - high level introduction to our technology
- Reflex - Getting started - simple tutorial for our microservices platform
- Reflex - Home - home of our microservices platform
Location: https://eclipse.hiconic-os.org/beta