nRF Connect for Desktop

Developer documentation

Logo

Basics

API

Misc


NordicSemiconductor/pc-nrfconnect-docs on GitHub

API reference

Minimal app

When developing an app for nRF Connect for Desktop, the minimal requirements are that you create a JavaScript package with these two things:

  1. A package.json with the needed properties.
  2. The entry point of your package must expose a React component as default export.

This alone would be sufficient for the launcher to display and start your app.

Normal app

While you could start with the mentioned minimal app and build the rest from scratch, it will be easier to use the prepared components from pc-nrfconnect-shared as it is demonstrated in pc-nrfconnect-boilerplate and pc-nrfconnect-rssi.

For guidance on most components exported in src/index.ts, it is best to look at their TypeScript types and their existing uses in other apps. The following sections explain only the main building blocks from pc-nrfconnect-shared:

Component: App

Example use in pc-nrfconnect-rssi.

Most apps will use the App component to create their main export. Visible to the user it provides the general app look and feel:

For developer it provides a scaffolding to place their own components and a prepared Redux store, which includes state and actions for the shared components (note that you cannot easily use the Redux store when creating the App element, as the store will be created and provided by the App component. But you can use it about everywhere else, usually through React Redux using either hooks or the connect function.)

Properties

Component: DeviceSelector

Example use in pc-nrfconnect-rssi.

Most apps want to present a device selector to the users and this component is the easiest way to achieve that. Configure it appropriately for the app and then pass it to the deviceSelect property of the App component.

Properties

Function: getAppFile

Example use in pc-nrfconnect-rssi.

Use this function if the app needs to access a file bundled with it. Remember to include these files in the files configuration of the app.