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.
Sitecore Stack Exchange is a question and answer site for developers and end users of the Sitecore CMS and multichannel marketing software. It only takes a minute to sign up.
Sign up to join this communityYou 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:
There are also two really good repositories to begin with: