Введение

Для чего нужны все эти вакансии для разработчиков Salesforce?

Как разработчик с полным стеком, который в основном использует React и .NET, я традиционно избегал платформо-зависимых интеграций. На протяжении всей своей карьеры я слышал о Salesforce и разработчиках Salesforce (и я также слышал, что разработчики Salesforce хорошо оплачиваются), но в остальном эти термины никогда не вызывали у меня интереса. В конце концов, зачем мне ограничивать себя в обучении навыкам и способностям, которые позволяют мне работать только с одним конкретным приложением?

Тем не менее, я слышал о Heroku, и недавно у меня был положительный опыт работы с ними. Узнав, что Heroku принадлежит Salesforce, я заинтересовался. Какая софтверная компания должна владеть передовой платформой в качестве сервисной компании? Другие примеры, которые приходят на ум, — это компании высшего уровня — Amazon/AWS, Microsoft/Azure, Google/GCP и т. д.

Я начал изучать его и узнал, что в Salesforce есть нечто большее, чем я первоначально думал, включая компоненты и платформы, которые можно использовать для разработки любого количества пользовательских приложений с полным стеком. У них даже есть open source! Это действительно поразило меня — честно говоря, открытый исходный код — это последнее, чего я ожидал от крупной компании, занимающейся корпоративным программным обеспечением.[1]

Чтобы получить общее представление, я прошел два вводных обучающих модуля, предлагаемых (бесплатно) Salesforce. В этой серии из двух частей я познакомлю вас с кратким обзором платформы, доступных в настоящее время инструментов кодирования и своими первыми впечатлениями.

Что такое платформа Salesforce?

Salesforce, как следует из названия, начиналась как корпоративное решение Управление взаимоотношениями с клиентами (CRM), и это стандартная функциональность, которая входит в стандартную комплектацию каждой среды Salesforce. Это облачное приложение, размещенное в так называемом доверенном многопользовательском облаке. Это приложение, состоящее из нескольких различных API, модели данных и различных клиентов, которые могут получить доступ к этим API. Нас интересует не стандартный функционал, а платформа, которая за ним лежит.

Платформа Salesforce — это группа технологий, которая позволяет разрабатывать как готовые приложения, так и любые пользовательские приложения. Таким образом, платформа построена таким образом, чтобы ускорить разработку пользовательских приложений, и включает в себя, среди прочего, различные API, аналитику и настраиваемую модель данных на основе метаданных (включая Heroku). Как разработчик я сосредоточу свое внимание на платформе.

Как начать изучение Salesforce?

Salesforce предоставляет довольно надежный набор ресурсов для профессионального развития на своем Trailhead site. Здесь вы можете просмотреть доступные курсы и даже использовать приложение Trailhead GO для обучения. Если вы, как и я, новичок в Salesforce, я рекомендую начать с глав Основы платформы Salesforce и Основы разработки платформы. Объединение этих двух глав дает обзор того, что такое Salesforce, что такое платформа, а также некоторые базовые сведения о различных методах настройки платформы как с кодом, так и без него.

Обратите внимание, что некоторые упражнения в Trailhead Playgrounds, по-видимому, плохо работают с Firefox — я получил сообщение об ошибке «Веб-сайт не позволит Firefox отображать страницу, если ее встроил другой сайт», когда я попытался выполнить некоторые из вводных упражнения. Это связано с тем, как они используют iframe для отображения устаревших страниц. После перехода на Chrome все заработало нормально.

Что касается первопроходцев, первая часть, представляющая особый интерес для нас, как для разработчиков, — это модуль Разработка без кода.

Разработка без кода

После вводного материала «Основы разработки платформы» проведут вас через несколько упражнений, в которых вы сможете «разрабатывать без кода». Используя формы и инструменты перетаскивания, вы можете выполнять то, что Salesforce называет «декларативной разработкой». Я должен признать, что как разработчик у меня не было большого опыта работы с инструментами визуальной разработки. Я начал с LEGO Mindstorms в старшей школе, хотя я также использовал дизайнерские инструменты Microsoft Visual Studio для разработки в рамках своей профессиональной карьеры. С Mindstorms мне все равно пришлось писать код, чтобы обойти ограничения визуального редактора программирования, и в конце концов стало проще просто начать с написанного кода. Представление конструктора Visual Studio работало, но всегда было хрупким, а отслеживание сгенерированных файлов часто было проблемой. Учитывая эту историю, вы, вероятно, можете понять, почему я начинаю с позиции нелюбви к решениям с низким/отсутствием кода. Однако это было давно, и с тех пор платформы с низким/отсутствием кода прошли долгий путь (например, Quick Base, MSFT Power Apps, Google App Maker), поэтому я подошел к этому непредвзято.

Инструменты разработки без кода платформы Salesforce позволяют изменять модель данных, создавать базовые формы и страницы и настраивать правила проверки. Когда вы добавите это во встроенные API, легко увидеть, как вы можете использовать это для создания функционального приложения в стиле CRUD. Часть модели данных является наиболее полезной для меня — в основном, вся модель данных абстрагируется, а это означает, что вы можете использовать интерфейс, похожий на Visio, который называется Schema Builder, чтобы добавлять столбцы/поля и даже целые типы объектов (в SQL это было бы быть таблицей) на лету. Кроме того, каждый настраиваемый объект имеет не только настраиваемые поля, но и множество встроенных метаданных и функций, таких как Отслеживание ленты чатов.

Например, представьте, что ваша организация в настоящее время хранит информацию о новобранцах отдела кадров в электронной таблице Excel на файловом сервере. Salesforce позволяет легко перемещать эту информацию из файлов в централизованную базу данных. Эта база данных проста в управлении для обычных бизнес-пользователей и в то же время предоставляет встроенные функции, расширяющие хранимую информацию. С точки зрения бизнеса я определенно вижу ценность.

Тем не менее, как разработчику, трудно отделаться от ощущения, что, поскольку мне не хватает контроля, в конечном итоге возникнет ситуация, когда мне нужно будет сделать что-то, для чего инструмент не предназначен. Существуют способы перехода от декларативных к программным для обработки этих исключений (некоторые из них мы рассмотрим во второй части этой статьи), но я могу представить, что эта декларативная функциональность сама по себе является полезным инструментом для бизнес-аналитика или другого неспециалиста. -владелец технического продукта.

Обзор и заключение

На данный момент мы получили общее представление о взаимосвязи между Salesforce и платформой Salesforce, а также о том, что она может предложить бизнес-пользователям с точки зрения настройки без кода или с минимальным кодом. Во второй части я более подробно рассмотрю, что платформа Salesforce может предложить разработчикам, и стоит ли разработчикам с полным стеком сделать скачок, чтобы стать разработчиками Salesforce.

[1] Да, я знаю, что за последние пару десятилетий Microsoft совершила настоящий переход. Честно говоря, меня это тоже поначалу удивило!