Improvements to AJAX and Performance in XAF ASP.NET UI (coming in v2011 vol 2)

XAF Team Blog
07 October 2011

Recently I sat down with a few members of our eXpressApp Framework Team to discuss some of the features we'll introduce in the upcoming release of DXperience v2011 vol 2. Here are Serge K, Leo K DiCaprio  and Dmitry S in their own words...

HolyXAF3

Q: Guys, briefly describe what you have achieved in this release.

A: XAF ASP.NET applications now use AJAX-based rendering for nearly everything. This means that only small modified elements of the web page markup are sent from the web server to the client’s web browser via callbacks. Thus, the web page is now updated smoothly. If a part of the page is static, there is no need to render it by the web server on each HTTP request and send its markup to the client.

Q: How will these improvements affect performance and traffic?

A: Actually “performance” is a very broad term and there are a lot of metrics to measure it. Let’s address some web request-response cycle steps affected by our improvements. As you know, every web request takes time to connect to the web server, to send a request data to the server, to process this request, to render a result, to send this result to a browser, to render the received HTML in the browser, to process startup JavaScript and after that an end-user can interact with the page again. Previously, we reduced the “process-request” time in the described cycle. We have now improved the other aspects. Web applications now produce about 25% less HTTP requests than before. In other words, since the web server can now render only small portions of the page and not the whole thing, it can allocate ¼ of its work time to better serve other users requests. Based on measurements, the web server now produces 3 times less HTML markup, which can also be transported 3 times faster through the wire (these numbers may vary depending on the end application UI). It is also important to note that now the first request is processed much faster, and an end-user can start interacting with the page before the startup view is fully loaded. Also, web browser now executes common startup Java Script code only once when you open the application’s startup page.

Q: I presume it significantly improves the overall usability? In other words, what does it mean for end-users?

A: Of course, end-users will love these enhancements because the application is now more responsive and performs smoothly. For instance, imagine that you have a detail form with payment info and want to calculate its amount  based on some rate and man hour values. When you change these values, the amount should be automatically updated. This now works much more smoothly, without any reloads of the page. Our measurements showed that in v2011 vol 2 the same scenario can be performed 1.5 times faster than before.

Another nice addition, which is worth mentioning here, is that while working on this feature we overcame previous limitations preventing the web browser’s Back and Forward buttons from functioning correctly under certain circumstances.

Q: What do you plan to change or improve in future versions of the XAF ASP.NET?

A: First and foremost improvement will continue in the area of performance. As you know, we have been committed to improving overall application performance through our latest releases (one, two, three). That has allowed us to drastically reduce web page size and the number of requests sent to the web server  (and hence overall traffic). We are confident that we have not yet pushed it to its limit and we believe we can continue our optimizations in future versions.

There are also a couple of other interesting new features from our backlog worth mentioning:

  • Implement simpler and more user-friendly URLs for XAF Views;
  • Replace standard web browser popup windows with the ASPxPopupControl.

These are the most popular requests related to ASP.NET UI improvement from our customers.

Demonstration

The team prepared a short video demonstrating how the MainDemo.Web application shipped with XAF operates in v2011 vol 2 (the video is large, so you may want to right-click and choose the “Show All” option):

--> Get Adobe Flash player -->

Do you like what you have read or seen? Please let us known. You input is greatly appreciated!

Happy XAFingWinking smile

Free DevExpress Products - Get Your Copy Today

The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We'll be happy to follow-up.
No Comments

Please login or register to post comments.