Thursday, May 14, 2020
.NET Core and Entity Framework in Code On Time v9 and v10

.NET Core

The application framework of apps created with Code On Time is not relying on the Entity Framework at all. Our framework uses exactly the same low level data access layer called ADO.NET as the Entity Framework does.

Our framework does not make use of ASP.NET MVC, Razor, Blazor, or any other cool things that Microsoft has introduced over the years.

Our primary objective is to deliver the rapid application development of business applications. Code On Time allows creating an app that works online and offline on any screen size. No other tool can deliver that! Apps created with Code On Time have the built-in support for Barcodes, QR codes, and RFID tags.

The transition to .NET Core will not introduce any tangible performance benefits for the applications created with Code On Time, since we are using on the low level API of ASP.NET to interact with the request and response of the HTTP context on the server.

Having said that, supporting .NET Core is our primary objective going forward.

This is what we are doing to make it happen:

1) Recently we have introduced an option to rapidly build apps in command line - https://www.youtube.com/watch?v=5JrDVm41v-8&list=PLy2g3SjvDe2b2cl9i0msBaMVLntQucZtb&index=9&t=0s.

2) Presently you are customizing projects in the Windows-based Project Designer and pushing theBrowse button to see what happens.

This summer we will introduce the new development environment that will become a part of live apps - https://codeontime.com/roadmap#cot-v9. The project designer will activate directly on top of the live app. The new designer will feature a Project Explorer Hierarchy, the Properties Window, and live inspection of app components with drag & drop capabilities. It is based on Touch UI.

The new live designer will execute the app generator with command line options in response to the developer's actions.

The introduction of live designer environment will be signified by Code On Time v9.

3) The application framework will be refactored to introduce the new AppCore class that will provide access to the request and response of ASP.NET in abstract fashion. We will encapsulate all dependencies on ASP.NET into this class.

Next we will introduce an option to generate apps for .NET Core platform. Apps based on .NET Core will feature the same code based but a different implementation of AppCore.  That implementation will make use of APIs specific to .NET Core platform.

You will have an option to build apps both for ASP.NET and .NET Core.

4) At this juncture your apps will run on .NET Core platform and will feature a live built-design environment based on HTML+JavaScript. The only Windows-specific dependency is the command-line app builder/generator.

We will refactor the command line app generator for .NET Core.

Code On Time becomes multi-platform thanks to .NET Core.

It will be possible to build apps on Windows, Mac, and Linux with Code On Time v10.

5) We will begin offering a new option to build apps called Cloud On Time. It will be web-based with a monthly subscription payment model.

Entity Framework

Entity Framework will be supported in the Model Builder 2.0.

Object stores and non-relational data sources are found frequently in the foundation of modern enterprise applications.

We will upgrade the Model Builder to support non-sql data sources and APIs. It will be possible to construct a model by referencing the REST API URLs that are reading, updating, inserting, and deleting data.

Such models will result in the "shell" classes produced by the app generator. The data controllers will invoke the class members using the same technique available to Code On Time developers for many years - https://codeontime.com/learn/data-controllers/creation/from-web-service. There will be no need to write any code for that though.

The new Model Builder will have a built-in knowledge of Microsoft SharePoint Lists with simple point-and-click selection of available options. Developers will be able to take a SharePoint list online and offline in a slick package!

The new Model Builder will know how to construct the "shell" data access classes from the Entity Framework of the application with the visual selection of objects and methods. Simply add a data model to your app created with Code On Time and describe the entities. Go to the model builder to setup methods to read, update, insert, and delete data.

The application framework of a Code On Time app will treat the internal Entity Framework data model as an external REST API.

Multi-Platform App Builder

Only Code On Time will make it possible to build apps with the server code executing on Windows, Mac OS, Linux, and the front-end executing in the modern web browsers and natively on iOS, Android, MacOS, Chrome OS, and Windows in online and offline mode!

Apps with automatic responsive design display perfectly on the screen of any size. Built-in support for barcodes, QR codes, RFID tags, geo-location, and optional Kiosk UI make it easy to develop business applications.

The design environment is the part of the live application!

Build your apps on Windows, MacOS, and Linux.