SlideShare a Scribd company logo
1 of 56
JSS & Helix principles
in a real project
Our first
Sitecore Headless website is Live!
26.03.2019Sitecore User Group Belarus
JSS & Helix principles
in a real project
Our first
Sitecore Headless website is Live!
26.03.2019Sitecore User Group Belarus
Who am I
Valiantsin Shendzerau
Sitecore developer
7,5 years of Sitecore experience
Sitecore User Group Belarus 26.03.2019
What be will be here today
• A bit of JSS & Helix theory
• How we’ve started our first JSS project
• Which directions were chosen
• How to combine JSS & Helix
• JSS customizations
• Tips & tricks
Sitecore User Group Belarus 26.03.2019
What you will not hear today
• Front-end tips and tricks
• JSS and GraphQL support
• JSS and Azure deployments
• JSS and Personalization
• JSS and Analytics
Sitecore User Group Belarus 26.03.2019
What is Headless CMS?
A headless content management system, or headless CMS, is a back-end
only content management system (CMS) built from the ground up as a
content repository that makes content accessible via a RESTful API for
display on any device.
Sitecore User Group Belarus 26.03.2019
What are the benefits of Headless CMS
• Future-proofs your website implementation, letting you redesign the site
without re-implementing the CMS itself
• Sets frontend developers free from the conventions and structures of the
backend
• Performance: depending on your site's requirements, a headless CMS can
export static HTML to any number of servers. For more dynamic sites, your
servers don't have to manage template/layout work and your front-end code
can do more of the heavy lifting for making the pages more dynamic.
• In the most advanced cases, your website can be packaged and bundled as a
Progressive Web Application (PWA), which can run as a mobile app right from a
user’s home screen
• Technical agnosticism: in theory if you put all the work in place to completely
decouple all of the layers of your applications, you could even drop in a new
CMS and not have to touch any of your client applications. In theory.
Sitecore User Group Belarus 26.03.2019
What is Sitecore JSS?
Sitecore JavaScript Services (JSS) is a complete SDK for JavaScript developers
that enables you to build full-fledged solutions using Sitecore and modern
JavaScript UI libraries and frameworks.
Sitecore User Group Belarus 26.03.2019
JSS Elements
Sitecore User Group Belarus 26.03.2019
Sitecore Integration and Data Flow
Sitecore User Group Belarus 26.03.2019
JSS Development workflows
• Code-first
• Sitecore-first
Sitecore User Group Belarus 26.03.2019
JSS Development workflows
• Code-first
• Sitecore-first / Contract-first
Sitecore User Group Belarus 26.03.2019
JSS application modes
• Disconnected developer mode
• Connected developer mode
• Integrated mode
• Headless server-side rendering mode
• API-Only Mode
Sitecore User Group Belarus 26.03.2019
Sitecore Helix
Sitecore Helix is a set of official guidelines and recommended practices for
Sitecore Development
With the introduction of Helix, Sitecore now provides a set of architecture
conventions and guidelines that describe how to apply recommended
technical design principles to a Sitecore project
The purpose is to secure implementations in a future-proof way by
architecting them as maintainable and extensible business-centric modules
Sitecore User Group Belarus 26.03.2019
Sitecore Helix
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
New We are you website
• Sitecore 9.0.2
• JSS 11.0
• Sitecore/contract-first
• Headless server-side rendering mode
• React
• Helix principles
Sitecore User Group Belarus 26.03.2019
Sitecore & JSS versions
• Sitecore 9.0.2
• JSS TP 4
• Sitecore 9.0.2
• JSS 11.0
Sitecore User Group Belarus 26.03.2019
Latest versions
• Sitecore 9.1
• JSS 11.0.2
Sitecore User Group Belarus 26.03.2019
Choosing the right JavaScript framework
Sitecore User Group Belarus 26.03.2019
How to organize source code
Sitecore User Group Belarus 26.03.2019
How we’ve organize
source code
• Same repo
• Different folders for React app and
Visual studio solution
Code-first or Contact-first
Sitecore User Group Belarus 26.03.2019
Code-first
Sitecore User Group Belarus 26.03.2019
• Early prototyping of a design, where a Sitecore instance may not be
available to deploy to
• The primary developers on the team are JavaScript developers
• Frontend developers will not have their own Sitecore instances
• The needs of the app are relatively simple from a content perspective
• Hiring an external frontend agency to build a JSS app that will later be
integrated to Sitecore
Code-first
Sitecore User Group Belarus 26.03.2019
Contract-first
Sitecore User Group Belarus 26.03.2019
• The project is led by experienced Sitecore developers who prefer to work in
Sitecore
• Complex content or backend architectural demands. (e.g. adding a JSS site
into an existing Sitecore instance)
• Sitecore developers are also implementing the JavaScript application.
• JSS apps will be deployed and versioned using the same deployment
process. (e.g. same source repository and CI process)
Our Contract-first approach
Sitecore User Group Belarus 26.03.2019
• Front-end & back-end developers agrees on component data structure
• Front-end developers are preparing React components via React Storybook
with static JSON data placed in data.json file
• Back-end developers are preparing JSS Json renderings via Content
Resolvers generating same JSON structure
Sitecore User Group Belarus 26.03.2019
So what are Rendering Content Resolvers?
Sitecore User Group Belarus 26.03.2019
• By default, when serializing a rendering to JSON, the Layout Service will
populate the rendering contents with the fields of the rendering's
datasource item
• JSS allows you to configure a Rendering Contents Resolver on each
rendering, which determines how a rendering and its associated data are
serialized
Rendering Content Resolvers from the box
Sitecore User Group Belarus 26.03.2019
• Datasource Resolver - The default behavior, serializes the rendering's
datasource item
• Datasource Item Children Resolver - Serializes the children of the
datasource item
• Context Item Resolver - Serializes the context item instead of the
datasource item
• Context Item Children Resolver - Serializes the children of the context item
• Folder Filter Resolver - Serializes the descendents of the datasource item,
excluding folders
Customizing Rendering Content Resolvers
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
So what was our choice
Sitecore User Group Belarus 26.03.2019
• Custom Rendering Content Resolvers for both Dataources & Rendering
Parameters
• Convert GlassMapper models to JSON via AutoMapper
What are the benefits
Sitecore User Group Belarus 26.03.2019
• Full control over Layout Service response per rendering
• Inject of 3rd party dependencies, e.g. API calls while generating JSON
response
• Helix-adoptable
Extending Context Data Returned by the
Layout Service
Sitecore User Group Belarus 26.03.2019
• In addition to returning the name, fields, and placeholders/renderings of
the requested item, the Layout Service output also contains a context
property. Like Sitecore.Context in .NET-based Sitecore development, this
property can be used to provide data on cross-cutting concerns and other
information derived from the HTTP Context, such as the current site context
and page mode
• The JSS base class gives you the ability to configure the Layout Service
configuration, JSS app(s), and JSS route(s) for which the processor should
execute
Sitecore User Group Belarus 26.03.2019
How to optimize Layout Service response
Sitecore User Group Belarus 26.03.2019
• Remove context item fields from response
• Remove rendering parameters from response
• Optimize JSON serialization
Sitecore User Group Belarus 26.03.2019
Injecting JSS into Helix-based project
Sitecore User Group Belarus 26.03.2019
• One Foundation module for global customizations
• Placing Custom Rendering Content Resolvers & Layout Service Extensions
on Feature module level
Sitecore User Group Belarus 26.03.2019
Tips & tricks: be careful with Proxy mode
Sitecore User Group Belarus 26.03.2019
• Seems to be the most unstable part of JSS right now
• E.g. 2 major issue was found by our Team during last weeks
Tips & tricks: be careful with Proxy mode
Sitecore User Group Belarus 26.03.2019
Tips & tricks: customize you component
factory JavaScript
Sitecore User Group Belarus 26.03.2019
Tips & tricks: install JSS server via SIF
Sitecore User Group Belarus 26.03.2019
Tips & tricks: install JSS via SIF
Sitecore User Group Belarus 26.03.2019
Tips & tricks: front-end developer can connect
his app to Test environment layout service
Sitecore User Group Belarus 26.03.2019
Tips & tricks: use NuGet
Sitecore User Group Belarus 26.03.2019
Tips & tricks: use NuGet
Sitecore User Group Belarus 26.03.2019
sitecore.myget.org
JSS docs
jss.sitecore.com
JSS in Slack
sitecorechat.slack.com
#JSS
Kam Figy
• kamsar.net
• twitter.com/kamsar
Corey Smith
• www.coreysmith.co
• twitter.com/sitecorey
Anton Kuryan
• dobryak.org
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019
Sitecore User Group Belarus 26.03.2019

