Требования Demandware/SFCC
Если бы кто-то был заинтересован в том, чтобы научиться разрабатывать в Salesforce Commerce Cloud (ранее Demandware), могли бы они использовать знания в других средах для ускорения своего присоединения? Если существуют такие другие рамки, то какие они? Какими еще способами новый разработчик в Salesforce Commerce Cloud может быстрее разобраться?
Я задаю этот вопрос, помня о контроллерах, MFRA. Пожалуйста, учтите это при ответе.
3 ответа
В качестве семилетнего ветерана разработки Commerce Cloud (Demandware), сертифицированного разработчика, технического специалиста и архитектора решений, а также двухкратного эксперта по предмету (SME) для команды сертификации Salesforce Trailhead; Вот мои рекомендации:
Научитесь кодировать Javascript с синтаксисом ECMAScript 5, не полагаясь на фреймворки или функции ES6.
SFCC использует движок Rhino и не способен использовать все необычные функции ES6, которые вы можете использовать с Node или браузерами. Для получения дополнительной информации об этом см.: Часто задаваемые вопросы (Доступ можно получить, обратившись сюда.) Примечание. Вы не сможете использовать jQuery в своих контроллерах и модулях. Они выполняются на стороне сервера, но не так, как NodeJS.
Синтаксис контроллеров ExpressJS
Эталонная архитектура Storefront (то, что они сейчас называют MFRA) использует для своих контроллеров синтаксис, аналогичный тому, который используется в Express.
Синтаксис модуля CommonJS
Понять, как определять и использовать модули CommonJS. Этот шаблон интенсивно используется в архитектуре SFRA.
Сценарии NPM
Понять, как сценарии NPM выполняются и настраиваются. SFRA использует их для создания всех статических ресурсов (CSS, JS и т. Д.), А также для модульных тестов и развертывания в Песочнице.
Если вы абсолютно новичок в разработке SFCC и будете создавать больше, чем просто слой шаблонов, вам следует использовать как можно большую часть контента электронного обучения Commerce Cloud. Вы можете найти этот контент в разделе университета на портале XChange. (Примечание: Salesforce Trailhead в настоящее время реструктурирует образовательные компоненты, разработанные Demandware до приобретения. Эти ресурсы могут перейти в Trailhead в какой-то момент в ближайшем будущем.)
Некоторые предлагаемые курсы:
- DEV001: Обзор цифровой архитектуры облака коммерции
- DEV101: Разработка для Commerce Cloud Digital I - это платный курс; настоятельно рекомендуется и требуется для сертификации dev.
- DEV180: Разработка для Commerce Cloud Store Front Reference - курс, посвященный разработке с использованием SFRA.
- DEV181: Эталонная архитектура витрины облачных картриджей и коммерции - курс по изучению картриджей и расширению SFRA.
- DEV201: Разработка для Commerce Cloud Digital II - критическое изучение масштабируемости, производительности и настройки, которое применимо ко всем аспектам платформы.
Наконец, после всего этого обучения вы можете обнаружить, что у вас возникают проблемы с ускорением или что вы не получаете ответы на свои вопросы в XChange или Salesforce Chatter. Затем вы можете запросить приглашение в сообщество неофициальных Slack SFCC, отправив эту заявку. Пожалуйста, имейте в виду, что этот Slack работает и поддерживается исключительно добровольными усилиями других разработчиков, архитекторов и бизнес-пользователей. Мы просим вас внести свой вклад, чтобы вернуть, когда вам будет удобно.
Я слышал, что изучение AngularJS и responsejs поможет многим добиться успеха в Demandware.
В основном это зависит от проекта, что вы получаете.
Старый Demandware использует конвейеры, которые выглядят как алгоритмы, и использует DemandwareScript, который является ECMAScript 4, а программирование очень простое. Часть внешнего интерфейса сохраняет состояния для некоторых объектов.
Новое Demandware использует контроллеры и имеет больше кода, я думаю, что в настоящее время это ECMAScript 5. Grunt обычно используется для непрерывной интеграции с большим количеством модулей NodeJS. Он также более тестируемый, а для испытаний также используются мокко, чай и жасмин. Часть интерфейса не имеет состояния, противоречит Angular или React и вводит обещания.