Welcome to ciysys blog

Decoupling the front end from back end

Published on: 26th Sep 2017

Updated on: 10th Jan 2022


We used to develop the entire system using ASP.Net web form or MVC. It sounds logical to build everything with the back end coding except for some validation processes using JavaScript (which runs in the client browser).

The problem with this approach is that it's very hard to shorten the development time because the file sharing is the big headache when the team gets bigger. Parallel development requires massive collaboration. another biggest headache is if the customer wants to replace the back end code from C# to golang or Node.js, it is going to be very challenging.

For example, you want to develop an Online Shopping cart which has the catalog for public access. If you are using ASP.Net web form to develop the system, then the front end and the back end will be either in one file (ASPX) or two files (ASPX + ASPX.CS). If you are using MVC, you will have more "moving" components such as the model, view and controller. It's even harder to to sync the source codes among the development team.

What we have done differently

We decoupled the front end from the back:

The benefits with this approach

To the front end developer,

To the back end developer,

The catch

There is only one thing that both the front end and back end developers must agree: the API interface. Whether you want the REST API or a simple URL API (please refers to System design with ASHX web services (JQuery + AJAX + partial HTML UI) ).

This is great. Isn't it?


We have been following this development concept for many years and we found it very helpful. It makes both the front end developer and back end developer happier.

Jump to #SYSTEMDESIGN blog


Lau Hon Wan, software developer.