Aura is a UI framework for developing dynamic web apps for mobile and desktop devices, while providing a scalable long-lived lifecycle to support building apps engineered for growth. It supports partitioned multi-tier component development that bridges the client and server.
Josh Kaplan, a Senior Product Manager with Salesforce.com and Doug Chasman, a Distinguished Engineer with Salesforce.com did an amazing session at Dreamforce ’13 titled “Introducing Aura: Rapid Mobile Development with Reusable Components”. I highly suggest watching this session.
On top of that session, there is a slew of different sessions available on Salesforce1, several of which discuss Aura.
So, how is Salesforce1 and Aura related? Well, Salesforce1 is built on Aura. The Salesforce team has actually developed Aura specifically for making the mobile experience better. Aura was actually originally built for Salesforce Touch. Since then, the Aura framework has grown immensely. Now, portions of Chatter, Sales Cloud Opportunity Splits”, Site.com Component Framework, and the Force.com App Builder are all using Aura. Note that this distinction is important. It is being used on both Mobile and Desktop.
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
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!
Note: It is important to remember that this is my personal opinion. As with any opinion, it may or may not reflect the opinion of any organization I am associated with.
Note: The idea for this post was inspired by the Salesforce StackExchange. Andy Fawcett provided an excellent answer to how Salesforce1 and Aura are related. This is just another shining example of how contributing to the community, such as the Salesforce StackExchange, can teach you new things. I used Andy’s answer to research Aura even more and I am more excited about the framework than ever. Get involved and be surprised by how much you can learn too!