The core idea of the Next Data Engine is to make the process of developing software easier, quicker and cheaper. While you could create all the features and functionality that is provided by the Next Data Engine, it is far more efficient to use the engine than pay developers for thousands of hours to write the same code. To assist in the process of increasing your organization’s software development efficiency the Next Data Engine includes a feature called the Scaffolder.
In a typical software development project you will need to plan your solution, work out each of the features that will be required for your recipe, find and install middleware systems (such as messaging, identity and web servers), create a new software project in your IDE, set up assemblies, create directories, download templates for your solution (such as web page templates) and glue all of this together before you even start to create your own bespoke solution.
The purpose of this Scaffolder is to remove this idea of “file new” from the software development cycle. The Next Data Engine provides all the functionality that will be required to create the vast majority of applications without having to install other packages or software to create the solution. This allows the scaffold to deliver an entire working application that can be immediately run using the Next Data Engine.
This working application encompasses all of the functionality contained within the Next Data Engine. This includes the job scheduler, messaging system, identity system, web services, shell commands, view models, settings, micro-services, and a working web application. Each of these features can be easily accessed and played around with within minutes of scaffolding a new solution. The scaffolder also generates all the project set up that will be required for your solution. This includes separate assemblies, dependencies, build executables, readme files, Nuget configuration, package configuration files (for the Next Data Engine packaging system) and directories.
This means that developers can quickly create a new solution and have it running on the Next Data Engine within minutes of starting the project. By skipping much of the “file new” process, developers will save a large amount of time and money and thus able to focus their efforts towards creating their specific business logic for the application. This, in turn, will mean that developers are able to create better applications at a lower cost for investors, business owners and customers.
The root directory generated by the default Scaffolder is shown on the right. You may notice that the name of the directories and files are perhaps not what you want for your project but don’t worry all of these can be configured when scaffolding a new solution. Configuration options include name, namespace, company, copyright, trademark, URLs, emails and databases.
Because the scaffolder provides an entire working application, in one hit, developers can then pick and choose which features they need for their solution, thus the default scaffolder is known as the opinionated scaffolder. Don’t need a shell component? Just delete it. The project has been set up with minimal coupling, so feel free to delete any features without worrying if it will prevent your solution from building.
Want to use several job components for your solution but don’t know how they work? Simply open the example job component provided and read through the file to find out how it works. Alternatively, you can use the tutorials provided on our documentation site if the concepts don’t make sense at first. Each of the examples provided in the scaffolded solution have been intentionally designed to showcase the entirety of the Next Data Engine’s available features. For example, the job component shows how to generate CSV files, audio, send messages and create spreadsheets. The web applications demonstrates view models, multi-user access control, pages, menus and web APIs. Additionally, the whole generated project showcases how components are utilised to increase the modularity of your applications.
Currently, the only available scaffolder focuses on a complete web application (amounts other generated functionality). However, the scaffolder for a mobile application is currently in development. There will also be many more scaffolders available in the form of user made scaffolders. Because the scaffolder itself is a component in terms of the Next Data Engine, users can create their own scaffolder components using the base scaffolder component. These new scaffolders can also be made to be dependant on each other and run in a specific order. This means that talented developers can create their own scaffolders designed to deliver specific extensions on our provided functionality or extensions on the functionality provided by other user-created scaffolders. You will find these scaffolders in our package store.
The scaffolder uses objects that are representations of the given classes instead of blocks of strings common in standard tempting solutions. This allows the developers of scaffolding components to include code analysis in their packages. These analysers will make it easier for the users of these packages to find better ways to implement the packages to create their solutions.
In conclusion, the scaffolding system provided by the Next Data Engine will significantly increase the development efficiency of your organisation by reducing the “file new” process to a simple matter of opening the scaffolder, setting a few options, and it outputting an entire working solution for developers to customise. Once you have installed the Next Data Engine, check out the Scaffolding Tutorials section to learn how to fully utilise the power of the scaffolder.