Lightning Aura Components – Reasons to Use Lightning Components

I know in the trailhead there is a comparison between Visualforce and lightning component. And I even made an answer to one question about this the other day.

But the question is, nowadays, most of us are not actually using much Visualforce tags in our Visualforce pages, it is pretty much an html page wrapped inside Visualforce. And for the client side logic, we can use frameworks like React, Angular or backbone.

So my question is, is there any good reason for us to use lightning? Or is it truly better? Frameworks like React, Angular or backbone have much more github tools supporting them, a bigger community and thus more built in tools. For example, consider adding filtering, sorting and pagination to a datatable in Angular or React, and then consider adding it in lightning component, the former is obviously much easier.

One good reason for using lightning component is it can be very componental. However, this can be achieved via other frameworks as well, although in a less decent way – using static resource. Is there any other good reason to use lightning?

Best Answer

It really depends on your business Scenario of what you are trying to achieve and your UX approach and design decisions .If you want your users to completely align to standard lightning experience going lightning components route will benefit them in long term

If you are in ISV space ,then you want to try and use lightning component framework to provide end users(Your end users are other salesforce orgs where your apps are installed) flexibility to use the builders that salesforce out of box provides .

Building with React or Angular will imply admins or business consultants wont be able to configure or control the layout .Lets say you provide that ability then you are rebuilding the builders that salesforce has already built for you .

Salesforce is trying to provide a framework that does handle lot of things for you OOB .Lightning Action Services are great step towards that where salesforce will be providing a single tag that handles CRUD respecting org CRUD/FLS and sharing configurations.

In angular or React you are simply rebuilding lot of stuff that platform automatically gives in lightning component framework (Examples include Internationalisation , labels, Locale Date formats etc).

If you ask me as of today (22nd oct 2016) its lot better than how it was an year ago and its keep getting better and better .The base components ,Utility bars ,Quick actions , Lightning Out ,Added Interfaces all are pretty robust now to build a functional apps .While there are few gaps being a new technology with a learning curve and not much libraries available open source compatible its an extra pain which i am sure with time it will be sorted .So if you are thinking of future and planning to use salesforce wont be bad idea to go with lightning component framework and If you feel you are invested in SFDC for short term then frameworks like angular or react makes sense as that can be used with any other Technology Stack .