Mobioos.Scaffold's main objective is to orchestrate the execution and runtime of code generators. Code generators' purposes are various, some are focused on bringing a minimal quantity of code which let the freedom to edit it, like snippets for example. Some are used to go further in the automatization of code writing which is enabling the result to be functional source code in a faster way. In our case, we use these two strategies to create a bootstrap of the source code of applications called endocode of SmartApps. The generated endocode is meant to target a specific platform (Frontend, Backend, IoT) and a specific technology stack from each platform (Ionic, Xamarin, ASP.NET Core MVC 2.0, NodeJs).
The input of code generators in Mobioos.Scaffold's context is an object representation of the metadatas retrieved from a valid modelization designed on Mobioos.Forge. These metadatas, also called manifest metadatas, carry informations which help code generators to make their results in accordance with the variability integrated in the code meant to be generated. A maximum of these metadatas should be useful and used to generate a high percentage of SmartApps source codes, but it is adviced to let the freedom to edit parts of the generated code for the conveniences, generally in case of business logic implementations.
Writing code generators in the Mobioos.Scaffold's context requires knowledges on :
- C# programming language (see: C# Documentation)
- T4 Text templating (see: T4 Text Templating Documentation)
- Visual studio 2017 (Community Edition is enough)
- Generators project template (see: Mobioos Forge Scaffold Generators' Tools)
- Functional implementations of a specific technology to integrate in the code generation process
- SonarQube analysis (see: SonarQube)
- Backend generator codes samples : Generator ASP.NET Core MVC 2.0 - Generator codes samples
- Frontend generator codes samples : Generator Ionic Framework - Generator codes samples
- Installing & Testing
- Developer's roles