Development Workflows : Code First vs Sitecore First | Connected & Disconnected Mode | Integration  &  Headless Mode

Development Workflows : Code First vs Sitecore First | Connected & Disconnected Mode | Integration & Headless Mode

Development workflows : Code First vs Sitecore First

Watch complete video : Click on this link

Code First

In the Code First approach, developers define the application structure, components, templates, and layouts in code. These definitions are then synchronized with the Sitecore instance.

  • Define templates and components in code
  • Can be done without a live Sitecore instance
  • Content editors manage content after code sync
  • Ensures consistency through automated deployments
  • Requires more setup and familiarity with JSS

Sitecore First

In the Sitecore First approach, templates, layouts, and components are defined directly within the Sitecore CMS by content editors or developers. The application structure is then pulled into the JSS application.

  • Define templates and components in Sitecore
  • Requires Sitecore instance for template creation
  • Content editors can start managing content early
  • Potential for inconsistencies if manual steps are involved
  • Easier initial setup for those familiar with Sitecore

Choosing between the Code First and Sitecore First approaches in Sitecore JSS depends on the project requirements, team expertise, and development workflow preferences. The Code First approach offers greater flexibility, maintainability, and control over the codebase, while the Sitecore First approach allows for quicker initial setup and early content entry by leveraging Sitecore’s content management tools

Connected Mode

Connected Mode involves developing your JSS application with a direct, real-time connection to a Sitecore instance. This mode allows you to utilize Sitecore's backend services, content management features, and APIs during development.

  • Requires a running Sitecore instance
  • Real-time data from Sitecore
  • Full use of Sitecore content management features
  • Fully integrated, supports in-context editing
  • Can be slower due to dependency on Sitecore

Disconnected Mode

Disconnected Mode allows developers to work on the JSS application independently of a Sitecore instance. Content and templates are defined in static JSON files or code, and the application is developed and tested locally without needing Sitecore.

  • No Sitecore instance needed during development
  • Static JSON files or code-based data
  • Limited to mock data during development
  • Not available, testing done in local environment
  • Faster, as it is independent of Sitecore

Choosing between Connected Mode and Disconnected Mode depends on the development workflow, project requirements, and the stage of the project. Disconnected Mode is often used during the initial stages of development to accelerate front-end work, while Connected Mode is leveraged for integration testing and final deployment to ensure everything works seamlessly with the Sitecore backend

Integration Mode

In Integration Mode, the Sitecore JSS application is tightly coupled with the Sitecore server. This mode allows for a seamless integration between the Sitecore content management system (CMS) and the front-end application, enabling rich content authoring and real-time updates.

  • The front-end application communicates directly with the Sitecore server for content delivery and personalization
  • Content authors can see changes in real-time as they edit content within the Sitecore Experience Editor
  • Full support for Sitecore’s personalization and analytics features, allowing for dynamic and personalized content experiences.
  • The application can leverage Sitecore’s built-in content delivery capabilities

Headless Mode

In Headless Mode, the Sitecore JSS application operates independently of the Sitecore server. The application consumes content through RESTful APIs or GraphQL endpoints, making it more decoupled and flexible.

  • The front-end application is separated from the Sitecore server, often hosted independently
  • Content is fetched via Sitecore's Content Delivery API, allowing for flexible content consumption
  • Easier to scale the front-end and back-end independently, as they are not tightly coupled
  • The front-end can be built with any JavaScript framework (e.g., React, Angular, Vue) and hosted on various platforms.
  • Ideal for scenarios where content needs to be delivered across multiple channels

Watch complete video : Click on this link


Anton Tishchenko

Sitecore MVP 2019-2025

7 个月

Do you use the Code First approach on your projects?

要查看或添加评论,请登录

Jitendra Ghanekar的更多文章

  • XM Cloud Basic Terminology: Organization, Project, Environments and basic Architecture

    XM Cloud Basic Terminology: Organization, Project, Environments and basic Architecture

    Organization, Project & Environment Organization : An organization represents a business unit, such as a company or…

  • Explain the Garbage Collection process in .NET

    Explain the Garbage Collection process in .NET

    Watch our YouTube video for better explanation - Click here Garbage Collection in .NET is an automatic memory…

  • Sitecore XM Cloud : Introduction

    Sitecore XM Cloud : Introduction

    Watch complete explanation in video - Click Here What is Composable Architecture? Composable architecture is a modern…

  • Quick Tech Byte 02 : Managed and Unmanaged Code In .NET

    Quick Tech Byte 02 : Managed and Unmanaged Code In .NET

    Explain the difference between managed and unmanaged code in .NET Managed Code: This is code that runs under the…

  • Dependency Injection : Critical concept in dot net

    Dependency Injection : Critical concept in dot net

    What is Dependency Injection (DI) Dependency Injection (DI) is a software design pattern that allows us to develop…

  • QUICK TECH BYTE 01 : USING STATEMENT IN DOT NET

    QUICK TECH BYTE 01 : USING STATEMENT IN DOT NET

    What is the purpose of the using statement in .NET? Namespace Declaration: It allows you to use the types defined in a…

  • Experience Edge for XM

    Experience Edge for XM

    Sitecore Experience Edge for XM is a highly scalable delivery platform that enables you to build Jamstack architectures…

  • GraphQL Overview

    GraphQL Overview

    For complete explanation watch video on YouTube - Video Link What is GraphQL GraphQL is a query language for your API…

  • JSS Architecture – REST APIs

    JSS Architecture – REST APIs

    Watch complete explanation on this YouTube Video - Video Link Layout Service The Layout Service in Sitecore JSS…

  • Sitecore JSS Architecture – Rendering Engines

    Sitecore JSS Architecture – Rendering Engines

    Click here to watch video : Video Link Server-Side Rendering (SSR) SSR refers to rendering the full HTML of a page on…