More Related Content

What's hot

FRONT-END WEB DEVELOPMENT WITH REACTJS
FRONT-END WEB DEVELOPMENT WITH REACTJSFRONT-END WEB DEVELOPMENT WITH REACTJS
FRONT-END WEB DEVELOPMENT WITH REACTJSTran Phong Phu
 
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...Amazon Web Services
 
WordPress Website Design Proposal Template PowerPoint Presentation Slides
WordPress Website Design Proposal Template PowerPoint Presentation SlidesWordPress Website Design Proposal Template PowerPoint Presentation Slides
WordPress Website Design Proposal Template PowerPoint Presentation SlidesSlideTeam
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLJayant Surana
 
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법Amazon Web Services Korea
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An IntroductionJamieTaylor112
 
WEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxWEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxRajnirani18
 
Moving to a headless solution based on sitecore 9 and javascript services
Moving to a headless solution based on sitecore 9 and javascript servicesMoving to a headless solution based on sitecore 9 and javascript services
Moving to a headless solution based on sitecore 9 and javascript servicesMohamed Krimi
 
Introduce Bootstrap 3 to Develop Responsive Design Application
Introduce Bootstrap 3 to Develop Responsive Design ApplicationIntroduce Bootstrap 3 to Develop Responsive Design Application
Introduce Bootstrap 3 to Develop Responsive Design ApplicationeXo Platform
 
