Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 398
  • Last Modified:

How much formatting to perform on the client in Javascript

I'm rewriting a 2005-era ASP.NET app that currently does most of the display formatting on the server by building HTML strings which are then sent via xmlhttprequest to the client.  

I can see how I might use MVC/Razor/JQuery/JSON/AJAX to just send the data content to the client, and let the client do the DOM display object construction, even if it requires a good bit of business logic.

> At the moment I'm not overly concerned about exposing the IP of the display logic in the client javascript.
> For this application a "large" completely formatted div in the app might run 500K of HTML of which no more than 50K of data would be data (average would probably be more like 250K and 25K).   There could be three such divs being displayed (overlapping) at any one time (along with a few much smaller ones, essentially popups).
> I'm hoping to run the app on PCs, tablet and phones.

What I'm hoping to find from EExperts is:
==> input/ideas/views on how to decide whether to put the display logic in the client, or keep it back in the server.

Any help with this would be appreciated.

2 Solutions
Chinmay PatelEnterprise ArchitectCommented:
Mostly if it is not business critical or security related, I prefer to build display on client side leaving my server free to do what it is meant to  do : Serve(the server side content and execute server side logic).
Gary DavisDir Internet SvcsCommented:
I'd recommend returning the data in JSON format which is native to javascript and then using a templating solution to format and iterate thru your data. A popular Template technology is included in Knockout.js. See How to Use Templates in Knockout.js.

Gary Davis
codequestAuthor Commented:
Thanks for the input.  Those are clear recommendations for separation of concerns and a pointer to a tool that indicates client side formatting is best practice.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now