Demandware/SFCC prerequisites

4.3k Views Asked by At

If one were interested in learning to develop on Salesforce Commerce Cloud (formerly Demandware) could they leverage knowledge in other frameworks to expedite their onboarding? If such other frameworks exist, which are they? What are some other ways a new developer in Salesforce Commerce Cloud could pick things up faster?

I am asking this question while keeping controllers, MFRA in mind. Please consider that when answering.

3

There are 3 best solutions below

0
On BEST ANSWER

As a seven year veteran of Commerce Cloud (Demandware) development, a certified developer, support technician, and solution architect, as well as a two time subject-matter expert (SME) for Salesforce Trailhead's certification team, these are my recommendations:

  • Learn to code JavaScript with ECMAScript 5 syntax without relying upon frameworks nor ES6 features.

    SFCC uses the Rhino engine and is not capable of using all the fancy ES6 features you may be used to with Node.js or browsers. For more information on this, see: Frequently Asked Questions (access can be gained by the following instructions here). Note: You will not be able to use jQuery in your controllers and modules. They execute on the server-side, but not the same way that Node.js does.

  • Express.js Controllers syntax

    Storefront Reference Architecture (what they're calling MFRA now) uses a syntax and middleware pattern for its controllers that is similar to that used by Express.js.

  • CommonJS Module syntax

    Understand how to define and use CommonJS modules. This pattern is used heavily within the SFRA architecture.

  • NPM Scripts

    Understand how NPM Scripts are executed and configured. SFRA uses them for building all static assets (CSS, JavaScript, etc.), as well as unit tests, and deploying to a sandbox.

If you're completely new to SFCC development and you'll be building more than just the template layer, you should use as much of the Commerce Cloud eLearning content available as possible. You can find this content from within the Commerce Cloud Developer Center

Some suggested courses that were/are offered by Salesforce:

  • DEV001: Commerce Cloud Digital Architecture Overview
  • DEV101: Developing for Commerce Cloud Digital I - This is a paid course; highly recommended and required for dev certification.
  • DEV180: Developing for Commerce Cloud Storefront Reference Architecture - Focused course on developing using SFRA.
  • DEV181: Cartridges and Commerce Cloud Storefront Reference Architecture - Focused course on understanding cartridges and extending SFRA.
  • DEV201: Developing for Commerce Cloud Digital II - Critical scalability, performance, and customization learning that applies to all aspects of the platform.

Finally, after all that learning, you may find that you're having trouble getting up to speed or that you're not getting answers to your questions on SFCC Developer Center Discussion Groups. You may also request an invitation to the SFCC Unofficial Slack community by submitting this application form. Please keep in mind that this Slack channel is operated and supported entirely by volunteer efforts from other developers, architects, and business users. We would ask that you do your part to give back when you feel comfortable doing so.

2
On

I heard that learning AngularJS and React would help a lot to excel in Demandware.

2
On

It mostly depends on the project what you get.

Old Demandware uses pipelines, which look like algorithms and uses DemandwareScript, which is ECMAScript 4 and the programming part is very easy. The frontend part saves states for some objects.

New Demandware uses controllers and has more code, and I think currently it is ECMAScript 5. Grunt is generally used for continuous integration, with a lot of Node.js modules. It is also more testable and Mocha, Chai and Jasmine are also used for testing. The frontend part is stateless, contrary to Angular or React and introduces promises.