Lightning Web Components is the new programming model that Salesforce released early this year. If you don’t know what it is about, check this post I published some time ago.

One of the keys to learn how Lightning Web Components work is to understand how components can communicate between each other. The communication patterns are different from Aura, and are one of the culprits of Lightning Web Components superb performance.

Heroku is a PaaS (Platform as a Service) that allows to build and run web apps, jobs and APIs in 8 languages, while the platform takes care of things like routing, erosion or failures for you. When using Heroku, you can utilize add-ons that will make your life easier, to create and use databases, handle deployments, manage logging etc., among other features, making the tasks of building, deploying and running apps a much pleasant experience.

The 13rd of December this year, Salesforce announced the release of Lightning Web Components (LWC). This is something in which Salesforce has been working very hard, and which is surrounded by an aura of mystery. Because of that, in this blog I will try to explain the keys of this announcement.

When thinking about good quality software we must always have very present that tests automation is a must. There is a full list of tiers and tools that can be used to ensure that your software behaves as expected, bugs typically introduced by refactoring are prevented, and interconnected systems behave well together, as for example your code together with a Salesforce upgrade. In this post I want to focus on how to write unit tests for Lightning Components using Lightning Testing Service (LTS).

If your company has offices in different locations I am sure you have heard about Translation Workbench. Translation Workbench is a tool that allows you to translate Salesforce texts to different languages. In this post I want to dig into how translations are implemented in the system, and how to work with them through the metadata API.

Lightning Pages are a concept introduced by Salesforce to allow creating and customizing pages in Salesforce with simple drag & drop, for Lightning Experience and Salesforce1. In this post I want to explain how these pages behave in a managed package environment.

If you have been developing Lightning Components for a while it is probable that you have come up against the feared Locker Service. If you are aware of Summer 18 Locker Service changes, you will know that, luckily, Locker Service restrictions have been relaxed. However, there are still some libraries that are considered unsafe and that cannot run within this context. For those cases, lightning:container comes to the rescue!

Last week I discovered something about Lightning Components I didn’t know about: aura:action. This is an attribute type that you can use to pass actions to a child component, in addition to the other supported attribute types, and it can be specially helpful if you want to decide at component instantiation which actions should the child component perform.