1

I'm aware this might be an opinion-based question, but I think it's an question worth exploring.

Our team is looking to start a lightning migration some time next year, and by start, I mean, start moving visualforce pages to lightning, creating new layouts, etc. The rollout could be much later.

My question is whether it's worth spending time and effort learning the Aura Lightning Components, or whether we should instead start of with LWC, as Aura will eventually become legacy (like visualforce).

What would I be missing on if I skip Aura? Are there any really good features that are only available in Aura? In your experience using LWC, has salesforce been improving the feature parity with Aura?

  • 4
    My opinion: learn and use LWC and only fallback on Aura if something can't be done in LWC. – Keith C Jun 28 '19 at 11:09
  • 1
    There are a few key areas where custom components are useful in a Lightning migration, but LWC aren't supported yet: Actions, Utility Bar, & potentially Console. But you can wrap LWC in a simple Aura component. Also note that if you use the Lightning Config Converter to convert JS buttons, it produces Aura components which often need tweaking. So I agree to focus on LWC, but you'll probably end up touching Aura components as well. – Thomas Taylor Jun 28 '19 at 11:46
5

I think this part from their official docs sums it up pretty well:

For the most part, if you’re building brand new functionality, you should look at building with Lightning web components first. Your applications will get the benefit of increased native operation in the browser, which translates to faster app performance and more functionality. As a developer, you’ll also benefit. In addition to the powerful tools provided by Salesforce, the Lightning web components model is compatible with resources and tools used by web developers everywhere, like popular tools for linting or formatting your code, or JavaScript testing frameworks like Jest.

In terms of what isn't yet available, here is a full list:

Interfaces:

clients:availableForMailAppAppPage
clients:hasEventContext
clients:hasItemContext
force:appHostable
forceCommunity:layout
forceCommunity:profileMenuInterface
forceCommunity:searchInterface
forceCommunity:themeLayout
lightning:appHomeTemplate
lightning:availableForChatterExtensionComposer
lightning:availableForChatterExtensionRenderer
lightning:availableForFlowActions
lightning:availableForFlowScreens
lightning:homeTemplate
lightning:isUrlAddressable
lightning:recordHomeTemplate
lightningsnapin:minimizedUI
lightningsnapin:prechatUI
ltng:allowGuestAccess
Components:

aura:token
force:canvasApp
lightning:flow
lightning:container
lightning:listView
lightning:overlayLibrary
lightning:path
lightning:picklistPath
lightning:quipCard
lightning:select (replaced by lightning-combobox)
lightning:unsavedChanges
forceChatter namespace components
forceCommunity and lightningCommunity namespace components
lightningsnapin namespace components
wave namespace components
UI namespace components have no equivalent in Lightning web components.

Event tags and types:

aura:registerEvent*
aura:handler*
Aura application events
There is no direct replacement in Lightning web components for aura:handler/registerEvent. If you’ve used these tags to create and handle custom component events in Aura, this functionality is available through CustomEvent objects in Lightning web components.

API services:

conversationToolkitAPI
empApi
navigationItemAPI
omniToolkitAPI
quickActionAPI
utilityBarAPI
workspaceAPI

As you can see, LWC is still in it's early stages.

Full text here: https://developer.salesforce.com/blogs/2019/02/working-with-aura-and-lightning-web-components-interoperability-and-migration.html

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.