Прежде чем начать вести этот блог, я хотел бы поблагодарить разработчиков Salesforce за создание замечательной среды Lightning Web RunTime (LWR). Это помогает нам разрабатывать приложения вне отдела продаж, используя знания LWC, которые мы получили, работая в отделе разработки приложений Salesforce.

Как справедливо отметили представители отдела продаж во время своего выступления на Dreamforce, теперь они открывают новый мир для разработчиков Salesforce для разработки приложений за пределами родной платформы force.com.

Я создал неуправляемый пакет/проект github с открытым исходным кодом для назначения массовых разрешений CRUD и Bulk FLS. Это создано с использованием LWC и Apex и действительно родно для платформы. Однако я получил несколько отзывов о том, что многие организации не позволяют им устанавливать неуправляемые пакеты, и у них есть соответствующий процесс. Я также создал свое предыдущее расширение для Chrome с использованием Angular.Js (только для массового Object CRUD) под названием EasyCrud, которое сегодня используется более чем 700 пользователями. Я получал отзывы о том, что расширения Chrome более удобны, чем установка пакета в каждой организации, над которой они работают. У обоих есть свои плюсы и минусы.

Но мне было лень снова преобразовывать мой неуправляемый пакет в расширение chrome, так как мое предыдущее расширение разработано с использованием Angular.js, и мне нужно снова переписать большое количество кода.

Вот и приходит LWR как спаситель и спаситель времени.

Я никогда не думал, что смогу использовать тот же LWC, который я разработал в Salesforce, и преобразовать его в расширение Chrome, пока не прочитал о LWR.

Любой код LWC, который мы пишем сегодня, может быть легко преобразован для работы вне платформы с помощью этого замечательного фреймворка под названием LWR.

Вот мой дизайн.

Я взял LWC из своего неуправляемого пакета. Я создал файл service.js, который выполняет вызов API для Salesforce. Поэтому я заменил серверную службу с Apex на Javascript вызовами Rest Api. Поскольку это расширения Chrome, я не сталкивался с проблемой CORS. Помните, что вы должны использовать серверную часть Node.js для вызовов API, если она будет не на платформе, такой как Heroku или GCP.

Я переписал менее 5% LWC, поскольку большинство базовых компонентов также поддерживаются вне платформы.

Наконец-то я смог создать совершенно новую версию EasyCRUD с различными функциями, такими как экспорт разрешений, разрешения на уровне полей, расширенные фильтры и все это с использованием нашей собственной платформы LWC :)

Ниже приведен URL-адрес расширения. Пожалуйста, попробуйте его в своей песочнице и поделитесь своим мнением. Я начну создавать серию блогов о различных этапах этой разработки и постараюсь изо всех сил объяснить задействованные в ней технические модули.
Демо: https://www.youtube.com/watch?v=k7rFV1QRQyg
Расширение: EasyCrud

Подводя итог, LWR похож на гибридную разработку мобильных приложений, когда вы разрабатываете один раз и повторно используете один и тот же код в Android и IOS. Это также помогает разработчикам отдела продаж войти в новый мир веб-разработки, используя имеющиеся у них знания о LWC.

Следующая часть: Как использовать LWC и разработать расширение для Chrome? (Привет, мир, пример)