NovinNews

September 2018

Novinsoft Technology Roadmap
Background

The last few years have been marked by the shift from Windows everywhere to a more fragmented world of multiple platforms / OSes. While the enterprise / line of business space moves much slower than the consumer space, change is coming here as well. Microsoft itself has recognized this shift and has responded by positioning the .NET development stack as an open source / cross platform development solution, something unthinkable even 5 years ago. As a result there are now multiple .NET implementations.

The most promising, .NET Standard (an interface, not an actual implementation) which represents a promise by Microsoft that code written to the .NET Standard specification will run on all implementations.

At Novinsoft, we are responding to these developments by re-architecting our development framework and processes to ultimately provide a cross platform .NET solution to our clients. As this is an enormous undertaking we are taking a phased approach with concrete deliverables throughout 2018/2019.

Phase 1 – Re-architecting of web platform (Completed May/18)
Server side
  • Refactor the application into two completely separate parts, a web server and an application host that can be deployed on different machines. Middleware is targeting .NET Standard for cross platform compatibility. The web server does not have any dependency on the app engine, is developed in ASP.NET Core and can be deployed on Windows / Linux servers.
  • A RESTful application model. REST (Representational State Transfer) is a model for developing networked applications matching the underlying HTTP protocol, which is stateless (each request is independent of the previous one). What this means in practice for an interactive application, is that the state of the user session is stored on the client and the relevant portion is passed to the server with each request, making it completely self-contained; it has everything that it needs for the server to process it and send back the appropriate results. A RESTful application can provide major advantages in reliability, scalability and deployment simplicity as the significant burden of maintaining the session state is distributed to the clients and server-side resources are in use only when a request is being actively processed.

Client front end
  • Node.js development stack
  • Webpack as the build / distribution system; for producing a streamlined, optimized deliverable from the development machine to the server
  • Typescript code instead of pure JavaScript. Typescript is a new language developed by Microsoft as a superset of JavaScript and it brings major advances to JS development; strong typing and browser independence. Since it does not run directly in the browser but compiles to clean JS code, it allows most programming errors to be caught at build time, rather than at runtime in testing or production. It also fully integrates with Visual Studio.
  • ReactJS as the UI development library
  • Even with these major changes, the actual end user layout and styling is still done with the Bootstrap toolkit so the look and feel of the applications can remain the same
Phase 2 – A modern UI suitable for current device form factors and high DPI displays (ETA 2nd Half 2018)
Existing Windows Forms based UI has been in service for more than 10 years, it is no longer suitable for today› world of multiple device form factors and high DPI displays.

Using React Native as the UI development toolkit. The principle behind React is “Learn Once, Write Anywhere”, a twist on the Java slogan “Write once, run anywhere” which as its critics point out has turned out to really be “Write once, debug everywhere”. The idea is that React Native and ReactJS are not identical, but they follow the same development approach in defining the UI components using encapsulated JavaScript components. Out of the box React Native provides support for iOS and Android, while Microsoft provides a React Native plugin for Windows. There is also an open source effort to bring it to the macOS platform. This is currently our preferred approach to modernizing the UI for locally installed applications.
NovinNEWS
Keep up-to-date on news, events and releases from NOVINSOFT
September 2018
Our 25th Anniversary
September 2018
Novinsoft Technology Roadmap
July 2018
Par, Par and Not Par
January 2018
Some 2017 highlights
January 2017
Thank Goodness – 2016 is over!
January 2016
Empire Life Web/Mobile Illustration System
September 2014
Recent Client Highlights
April 2014
Tech Meeting
December 2013
Novinsoft goes to Asia
September 2013
Equitable Final Protection
May 2013
20th Anniversary Client Meeting
News archive
See more NovinNews