OSMC 2021 | Introduction into OpenSearch
OSMC 2021 | Introduction into OpenSearchOSMC 2021 | Introduction into OpenSearch
OSMC 2021 | Introduction into OpenSearchNETWAYS
 
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024Lily Ray
 
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍Amazon Web Services Korea
 
web development.pptx
web development.pptxweb development.pptx
web development.pptxMohdArbazraza
 
Elementor - WordPress WYSIWYG Page Builder
Elementor - WordPress WYSIWYG Page BuilderElementor - WordPress WYSIWYG Page Builder
Elementor - WordPress WYSIWYG Page BuilderRolf Mistelbacher
 
Big Data Analytics with Google BigQuery. By Javier Ramirez. All your base Co...
Big Data Analytics with Google BigQuery.  By Javier Ramirez. All your base Co...Big Data Analytics with Google BigQuery.  By Javier Ramirez. All your base Co...
Big Data Analytics with Google BigQuery. By Javier Ramirez. All your base Co...javier ramirez
 
Introduction to WordPress
Introduction to WordPressIntroduction to WordPress
Introduction to WordPressEunus Hosen
 

What's hot (20)

FRONT-END WEB DEVELOPMENT WITH REACTJS
FRONT-END WEB DEVELOPMENT WITH REACTJSFRONT-END WEB DEVELOPMENT WITH REACTJS
FRONT-END WEB DEVELOPMENT WITH REACTJS
 
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
Migrate from Oracle to Amazon Aurora using AWS Schema Conversion Tool & AWS D...
 
WordPress Website Design Proposal Template PowerPoint Presentation Slides
WordPress Website Design Proposal Template PowerPoint Presentation SlidesWordPress Website Design Proposal Template PowerPoint Presentation Slides
WordPress Website Design Proposal Template PowerPoint Presentation Slides
 
Web development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQLWeb development using javaScript, React js, Node js, HTML, CSS and SQL
Web development using javaScript, React js, Node js, HTML, CSS and SQL
 
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법
AWS Summit Seoul 2023 | 100만명이 사용하는 GenerativeAI 이루다를 만들면서 배운 것 : 스캐터랩의 AWS 활용법
 
Blazor
BlazorBlazor
Blazor
 
