2

We can apply Helix principles for back-end(C# MVC) application for modular architecture.

Can we use Helix principles for JSS application?

Is it recommended to use Helix for front-end application(JSS)?

Thanks for suggestion.

1 Answer 1

9

You can certainly follow Helix principles with JSS.

Helix modules will contain less code, due to the fact that Sitecore JSS does a lot of item manipulation work for us. This decreases the value of keeping Helix modules in separate Visual Studio projects. And as you know, having a lot of projects in your VS solution increases build time significantly.

You should remember that in Helix architecture, it is the logical boundary and the proper dependency direction which matters, not the physical boundary (which is created by separate VS projects). Having many projects in a Visual Studio solution is often considered as an anti-pattern.

Therefore, you should consider combing your modules, especially in Feature and Project layers into a single Visual Studio project and enforcing Helix dependency principles in different ways. But, as usual, it depends.

Front-end developers will store their code separately from Sitecore back-end code, in some cases maybe even in separate source code repositories. However, even then it is important to keep in sync Helix feature names with an appropriate folder structure in the JSS application to make sure that code base is readable and easily maintainable.

There are two really good resources for this topic:

  1. Session done by Jean-François L'Heureux for Sitecore Symposium 2018 -> https://www.jflh.ca/2018-10-13-helix-and-sitecore-javascript-services
  2. Article written by Vitalii Tylyk -> https://blog.vitaliitylyk.com/sitecore-jss-meets-helix-introduction/

There are also two really good repositories to begin with:

  1. https://github.com/jflheureux/jss-app-templates
  2. https://github.com/andiappan-ar/sitecore.first-jss-helix

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.