5 Top reasons to transition to Salesforce Lightning

Image Credit: Salesforce

When Salesforce launched Lightning in Dreamforce ’15, it embarked upon a whole new journey towards user experience and the shift in Salesforce ecosystem. It is a significant change, considering the history of Salesforce and shifting industry trends.

A little background

Some of you may recall, before Visualforce there were Scontrols. Scontrols were javascript code snippets which can be embedded within standard layouts to enable custom functionality. Based purely on javascript, Scontrol was a good tool to enable customization on a cloud based platform, which is supported by all browsers. However, considering processor speed and general RAM configuration within computers back then (not to mention the archaic browsers) Scontrols were often plagued with complex coding and degraded performance. Not to mention, special attentions developers had to pay to ensure that the custom javascript within Scontrols is compatible across different platforms/ browsers.

This led to introduction of Visualforce. A server side User Interface (UI) rendering engine for Salesforce. Comparable to ASP.Net, PHP like scripting language wherein the processing is done at server end and generating HTML for the browser. This was an instantaneous hit due to obvious reasons. With faster processing, easy to use UI tags, native Salesforce support for cross browser compatibility, it was a much faster UI platform which helped developers generate Salesforce like UI faster and better.

As we all know, things change, and more so in technology world. Tablets and mobile devices are outperforming usage stats as compared to laptops and near extinction desktop computers. with these devices, user experience models have also changed significantly. More so, with faster processors and better memory, the handheld devices or current day easily outperform some computers. This led to introduction

Mobile first approach

As of this time, mobile internet usage is skyrocketing and mobile internet user count has already surpassed that of desktop internet users.

There are more mobile internet users than desktop internet users; 52.7% of global internet users access the internet via mobile, and 75.1% of U.S. internet users access the internet via mobile.

For more stats/ facts refer Internet stats and facts for 2016

This clearly states the consumer shift towards mobile. With this, it’s quite imperative that the shift is not just for consumers but for all users at large.

Unlike Visualforce, Salesforce Lightning component framework is mobile first framework from group up. It is created to cater to all mobile needs as a primary motive and is equipped to handle related problems/ scenarios.

Unlike Visualforce, Salesforce lightning component framework promotes processing within client browser. This helps in ensuring that the application is pulling only required data on-demand and is managing the data and process itself.

Note:- Existing visualforce is still a good option, wherein mobile compliant toolkits can be used. However, lightning components framework is not just a development platform but a combination of tools which includes:-

  • Salesforce Lightning Component Framework — built on top of open source “Aura” framework (https://github.com/forcedotcom/aura) which is the backbone of whole lightning system
  • Salesforce Lightning Design System (SLDS) — an open source (https://github.com/salesforce-ux/design-system) CSS based UI framework to provide a unified user interface to lightning based applications. (Note:- it can definitely be used within custom applications not built on Salesforce or lightning platform). Built on CSS best practices and principles, it is definitely a very (seems to be inspired from SASS/ LESS)
  • Salesforce Lightning App Builder — a drag-and-drop application builder, designed to create lightning applications by coupling lightning components.

Other lightning related technologies are:

  • Salesforce Lightning Experience (a.k.a. LEX) — Salesforce CRM user interface redesigned/ rebuilt on Salesforce lightning component framework

Lightning is Salesforce’s primary platform

With the launch of Salesforce Lightning experience in Dreamforce ’15, it is pegged as the primary platform for Salesforce. That is, all new features and development will be lightning focused. There are still new features to be added to Salesforce classic, but Lightning definitely gets the preference over Salesforce Classic. Following are some o new features launched over the time which are only available within Salesforce Lightning experience:-

Image Credit: Salesforce
  • Sales Path — process driven sales process implementation displayed visually
  • Lightning voice — enables voice calls from Sales cloud
  • Kanban View — snapshot of all major opportunities within pipeline
  • Lightning app builder — build and distribute apps by using lightning components
  • News (formerley Account Insights) — latest updates about customers right within account view

User Experience

I still remember when we used to have 256MB RAM and it was “cool”. Then came 1GB RAM computers and we thought it had all the space we’ll ever need. As of writing this article, i’m writing it on a laptop with 16GB of RAM and Intel i7 processor (6th generation). The idea of sharing this trivia is that the computing power in machines has been increasing exponentially (as famously stated by Moore’s Law) over the years.

Hence, the initial reason to create thin clients (browsers), to handle only the view part and Server to handle the processing part is almost diminished now. In fact, with latest trend towards Serverless computing, the notion is tending to be reversed, wherein the processing is being done at the browser level. This not only helps in making user experience better, but is also driven from the fact that most of the users are using their mobile devices to access applications. We are still living in a world where internet connectivity cannot be very reliable at times, so with processing happening at your end, it can take care of any network drops. Not to mention, less processing load on servers, leading to cost savings.

With Salesforce lightning experience using Single Page application (SPA) design, the initial load may seem like a rocky start at beginning. But, any subsequent calls/ requests are handled asynchronously and on-demand. So, application responds faster and appears better. Unlike Salesforce classic, it doesn’t post entire page back and refresh page to display required details.

Disclaimer: There have been multiple users/ admins reporting low performance while using lightning (as compared to Salesforce classic). As Salesforce is still working on Lightning framework (and Lightning experience), the performance is expected to improve over time.

Modular and Reusable

As mentioned previously, Salesforce lightning framework promotes component driven development. Being a component driven framework, the concept behind lightning is to be able to create self-contained and re-usable functional components i.e. a complete functional piece which can be combined with several other pieces to build desired apps.

Component driven approach enables developers to create multiple components. Each component is exposes one or more functionalities. These components can be:-

  • clubbed together to create applications using Lightning app builder
  • added to Salesforce communities
  • can be embedded with Visualforce pages
  • can be even exported and hosted on external web server
  • last and most important, publish it on AppExchange

So, there are really lot of possibilities once you create a lightning component.

Can Stretch Beyond Salesforce

One of the limitations of developing applications within Salesforce was complete ignorance of development in other development platforms. Frankly, App Cloud (formerly Force.com) abstracted so many things for developers that it definitely boasted about having 4X / 5X productivity improvement over other development platforms (referred in an article I wrote few years back Development time in SFDC vs. .Net and Java).

Salesforce Lightning framework is built on top of open source aura framework. As per it’s documentation “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.

So, your development team building on lightning framework (or Aura framework) is not confined to development within Salesforce platform. Instead, they can also create custom applications, which can be hosted over other cloud platforms. This not only stretches the possibilities for developers, but also for business to be able to re-use their existing development team to create other applications.

Conclusion (added disclaimer)

At this stage, Salesforce lightning experience and Lightning framework is still evolving (disclaimer) and is expected to improve with each release. It is inevitable that it will be compared with Classic, and there will certainly be strong backers of Salesforce classic. But, given that Lightning is platform of choice for Salesforce and is in line with latest trends in software development arena at large, Lightning is definitely not be missed.