Wordpress ppt
Wordpress pptWordpress ppt
Wordpress ppt
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
 
Web Development
Web DevelopmentWeb Development
Web Development
 
WEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptxWEB DEVELOPMENT.pptx
WEB DEVELOPMENT.pptx
 
Moving to a headless solution based on sitecore 9 and javascript services
Moving to a headless solution based on sitecore 9 and javascript servicesMoving to a headless solution based on sitecore 9 and javascript services
Moving to a headless solution based on sitecore 9 and javascript services
 
Introduce Bootstrap 3 to Develop Responsive Design Application
Introduce Bootstrap 3 to Develop Responsive Design ApplicationIntroduce Bootstrap 3 to Develop Responsive Design Application
Introduce Bootstrap 3 to Develop Responsive Design Application
 
OSMC 2021 | Introduction into OpenSearch
OSMC 2021 | Introduction into OpenSearchOSMC 2021 | Introduction into OpenSearch
OSMC 2021 | Introduction into OpenSearch
 
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024
Fear and Loathing Google in Las Vegas - Lily Ray SEO Presentation 2024
 
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍
AWS Quicksight에서의 비즈니스 인텔리전스 - 김기완 :: 2015 리인벤트 리캡 게이밍
 
web development.pptx
web development.pptxweb development.pptx
web development.pptx
 
Elementor - WordPress WYSIWYG Page Builder
Elementor - WordPress WYSIWYG Page BuilderElementor - WordPress WYSIWYG Page Builder
Elementor - WordPress WYSIWYG Page Builder
 
Big Data Analytics with Google BigQuery. By Javier Ramirez. All your base Co...
Big Data Analytics with Google BigQuery.  By Javier Ramirez. All your base Co...Big Data Analytics with Google BigQuery.  By Javier Ramirez. All your base Co...
Big Data Analytics with Google BigQuery. By Javier Ramirez. All your base Co...
 
Introduction to WordPress
Introduction to WordPressIntroduction to WordPress
Introduction to WordPress
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
 

Similar to Sitecore JSS & Helix principles in a real project

Sitecore 9 - What's new?
Sitecore 9 - What's new?Sitecore 9 - What's new?
Sitecore 9 - What's new?Adrian IORGU
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward tojinto77
 
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!Vadzim Papko
 
What's new in Sitecore 9.3
What's new in Sitecore 9.3What's new in Sitecore 9.3
What's new in Sitecore 9.3Pieter Brinkman
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Peter Procházka
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...VarunNehra
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Peter Procházka
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
 
React JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptxReact JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptxEllocent Labs
 
Building Microtrends With React
Building Microtrends With ReactBuilding Microtrends With React
Building Microtrends With ReactNisheed Jagadish
 
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdfAre Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdfPeter Procházka
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKJitendra Soni
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Peter Procházka
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Markus Eisele
 
How to automate Sitecore deployment to Azure
How to automate Sitecore deployment to AzureHow to automate Sitecore deployment to Azure
How to automate Sitecore deployment to AzureRobert Senktas
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...Simplilearn
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudodharmeshharji
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPSeanHolmesby1
 

Similar to Sitecore JSS & Helix principles in a real project (20)

Sitecore 9 - What's new?
Sitecore 9 - What's new?Sitecore 9 - What's new?
Sitecore 9 - What's new?
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
 
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
#SitecoreJSS and #SitecoreSXA together. Is It Real? First experience!
 
What's new in Sitecore 9.3
What's new in Sitecore 9.3What's new in Sitecore 9.3
What's new in Sitecore 9.3
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
Blazing fast web experience at your fingertips with Experience Edge, JSS for ...
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
React JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptxReact JS Unleashing the Power of Front-End Development.pptx
React JS Unleashing the Power of Front-End Development.pptx
 
Building Microtrends With React
Building Microtrends With ReactBuilding Microtrends With React
Building Microtrends With React
 
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdfAre Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
Are Frameworks Evil; Should you care about Sitecore SXA and JSS;.pdf
 
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UKSitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
 
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
Are Frameworks Evil? Should you care about Sitecore SXA and JSS?
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
How to automate Sitecore deployment to Azure
How to automate Sitecore deployment to AzureHow to automate Sitecore deployment to Azure
How to automate Sitecore deployment to Azure
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...
React vs Vue JS Explained | Vue JS vs React Which Is Better? | Vue JS for Beg...
 
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - AltudoSUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
SUGMEA - Sitecore JSS and Performance Optimization - Alex Shyba - Altudo
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XP
 

