# Base Library

Create structured and maintainable JavaScript code to interact with other parts of the BladeRunner system, using _extensible classes_ and _interfaces_

![baselibrary_v2-component-screenshot](../../../images/baselibrary_v2-component-screenshot.png)

## Features

### Extend your JavaScript

You can write object-oriented JavaScript code, using our simple system for implementing JavaScript interfaces, and inheritance based on super-classes and sub-classes.

### Internationalisation

Create internationalised versions of your app, using JavaScript calls and static tags to apply local languages, and using local date and number formats for display and data-entry.

### Service architecture

Use EventHub and ServiceRegistry to apply a modular structure to your code, making testing and maintenance easier, simplifying APIs, and ensuring that services are documented as part of the API.

### Logging

Extensible, fine-grained logging facilities let you log messages of different severity levels, and customize the actions to be taken, dependent on the log messages themselves.
