[SalesForce] visualforce vs HTML/CSS/JS

UI requirement for our application are such that applications should be very responsive with very less lag time. Users should be able to use mobile easily while working with application. There are few page navigations, but on most pages data gets captured from user in form of different questions and some input fields. It does not look like traditional salesforce UI. developers in out team are debating whether we should use visualforce or should we build whole UI using HTML/CSS and some JS framework. Some developers are advocating building entire application with JS events, JS remoting.
Most developers have good visualforce skills and have basic JS skills.
What factors should we consider while deciding to go with visualforce or with HTML/JS/CSS. We will be building a custom app that will be available through Community.

Best Answer

Visualforce gives you more of the "salesforce look and feel", but remoting tends to be at least 10 times faster for any type of page, even if you use actionRegion elements, and actionFunction/actionPoller elements for partial page refreshes.

In my personal experience, you'll find that skipping Visualforce altogether will yield massive gains in performance. However, do keep in mind that there are limitations to remoting that make it undesirable, including a smaller maximum payload and the inability to manipulate the server's view of the session.

However, the server-side view state feature (coming soon to a server near you) should reduce the difference between the two technologies, but it would still be a few times slower than client-side rendering.

If you're not concerned about providing a salesforce standard look and feel, and you don't want to use the view state, use remoting whenever possible. The gains in speed are amazing. For example, a page that takes 100ms to respond in Visualforce takes closer to 10-20ms using remoting, and a page that takes well over 1000ms in Visualforce scales to about 30-50ms.

Related Topic