Recently uploaded

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 

Sitecore JSS & Helix principles in a real project

  • 1. JSS & Helix principles in a real project Our first Sitecore Headless website is Live! 26.03.2019Sitecore User Group Belarus
  • 2. JSS & Helix principles in a real project Our first Sitecore Headless website is Live! 26.03.2019Sitecore User Group Belarus
  • 3. Who am I Valiantsin Shendzerau Sitecore developer 7,5 years of Sitecore experience Sitecore User Group Belarus 26.03.2019
  • 4. What be will be here today • A bit of JSS & Helix theory • How we’ve started our first JSS project • Which directions were chosen • How to combine JSS & Helix • JSS customizations • Tips & tricks Sitecore User Group Belarus 26.03.2019
  • 5. What you will not hear today • Front-end tips and tricks • JSS and GraphQL support • JSS and Azure deployments • JSS and Personalization • JSS and Analytics Sitecore User Group Belarus 26.03.2019
  • 6. What is Headless CMS? A headless content management system, or headless CMS, is a back-end only content management system (CMS) built from the ground up as a content repository that makes content accessible via a RESTful API for display on any device. Sitecore User Group Belarus 26.03.2019
  • 7. What are the benefits of Headless CMS • Future-proofs your website implementation, letting you redesign the site without re-implementing the CMS itself • Sets frontend developers free from the conventions and structures of the backend • Performance: depending on your site's requirements, a headless CMS can export static HTML to any number of servers. For more dynamic sites, your servers don't have to manage template/layout work and your front-end code can do more of the heavy lifting for making the pages more dynamic. • In the most advanced cases, your website can be packaged and bundled as a Progressive Web Application (PWA), which can run as a mobile app right from a user’s home screen • Technical agnosticism: in theory if you put all the work in place to completely decouple all of the layers of your applications, you could even drop in a new CMS and not have to touch any of your client applications. In theory. Sitecore User Group Belarus 26.03.2019
  • 8. What is Sitecore JSS? Sitecore JavaScript Services (JSS) is a complete SDK for JavaScript developers that enables you to build full-fledged solutions using Sitecore and modern JavaScript UI libraries and frameworks. Sitecore User Group Belarus 26.03.2019
  • 9. JSS Elements Sitecore User Group Belarus 26.03.2019
  • 10. Sitecore Integration and Data Flow Sitecore User Group Belarus 26.03.2019
  • 11. JSS Development workflows • Code-first • Sitecore-first Sitecore User Group Belarus 26.03.2019
  • 12. JSS Development workflows • Code-first • Sitecore-first / Contract-first Sitecore User Group Belarus 26.03.2019
  • 13. JSS application modes • Disconnected developer mode • Connected developer mode • Integrated mode • Headless server-side rendering mode • API-Only Mode Sitecore User Group Belarus 26.03.2019
  • 14. Sitecore Helix Sitecore Helix is a set of official guidelines and recommended practices for Sitecore Development With the introduction of Helix, Sitecore now provides a set of architecture conventions and guidelines that describe how to apply recommended technical design principles to a Sitecore project The purpose is to secure implementations in a future-proof way by architecting them as maintainable and extensible business-centric modules Sitecore User Group Belarus 26.03.2019
  • 15. Sitecore Helix Sitecore User Group Belarus 26.03.2019
  • 16. Sitecore User Group Belarus 26.03.2019
  • 17. New We are you website • Sitecore 9.0.2 • JSS 11.0 • Sitecore/contract-first • Headless server-side rendering mode • React • Helix principles Sitecore User Group Belarus 26.03.2019
  • 18. Sitecore & JSS versions • Sitecore 9.0.2 • JSS TP 4 • Sitecore 9.0.2 • JSS 11.0 Sitecore User Group Belarus 26.03.2019
  • 19. Latest versions • Sitecore 9.1 • JSS 11.0.2 Sitecore User Group Belarus 26.03.2019
  • 20. Choosing the right JavaScript framework Sitecore User Group Belarus 26.03.2019
  • 21. How to organize source code Sitecore User Group Belarus 26.03.2019
  • 22. How we’ve organize source code • Same repo • Different folders for React app and Visual studio solution
  • 23. Code-first or Contact-first Sitecore User Group Belarus 26.03.2019
  • 24. Code-first Sitecore User Group Belarus 26.03.2019 • Early prototyping of a design, where a Sitecore instance may not be available to deploy to • The primary developers on the team are JavaScript developers • Frontend developers will not have their own Sitecore instances • The needs of the app are relatively simple from a content perspective • Hiring an external frontend agency to build a JSS app that will later be integrated to Sitecore
  • 25. Code-first Sitecore User Group Belarus 26.03.2019
  • 26. Contract-first Sitecore User Group Belarus 26.03.2019 • The project is led by experienced Sitecore developers who prefer to work in Sitecore • Complex content or backend architectural demands. (e.g. adding a JSS site into an existing Sitecore instance) • Sitecore developers are also implementing the JavaScript application. • JSS apps will be deployed and versioned using the same deployment process. (e.g. same source repository and CI process)
  • 27. Our Contract-first approach Sitecore User Group Belarus 26.03.2019 • Front-end & back-end developers agrees on component data structure • Front-end developers are preparing React components via React Storybook with static JSON data placed in data.json file • Back-end developers are preparing JSS Json renderings via Content Resolvers generating same JSON structure
  • 28. Sitecore User Group Belarus 26.03.2019
  • 29. So what are Rendering Content Resolvers? Sitecore User Group Belarus 26.03.2019 • By default, when serializing a rendering to JSON, the Layout Service will populate the rendering contents with the fields of the rendering's datasource item • JSS allows you to configure a Rendering Contents Resolver on each rendering, which determines how a rendering and its associated data are serialized
  • 30. Rendering Content Resolvers from the box Sitecore User Group Belarus 26.03.2019 • Datasource Resolver - The default behavior, serializes the rendering's datasource item • Datasource Item Children Resolver - Serializes the children of the datasource item • Context Item Resolver - Serializes the context item instead of the datasource item • Context Item Children Resolver - Serializes the children of the context item • Folder Filter Resolver - Serializes the descendents of the datasource item, excluding folders
  • 31. Customizing Rendering Content Resolvers Sitecore User Group Belarus 26.03.2019
  • 32. Sitecore User Group Belarus 26.03.2019
  • 33. So what was our choice Sitecore User Group Belarus 26.03.2019 • Custom Rendering Content Resolvers for both Dataources & Rendering Parameters • Convert GlassMapper models to JSON via AutoMapper
  • 34. What are the benefits Sitecore User Group Belarus 26.03.2019 • Full control over Layout Service response per rendering • Inject of 3rd party dependencies, e.g. API calls while generating JSON response • Helix-adoptable
  • 35. Extending Context Data Returned by the Layout Service Sitecore User Group Belarus 26.03.2019 • In addition to returning the name, fields, and placeholders/renderings of the requested item, the Layout Service output also contains a context property. Like Sitecore.Context in .NET-based Sitecore development, this property can be used to provide data on cross-cutting concerns and other information derived from the HTTP Context, such as the current site context and page mode • The JSS base class gives you the ability to configure the Layout Service configuration, JSS app(s), and JSS route(s) for which the processor should execute
  • 36. Sitecore User Group Belarus 26.03.2019
  • 37. How to optimize Layout Service response Sitecore User Group Belarus 26.03.2019 • Remove context item fields from response • Remove rendering parameters from response • Optimize JSON serialization
  • 38. Sitecore User Group Belarus 26.03.2019
  • 39. Injecting JSS into Helix-based project Sitecore User Group Belarus 26.03.2019 • One Foundation module for global customizations • Placing Custom Rendering Content Resolvers & Layout Service Extensions on Feature module level
  • 40. Sitecore User Group Belarus 26.03.2019
  • 41. Tips & tricks: be careful with Proxy mode Sitecore User Group Belarus 26.03.2019 • Seems to be the most unstable part of JSS right now • E.g. 2 major issue was found by our Team during last weeks
  • 42. Tips & tricks: be careful with Proxy mode Sitecore User Group Belarus 26.03.2019
  • 43. Tips & tricks: customize you component factory JavaScript Sitecore User Group Belarus 26.03.2019
  • 44. Tips & tricks: install JSS server via SIF Sitecore User Group Belarus 26.03.2019
  • 45. Tips & tricks: install JSS via SIF Sitecore User Group Belarus 26.03.2019
  • 46. Tips & tricks: front-end developer can connect his app to Test environment layout service Sitecore User Group Belarus 26.03.2019
  • 47. Tips & tricks: use NuGet Sitecore User Group Belarus 26.03.2019
  • 48. Tips & tricks: use NuGet Sitecore User Group Belarus 26.03.2019 sitecore.myget.org
  • 51. Kam Figy • kamsar.net • twitter.com/kamsar
  • 52. Corey Smith • www.coreysmith.co • twitter.com/sitecorey
  • 54. Sitecore User Group Belarus 26.03.2019
  • 55. Sitecore User Group Belarus 26.03.2019
  • 56. Sitecore User Group Belarus 26.03.2019

