While looking at the best possible options for creating Single Page Applications (SPAs) in Salesforce, we evaluated Aura and AngularJS. We have noticed that there are pros and cons in both.
If we are building an application which is considerably large and every part of it is integral to the application, then using a component based framework requires over-engineering. Component based framework like Aura is suitable for building software components which are highly reusable with distinct features. Also, Components are slightly heavy weight in terms of number of artifacts involved in each component. For the effective application of components reuse, each component has to be documented thoroughly with a component repository and appropriate software engineering processes must be laid out and enforced throughout the system lifecycle.
Aura supports partitioned multi-tier component development that bridges the client and server. Aura framework intelligently utilizes your server, browser, devices, and network and will help you to focus on the logic and interactions of your apps instead of the other areas.
In a nut shell, if you are doing greenfield development, go with Lightning Components route along with Lightning Design system (Salesforce's Responsive CSS framework), as its more aligned with Salesforce's long-term UI strategy. If you are already invested and need to deliver solution quickly, go with AngularJS which helps us to build large scale and high performance web applications while keeping them as easy-to-maintain.
Let us know your choice...
We at Minuscule have developed Single Page Application solutions on Salesforce based on both the frameworks. We have also built customized framework on AngularJS and LDS to get the rich Salesforce lightning UI on the existing Salesforce applications as well. For further details, reach out to us by filling up the contact form below.