You may already be aware that modern web applications are now more commonly modeled around desktop-like implementations. All this is based on a programming model that does not need to write a single line of JavaScript. The integration and handling of such frameworks is a challenge, but ICEfaces is the first enterprise AJAX framework that places the integration aspect at the center of its design. Once you start to use the components in PrimeFaces for things other than trivial showcase examples you quickly run into a lot of problems and limitations (I'm grateful for PrimeFaces, but thought I would provide a little constructive feedback).ICEfaces is an Enterprise AJAX framework which allows you to develop modern Web 2.0 applications, using AJAX to implement desktop-like behavior. I also hope that 2.2/2.3 focuses more on fixing up bugs and making the component library more useable in general. Post on Primefaces forum that is quite revelent : Thanks Mathieu for correcting the spelling of the article! ) ĭear Icefaces, Primefaces and Richfaces users, if you see some improvements please post a comment. If a winner should be decided it would be Richfaces since I have been quite disappointed by Primefaces. Richfaces is between Primefaces and Icefaces closest to Primefaces. Icefaces has clearly the worst performance on datatable on all test. Primefaces has the best datatable implementation although buggy (I hope Primefaces 2.2 will correct all the issues). To be complete the generic components (tab, tree.) have to be tested too in order to make a robust conclusion. Richfaces : 9400 requests ~900MB : ~100KBĬonclusionThe page used for the test is quite simple and does not reflect a real page nor the global performance of these frameworks.I took the JVM memory consumption and the number of requests done : You can basically have three time more users with Primeface than Icefaces (considering it is growing lineary)īecause Icefaces OOM my JVM very quickly without a cookie manager I did a very simple calculation on session size. Test setup : Core 2 Duo 3Ghz 64bits, 2GB dedicated to the JVM. Server loadI have created a simple unit test which executes 10 concurrent threads with a cookies manager. So the question is, why does it do that when we don't need them? Knowing that I put an id only on the components i needed to update that means JSF autogenerate the other Ids by itself. The table contains ids and classes only on rows.īut what if the data changes on the server side (delete or add) ? An user action on the paginator doesn't update it. The paginator is updated on the client side. The Icefaces paginator block is quite big, more than the datatable block. The table contains ids and classes on all cells. Icefaces and Richfaces send the paginator and the table. Richfaces can gain 80KB by using JQuery min and be below 200KB. Icefaces and Richfaces don't used minified JS. Creating an unit test with HtmlUnit is quite simple and I did not met issue requesting Icefaces, Primefaces and Richfaces for the purpose of this article. Page size benchmarkI'm measuring the page size and the ajax response size with HtmlUnit. The datable is binded to an ajax paginator which display books 15 by 15. Test setupThe datatable will display a list of books with 3 columns : ISBN, author and title. I will focus on efficiency : page size, ajax request/response size, server load, and not on features. In this article I will bench the datatables of 3 JSF2 components frameworks :
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |