Page Contents

LoopBack 4 introduces some new concepts that are important to understand:

  • Application: In LoopBack 4, the Application class is the central class for setting up all of your module’s components, controllers, servers and bindings. The Application class extends Context, and provides the controls for starting and stopping itself and its associated servers.
  • Server: Represents implementation for inbound transports and/or protocols such as REST over http, gRPC over http2, and graphQL over https. It typically listens for requests on a specific port, handle them, and return appropriate responses.
  • Context: An abstraction of all state and dependencies in your application, that LoopBack uses to “manage” everything. It’s a global registry for everything in your app (configurations, state, dependencies, classes, and so on).
  • Dependency Injection: Technique that separates the construction of dependencies of a class or function from its behavior, to keep the code loosely coupled.
  • Controller: Class that implements operations defined by application’s REST API. It implements an application’s business logic and acts as a bridge between the HTTP/REST API and domain/database models. A Controller operates only on processed input and abstractions of backend services / databases.
  • Route: Mapping between your API specification and an Operation (JavaScript implementation). It tells LoopBack which function to invoke() given an HTTP request.
  • Sequence: A stateless grouping of Actions that control how a Server responds to requests.
  • Schema: Represents the definition of a model in LoopBack, with respect to the datasource juggler. The @loopback/repository module provides special decorators for adding metadata to TypeScript/JavaScript classes to use them with the legacy implementation of Datasource Juggler.
  • Repository: Type of Service that represents a collection of data within a DataSource.
  • Decorator: Enables you to annotate or modify your class declarations and members with metadata.
  • Component: A package that bundles one or more Loopback extensions.