30

I have been playing around with Salesforce1 for a while now. I have also read several (unofficial) links which suggest that it's built using Aura. I downloaded the Aura repo from github and have been looking at it. The high frequency of commits in Aura suggest that it's still in active development. Apart from the github repo description which says - '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', I've NOT been able to find any documentation on Aura.

I'm interested in knowing if Salesforce1 is indeed built on Aura? If so, does Aura provide the HTML5 container for Salesforce1? If not, can anyone point me to any production-grade apps/ uses of the Aura framework?

27

Salesforce1 is indeed built on Aura, as confirmed in Josh Kaplan's (Salesforce Aura Product Manager), Dreamforce 2013 session, Introducing Aura: Rapid Mobile Development with Reusable Components. It is also using the Salesforce Mobile SDK as well. This great collection of Dreamforce 2013 sessions featuring Salesforce1 also references the Aura session. Salesforce drinking its own champagne!

In that presentation btw, Josh and his team give some great insight into how production grade Aura really is, the journey they have taken with it since Salesforce Touch (which also used an early build) and a sneak peak at where it is going as native platform feature! I personally cannot wait, one to watch!

The source code is shared in GitHub, so you can even try it out and contribute!

  • Andrew - Thanks for the answer. I'm also interested in knowing if Aura provides the HTML5 container that Salesforce1 runs on? I suspect that's the case but would be nice to be able to point to a link which says so. Also, you say Salesforce1 is using Salesforce Mobile SDK - can you elaborate on which specific component of Mobile SDK. My understanding is that Salesforce1 and Mobile SDK are completely separate. – Gaurav Kheterpal Dec 19 '13 at 18:38
  • 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. – Andrew Fawcett Dec 19 '13 at 18:41
  • Thanks. I have been following the Mobile SDK source on github ever since it was launched and I still believe the HTML5 container for hybrid template apps (built using Mobile SDK) are not related directly to Salesforce1. Can you clarify that? – Gaurav Kheterpal Dec 19 '13 at 18:46
  • Yes, I cannot remember the exact point in the presentation, but Josh does confirm this. – Andrew Fawcett Dec 19 '13 at 18:49
  • I've been going 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. – Peter Knolle Dec 19 '13 at 19:31
23

While the above answer from Andrew Fawcett is spot on, I am thankful to Jesse Altman who did a brilliant detailed blog post on this subject in response to my question. I am sharing it here for everyone's benefit.

Quoting the relevant excerpts from Jesse Altman's blog post.

So, how are 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.

Why use Aura?

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!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.