Воспользуетесь ли вы преимуществами управляемой упаковки второго поколения (также известной как 2GP) для своих новых приложений? Если нет, то должно быть. В этом сообщении блога мы расскажем о преимуществах и преимуществах, а также о том, почему разработка пакетов второго поколения для чистых новых решений является очевидным вариантом. Для тех, у кого уже есть управляемые пакеты первого поколения (также известные как 1GP), перехода на 2GP пока нет. К сожалению, вам придется немного подождать, чтобы насладиться всем, что может предложить 2GP.

Для тех, кто плохо знаком с AppExchange, давайте определим, что означает пакет. Пакет - это механизм, который партнеры AppExchange используют для управления и распространения своего приложения среди клиентов Salesforce. Вы можете думать об этом как о контейнере, заполненном метаданными: он содержит связанные функции, настройки и схему.

Теперь у Salesforce есть два способа упаковки приложения: упаковка первого поколения (1GP) и упаковка второго поколения (2GP). 2GP объединяет в себе все преимущества нашего опыта, полученного в результате многолетнего сотрудничества с нашими партнерами с 1GP. Он также создавался параллельно с нашей разработкой Salesforce Developer Experience (SFDX). SFDX - это наша современная среда разработки, которая предлагает множество преимуществ командам разработчиков продуктов. В результате 2GP и SFDX глубоко интегрированы. Следовательно, чтобы использовать 2GP, вы должны использовать SFDX. Если вы не знакомы с SFDX, то вот некоторые из его преимуществ:

  • Поддерживает командное развитие
  • Расширенный набор команд интерфейса командной строки (CLI)
  • Возможность создания сценариев для автоматизации рутинных задач и действий
  • Полная интеграция с репозиторием кода по вашему выбору
  • Тесно интегрированная среда разработки Visual Studio
  • Доступ к подключаемому модулю DX с открытым исходным кодом, который имеет ряд преимуществ, характерных для независимых поставщиков программного обеспечения, о которых вы можете узнать больше здесь.

Дополнительную информацию о SFDX можно найти в Trailhead и в нашем Руководстве для разработчиков.

Преимущества 2GP

Пока что разработка пакета с SFDX звучит здорово, но почему партнер должен выбрать 2GP вместо 1GP? Давайте подробно рассмотрим преимущества 2GP и объясним, почему.

Упаковка поддерживает Ветвление

1GP поощрял линейное развитие. В 2GP упаковка поддерживает отрасли разработки. При линейной разработке вы как разработчик не можете вносить изменения, которые не сливаются с вашим базовым кодом, пока вы не будете готовы к этому. Ветвление предлагает разработчикам большую гибкость в разработке новых функций.

Пространство имен

Пространство имен - это то, что помогает гарантировать, что приложения от разных партнеров избегают конфликтов между именами компонентов. В 1GP пространство имен было привязано к определенному пакету. Партнеры, которые хотели иметь несколько пакетов, имели в виду несколько пространств имен, что могло вызвать сложность и было не идеально. Теперь с 2GP вы можете определить одно пространство имен для своей компании и использовать его для каждого пакета, который вы разрабатываете. Это большое дело, особенно с учетом того, что это позволяет реализовать более модульную реализацию.

Модульный

1GP поощряла создание монолитных приложений, в которых все функции приложения были включены в один пакет. С 2GP вы можете разделить приложение на отдельные модули. Меньшие функциональные модули предлагают множество преимуществ, включая простоту разработки и отладки, выпуски с меньшим риском и другие.

Система, управляемая исходным кодом

1GP работает с системой управления версиями, но в конечном итоге приложение Source of Truth находится внутри 1GP Packaging Org. В 2GP система контроля версий является источником истины для приложения.

Версии исправлений создаются с помощью интерфейса командной строки Salesforce

Версии исправлений, созданные с помощью SFDX, означают, что организации исправлений отсутствуют, и, как упоминалось ранее, система контроля версий является источником истины. Нет необходимости в специализированной организации для создания версий исправлений в 2GP по сравнению с 1GP, где версии исправлений могут быть созданы только организациями исправлений.

Ограничения

2GP имеет явные преимущества перед 1GP и будет технологией разработки приложений, в которую Salesforce продолжает инвестировать, но, поскольку она является новейшей упаковочной технологией, ей нужно немного наверстать упущенное, чтобы обеспечить полный паритет функций с 1GP. Текущие пробелы:

  • Вы не можете использовать push-обновления для 2GP. Это планируется выпустить в следующем выпуске.
  • Существует небольшой набор типов метаданных, которые поддерживаются в 1GP, но не в 2GP.

Мы надеемся, что вы почувствуете возможность узнать больше и воспользоваться преимуществами 2GP. Для получения дополнительных ресурсов и обучения посетите ресурсы, перечисленные ниже.

Дополнительные ресурсы

Особенности Salesforce DX - пакеты второго поколения

Руководство разработчика для управляемых 2GP

Лучшие практики для управляемых пакетов второго поколения

Дилип Бурки, менеджер по продуктам 2GP Dreamforce ’19, презентация