Evoke Generator
The Evoke Generator takes the App design, that you have created using the Evoke Designer, and creates the complete executable code for a deployable web or native app.

As part of creating a deployable app from your design, Evoke will create a full and complete, structured Visual Studio solution that contains 100% of the source code of the app. This source code is delivered directly to your PC and always remains accessible to you.
This process provides the folder structure for immediate deployment of your app. It also provides you with all the power, versatility and features of the industry standard IDE Visual Studio, for customization to be added to the app, if desired.
Any custom code that you include or produce, together with the Evoke generated code, is then included in a single Visual Studio/Xamarin solution to enable onward deployment to a web server (web app) or to an app store (native app).

Design Validation
As part of the Generator process, Evoke will validate your entire app design and will produce warnings and error messages that guide you in order to correct any accidental mistakes or inconsistencies. Potential issues such as a template that you may have created but forgotton to use, etc. are identified, together with guidance for the suggested correction.
The app design validation process ensures that your generated app design code is ready to either access in Visual Studio or to deploy for your users.


Database Integration
In respect of your database, the Generator contains the "wizards" that guide the integration with your database(s) and manages the connectivity verification.
Once connected Evoke can "import" from the database schema, the data model for the "UI data structures" that you want to use in your app. Alternatively (if you do not have existing database files/tables) Evoke can automatically create tables or columns in your database, based on your app design.
Any selections, used to select/retrieve data from your database, also have their "selection filter clauses" set up in the Generator section, together with confirmation of any related data (joins, link tables, remote keys, local keys, embedded multivalues, etc.) that describe your data. You are able to use table/object keys or other data elements to describe related data.
With Evoke you will not need to change your database, the structure of your database or any part of your database. In addition to a full range of "calculated UI only properties" that you can create within your app design, Evoke provides for data conversion of fields/columns when they are read from or written back to your database. As an example, conversions of this kind may include changes in numbers of decimal places, true/false conditions etc.

Multiple Databases & .NET environment
The Generator is where you can set up connectivity and integration with multiple different databases of multiple different types within your single app design.
A mapping area, within the Evoke Generator, allows you to visualize and define which data (used in your app design) is in which tables/objects and in which database.
When the databases are identified you are able to target the generation of your app design (via a selector) so that it will run appropriately and connect in the following different .NET environments:
  • .Net Classic - allows the resultant web app can be hosted in a Windows environment.

  • .Net Core - allows the resultant web app can be hosted in a Linux environment.


Adding a Unique Touch/Custom code
The Evoke app generator converts your app design into hard IDE content (in the form of a full and complete, structured Visual Studio solution that contains 100% of the source code of the app) in order to not only allow for the deployment of the app, but also, if required, for existing or new customization/content to be added to the app. Once generated the full source code of your app is delivered directly to your PC and always remains accessible to you (with all the power, versatility and features of Visual Studio) to add any customization.
The Evoke Designer allows you to add Evoke's unqiue 'Code hooks' anywhere throughout your app design. These are identified as 'placeholders' in your generated app and any custom code you add on a 'Code hook' is preserved without any need to re-apply each time you update and re-generate your app design.
This custom code can be:
  • Existing code that you have, called as sub-routines or included in your app code, in any of the numerous coding languages supported by Visual Studio (or Data Basic in the case of MultiValue databases).

  • New custom code that you write to add a unique touch to your app.

  • Functionality from any industry standard Component Libraries (e.g. jQuery, ASP.NET, Knockout etc.)

  • APIs to integrate with other apps, applications and systems

  • Any other custom written or third-party code that you want to include in your app.

The developer is given the best of both worlds - quick and easy application construction using Evoke, along with unrestricted enhancement and customization capabilities within Visual Studio and/or at the Database level (Data Basic for MultiValue and Stored Procedures for Oracle/SQL).
At any point during the app design process, you are able to enhance your app design using Evoke. Re-generate your app using Evoke's generator and all of your customization is preserved and re-included in your Visual Studio solution or database.
The resulting Visual Studio projects created by the generator (and as customized by you) represent a complete end-to-end solution for your app. They also provide the UI for each required run-time platform, the RESTful web service used by the UI and all of the necessary back-end code required for full interaction with back-end repositories and databases.
For MultiValue databases the Evoke Generator will have also created the Data Basic Create, Read, Update, Delete (CRUD) code, based on your specific database & architecture, on the database server. The CRUD code contains 'Code hooks' for you to use to call existing Data Basic subroutines, write new Data Basic, include existing Data Basic code, etc.

App Icon Management
Native apps in particular, require a number of Icons as part of the app. Generally a native app would have at least:
  • Main app icon (for a desktop/homescreen Icon, main app window title bar and exe file)

  • ico (for inclusion when the app is running)

  • Setup executable icon (to identify the setup routine for each app)

  • Splash screen image (used on the initial app load splash screen)

The Evoke Generator provides the ability to configure these and also direct links to recommended icon creators / logo convertors to help produce these icons and include them in your app.

App Deployment
Once an App Design has been generated by Evoke it needs to be deployed so that users can access it. Native apps are deployed to app stores. Web apps are accessed via a URL on a web server e.g. Https://www.appevoke.com/ExampleApp.
Deploying an Evoke built web app is straight forward and detailed step by step instructions are provided regarding some of the different options for web app deployment once you have generated your Evoke App Design.
Although actually deploying your native and web apps is not part of Evoke, our support team have been through the process many times and are happy to assist all Evoke customers through the steps to deploy both native and web apps.