What is Yellicode?
Yellicode is a next generation code generator. Unlike most code generators, it lets you build code generation templates with any IDE and on any platform. Yellicode was built with extensibility in mind, meaning that it provides the core APIs to build code generation templates, but can easily be extended for specific programming languages or technologies.
Yellicode uses TypeScript - one of the most popular programming languages - and runs on Node.js, meaning that it is fast and that extensions can be easily shared on NPM, the world’s largest software registry.
Model driven development
The advantage of code generation is limited without an underlying model of your code. Therefore, Yellicode provides a free and fast modeling tool that was built primarily for this single purpose. Of course, our templating APIs and Yellicode Modeler both speak the same language.
Or, why code generation in the first place?
Code generation has existed for many years now. It’s repeatable and can save you from lots of time and programming mistakes. If you feel like you are copy-pasting code over and over again because you need to apply the same pattern to another part of your domain, there is a chance that you can build a code generation template for it (you do know the DRY principle, don’t you?).
So, why isn’t everyone generating domain classes, data access layers, REST APIs and UI code? Off course, code generation comes at a cost and just doesn’t fit everywhere. However, there are some current challenges that Yellicode can take away.
So, what problems are you trying to solve?
It’s impossible to mention the pro’s and con’s of all existing code generation solutions, because there are many of them, some of them built for a specific purpose. But in general, Yellicode tries to overcome the following weaknesses:
Lack of flexibility
- Code generation templates are often built into modeling tools. This makes it difficult - or even impossible - to adapt the code to your personal preferences or company standards.
- Code generation templates often require a custom, proprietary templating language. This adds a learning curve that might hold you back from code generation.
- New technologies and frameworks are released frequently. So even if your tool allows for custom templates, you still might have to build that [insert latest shiny framework here] template yourself.
Lack of IDE support
If you look around the web in search of code generation solutions, you will soon hit Eclipse. This is not a surprise, because Eclipse provices a rich modeling and code generation ecosystem named EMF. But if you are not an Eclipse user, you are out of luck.
Some Visual Studio users may be familiar with T4 templates, but many users find them painful to use. T4 template use a custom syntax, and intellisense and syntax higlighting is only supported by installing 3rd party extensions.
And how does Yellicode help?
Yellicode provides the community with the engine and APIs to make building code generation templates easy (and, we hope, even fun).
Yellicode is built on top of Node.js, which has 2 major advantages:
- You can use NPM - the world’s largest software registry – and assemble your code generation templates from already existing packages.
In addition, Yellicode offers a free, fast modeling tool that let’s you create your code model within minutes.