Skip to main content

The Digital SDK and Digital SDK UI Extensions

As a frontend developer building Jutro apps on Guidewire Cloud, you will need to interface with InsuranceSuite using Cloud APIs. This process often involves writing repetitive code that is more focused on the technical aspects of API interaction rather than the core business logic of your application.

To help you align your code with the business semantics, the Digital SDK and Digital SDK UI Extensions allow you to write code in a more declarative style, reducing the boilerplate associated with InsuranceSuite-related logic, and letting you focus on the business logic of your application.

Digital SDK introduction

The Digital SDK is a generated set of tools designed to facilitate the interaction with InsuranceSuite Cloud APIs in JavaScript and TypeScript applications.

Unlike traditional libraries that are published to a package registry, the Digital SDK is generated directly within your application using a command-line interface (CLI). This CLI reads the OpenAPI definitions and the entity schemas from InsuranceSuite, and generates a unique Digital SDK tailored to your specific backend.

You can generate the Digital SDK using either the Jutro CLI (when used alongside the Digital SDK UI Extensions) or the Digital SDK CLI (for standalone use).

The key features of the Digital SDK include:

  • TypeScript types for your InsuranceSuite entities.
  • API request functions for seamless interaction with the Cloud APIs.
  • Schema and validation functions that replicate the rules defined in InsuranceSuite.

The Digital SDK works independently from the rest of Jutro. For more information about the Digital SDK, see the Digital SDK documentation.

Digital SDK UI Extensions introduction

The Digital SDK UI Extensions are a set of generated abstractions that expand the Digital SDK to work more effectively in React-based applications by leveraging primitives only available in React.

These UI extensions follow the same generative approach as the Digital SDK. After processing the OpenAPI definitions and the IS schemas from InsuranceSuite, the Jutro CLI generates the Digital SDK within your application. The Digital SDK UI Extensions are generated in a separate JutroUtils directory, and they use the Digital SDK as a dependency.

The key features of the Digital SDK UI Extensions expand the Digital SDK functionality into the React ecosystem:

  • React state management using the Digital SDK entity types.
  • React stateful entity validation using the Digital SDK schema functions.
  • React components that connect your IS entities to the Jutro Design System components.
Note: The Digital SDK UI Extensions template demonstrates various use cases of the Digital SDK UI Extensions components.

For more information on Jutro templates, see the Jutro app template documentation.

Identifying the right tool for your use case

The table below highlights key differences between the Digital SDK and UI Extensions. Using this information and based on your application's requirements, here are the most common use cases with the recommended implementation approaches:

Comparison table showing Digital SDK features versus UI Extensions features
Note: The above use cases are not exclusive. Given the layered nature of the solution, it is expected that different use cases can be combined, even in the same application.

React applications using the Jutro Design System

For developers building React applications with InsuranceSuite Cloud APIs and the Jutro Design System, using a combination of the generated entity field components and entity hooks of the Digital SDK UI Extensions is the recommended approach.

The entity field components provide prescribed opinions on the UI representation of the fields, and automate the application of rules and entity validation using InsuranceSuite schemas. They are the fastest alternative for building a fully functional application, and allow for overriding a significant part of the UI opinions when extra customization is needed.

In case your requirements can't be fulfilled using the override options available in the entity field components, you can get full control by mapping the information from the entity hooks to any Jutro Design System component.

React applications with custom UIs

If you are developing a React application with a different design system, using the entity hooks** from the Digital SDK UI Extensions is the preferred alternative.

This approach allows you to use entity-level React state management and stateful application of rules, while maintaining control over the UI design. Using the hooks and providers will not include the Jutro Design System in your application bundle.

JavaScript / TypeScript only applications

For developers building non-React applications in JavaScript or TypeScript, using the base Digital SDK is the best choice.

This option provides essential features such as TypeScript types, REST API request functions, and schema functions that implement rules and validation using IS schemas. They are agnostic to the UI layer, so they have no dependencies on React or the Jutro Design System.

In order to generate a Digital SDK without UI Extensions, you will need to generate it with the Digital SDK CLI, since this option is not available in the Jutro CLI.

For more information about using the Digital SDK without the UI Extensions, refer to the Digital SDK documentation