Wednesday, 20 August 2014

Aura extension to Visualforce

 Aura is a UI framework for developing dynamic web apps for mobile and desktop devices. Aura comes with a rich and extensible component set to kick start building apps. You don't have to spend your time optimizing your apps for different devices as the components take care of that for you.The framework intelligently utilizes your server, browser, devices, and network so you can focus on the logic and interactions of your apps.   


Some key features of aura include:

·         Tag-based layout & component definition
·         Encapsulated UI development with a strongly typed event model
·         Object-oriented programming behaviors (extends, implements, abstract)
·         Encapsulated bundles with models, controllers, CSS, static resources and markup
·         Integrated functional and performance testing (did you expect any less?)
·         Mobile, mobile and mobile-ready

Salesforce1 is indeed built on Aura It is also using the Salesforce Mobile SDK as well. This great collection of Dreamforce 2013 sessions featuring Salesforce1 also references the Aura session.   Aura really is, the journey SF have taken with it since Salesforce Touch  and a sneak peak at where it is going as native platform feature!. The source code is shared in GitHub, so you can even try it out and contribute!.Aura uses standard HTML5 features and thus infact runs in most modern browsers, you can modify your own browser url to see it, via /one/one.app (note that Salesforce don't support this, but it is a useful way to explore and test). As regards the container Salesforce1 uses thats driven by the Salesforce Mobile SDK, which itself hosts an instance of the mobile devices own HTML5 container. You can read more about via the Salesforce Mobile SDK link. 

 You can go through the Aura docs and they have an excellent tutorial that guides you through building an app. You can view the Salesforce1 source when viewing the one/one.app in your browser and see where they use some of the components, such as the abstractList component. It is a very interesting and powerful framework. Aura comes with a rich and extensible component set to kick start building apps. You don’t have to spend your time optimizing your apps for different devices as the components take care of that for you.The framework intelligently utilizes your server, browser, devices, and network so you can focus on the logic and interactions of your apps.

On top of that, Aura has a bunch of other benefits. Some other interesting things to note about Aura:
It is open source Aura lives on GitHub and can be forked/modified at any time. You can even contribute bug fixes or functionality changes!
Aura is not native to the Force.com platform Unlike languages like Apex and Visualforce, Aura does not require Salesforce. It was built for Salesforce, but it can be used by any developer. This will open Aura up to a much larger set of developers. In conjunction with it being open source, this framework will grow at a drastic rate Aura is built using object-oriented principles Aura provides the basic constructs of inheritance, polymorphism, and encapsulation from classic object-oriented programming and applies them to presentation layer development.
Aura heavily utilizes events to interact with different components
It is important to understand to the concept of event-driven programming If you have ever developed with JavaScript or Java Swing, you should be familiar with the idea of event-driven programming. You write handlers that respond to interface events as they occur. The events may or may not have been triggered by user interaction. In my opinion, Aura is the way of the future. It is going to be a fast, heavily tested mobile-first option. With the ability to quickly transition between desktop and mobile, Aura provides an incredibly powerful framework to create applications for all mediums. Take some time to start learning Aura now and get a head start!

Aura is built using object-oriented principles.

Aura provides the basic constructs of inheritance, polymorphism, and encapsulation from classic object-oriented programming and applies them to presentation layer development.

No comments:

Post a Comment