Learning > backend Edit this page App backend development Backend code is the portion of an app that: Runs on a computer with a copy of an iModel Has access to the local file system Can use native libraries A backend package can be a service, an agent, or an app-specific backend. See the app architecture overview for how iTwin.js apps are structured. See iModel contents for guidance on whether a data type belongs in the iModel or should be stored in a separate repository. See best practices for writing backend code. App backends require the @bentley/imodeljs-backend npm package. The common packages will also be required. Please also note the supported platforms. These packages provide the following functions to support backend operations: Administration IModelHost Initialize Logging IModelDb Open an IModelDb Synchronizing with iModelHub Writing to an IModelDb Concurrency control iModel Transformation and Data Exchange Working with Schemas and Elements in TypeScript Working with Schemas and Elements in TypeScript Loading and Creating Elements, ElementAspects, and Models Access Elements Create Elements Access ElementAspects Create ElementAspects Access Models Create Models ECSQL What is ECSQL? Executing ECSQL statements Code Examples Frequently used ECSQL queries Dealing with Codes Reserve Codes Change Summary Change Summary Overview For services and app backends: Correlating backend operations with frontend Requests Manage the ClientRequestContext. Exposing the operations of the backend as RpcInterfaces Define one or more RpcInterfaces. Implement the RpcInterfaces. Configure the RpcInterfaces. Serve the RpcInterfaces to clients. Last Updated: 12 June, 2024