Implementation Path
Prepared By: Kianosh Pourian, UI Consultant Cielo Concepts Inc.
Independently developing the new framework for the front end code will create a new CSS, HTML, and JavaScript framework for the presentation layer.
Pros
Cons
Abandon the SPA (single page application) concept and build each major interaction i.e. adding a new element, editing an element, or removing an element on a separately viewed new page.
Pros
Cons
Attack the problem areas from the technology point of view. The order of attack points will be:
Pros
Cons
Keep the same JavaScript framework and evaluate each individual framework and library and create a migration path to update it to the latest version of the framework/library.
The migration path for going from JavaScriptMVC framework to CanJS (the latest version and evolution of JavaScripMVC framework) will be very hard and time consuming.
There is still an opportunity to separate the presentation layer from the business layer and it should be part of the process.
Pros
Cons
Take advantage of latest HTML5 elements i.e. section, article, aside, nav, header, footer
Take advantage of latest HTML5 APIs i.e. notification API, Websocket API
Create custom elements when necessary
Maintain the following goals:
Option 1 implementation path will be the best fit for the set goals. This approach will allow for a smooth transition from old code to new code with least amount of disruption. The minimal disruption will also allow for quicker time to market of this project, allowing the code base to reach a stable point where addition of feature will become simpler
Since there will be a branching of the code and two code bases will be maintained, the task resource management will become very important. The goals will be:
With the separation of the front end from the back end, there will be an introduction of a new environment that will require testing and deployment. Although this will create an additional effort, nevertheless this can also be advantageous in handling small development or enhancements followed by a targeted testing and deployment.