Editor's Notes

  1. Немного теории чтобы все имели представление о чём идёт речь Наш первый проект на JSS – как мы начинали Какой мы делали выбор в той или иной ситуации JSS & Helix – как это работает Кастомизация JSS – немного примером из того что делали мы Советы и трюки – возможно они вам пригодятся
  2. Википедия: backend-only cистема управления сайтами построенная как репозитоий контента и делающая контент доступным через REST для отображения на любых девайсах
  3. Production режимы: 3 последних Development режимы: 3 первых Headless server-side rendering mode – начинайте тестировать его уже во время разработки
  4. Helix – набор гайдлайнов по компонентной разработке на Sitecore, позволяющий создавать расширяемые и хорошо поддерживае решения.
  5. Зависимости: описывают как фичи и функционал в решении взаимодействуют друг с другом Слои: контролируют направление зависимостей Модули: определяют изоляцию фич и функционала для упрощение процесса разработки и повышения качества кода
  6. Сайт We are you, быстрый обзор Страницы, ответ Layout Service, обзор ответа для компонента PageHeader
  7. Update
  8. Плюсы: синхранизация версий в одном репозитории, это указано где-то в документации JSS
  9. Ранне прототипирование дизайна JavaScript девелоперы – основа команды Frontend девелоперы рабатают без инстансов Sitecore Несложная структура контента Frontend реализация до старта backend-проекта
  10. У вас в команде есть опытные Sitecore-разработчики У вас сложная структуру данных или сложное решение Sitecore-девелоперы могут писать JavaScript-код JSS приложение и Headless CMS доставляются в одном CI процессе
  11. Показать React-компонент, data.json и JSON Rendering в Sitecore
  12. По умолчанию Layout Service отдаёт поля datasource Можно конфигурировать свой
  13. Набор “из коробки”
  14. Релиазовать свой резолвер контента через интерфейс IRenderingContentsResolver
  15. JSS поставляет базовый класс, который позовляет добавлять конфигурации Layout Service, JSS приложений, и JSS маршрутов для которых будет выполняться процессор.
  16. Фича Google Tag Manager
  17. Убрать поля айтема из ответа Layout Service – наш сайт полностью построен на компонентах и все данные мы возвращем для каждого рендеринга через Custom Rendering Contents Resolver Убрать рендеринг параметры - все данные мы обрабатываем и возвращем для каждого рендеринга через Custom Rendering Contents Resolver Оптимизировать сериализацию JSON – убрать значения null и значения по умолчанию
  18. Модуль Foundation
  19. Модуль Foundation для: глобальных кастомизаций, базового класс Rendering Contents Resolver, сериализация данных в Unicorn Модули Feature для кастомных Rendering Contents Resolver и кастомных процессоров для расширения ответа Layout Service
  20. Проекты Visual Studio, теплейты в Sitecore