Wrong. And here’s why: mobile and responsive design is something you can’t have with just Apex and Visualforce.
When we build a Visualforce page we have to build also an Apex class that is usually called the controller of that page. The Apex class holds the server data and based on the requests from the page, it can alter this data. Because we are making requests from the page, most of the time we have to use a Visualforce tag <apex:form>. This tag automatically puts on the page something that is called the ‘View State’. The View state of your page is essentially a hidden form field that holds things like the values of all other elements of your page, so that then it can pass these values to your controller. For a more comprehensive understanding you can consult this article: https://developer.salesforce.com/page/An_Introduction_to_Visualforce_View_State.
View state goes back and forth between the browser and the server transferring data, every time you click a button on the page. On the plus side it makes it a lot quicker to build customized pages but the downside is it can have serious performance impacts. In fact, because we live in the cloud that we all know and love, there is a limitation of 135K per view state. So you have to optimize your view state very well to avoid performance issues.
At the time of writing, Salesforce has announced the big news we were all expecting: Lightning framework expands to the desktop apps under the name ‘New Lightning Experience’. All the processes described above to make something work in desktop and mobile, will now be done automatically from the Salesforce platform as opposed to previously having to manage this process by yourself. We will still have to get our heads around the front-end way of development of course. But on the bright side, a web app will be automatically responsive, interactive and dynamic. There’s not going to be server-reliance anymore, each time we interact with an app, and there’s not going to be a need to load your scripts as separate files.
So far, I was always keeping my hopes down about any new technology, framework, app that came along as so promising and innovative. Even when the lightning framework was announced from Salesforce I was quite apprehensive. For all the technical explanation I gave above, I was thinking that ok, we’ve got the mobile but what about an app that works everywhere, without having to work around it yourself so much?
It’s the first time in all my years as a developer that I am not keeping my hopes down anymore and I dare say, that Salesforce is pioneering by combining the power of the cloud with the power of client-side technologies. Of course lots has to be done still and Salesforce itself is admitting that by saying that things are still in ‘beta’. Trailhead for Salesforce: https://developer.salesforce.com/trailhead is an excellent way to find out more about lightning components, lightning experience and general Salesforce technical capabilites. It has more than 10 learning trails to follow and more than 40 individual modules, out of which approximately 20 are around Lightning technology. The information for Lightning components and Lightning Experience is explained in a very comprehensive and simple way at the same time and the best of all is that you get to earn trail badges and points when you complete challenges !
All it takes is signing up to a developer org – a salesforce free development environment: https://developer.salesforce.com/signup . You then automatically get access to trailhead and to developer forums for help.
I am waiting impatiently to get my hands on the new framework and start building a new promising world of web-apps for the ultimate user experience.