Getting Started With iModel.js
1. Get the Tools
Writing an iModel.js application requires the following software:
- Node.js (latest 10.x or 12.x LTS version)
- This provides the backend JavaScript runtime.
- The installation also includes the
npmcommand line tool.
- Google Chrome
- This is the preferred tool for developing and debugging frontend JavaScript.
- Git
- This is the source code control system for the iModel.js repositories.
Suggested Tools
The following tools are very helpful and highly suggested for working with iModel.js:
- Visual Studio Code
- This is the recommended editor and debugger for iModel.js applications.
- VS Code also supplies a graphical user interface for working with Git.
- The following VS Code extensions can also be quite helpful:
- TSLint (use tslint.json from @bentley/build-tools to enforce Bentley coding standards)
- Debugger for Chrome
- GitLens (great tools for using Git inside VSCode)
- MarkdownLint (for editing documentation)
2. Register Yourself
To be able to view/read iModel data, you will need access to the iModelHub, which requires a Bentley user account.
Note: Skip to step 3, if you already have a Bentley User Account.
3. Register your Application
Once you have a Bentley User account, you will need to register the application you are about to create so it can access iModelHub.
There are two types of apps you can register:
Interactive Application
An interactive application obtains information from an iModel and presents that information in a user interface.
Agent Application
iModel agents and services are apps that have no interactive user interface.
4. Create a Sample Project
Once you have a registered application, you will need an iModel. Our registration process makes it easy to create a new project in our “iModel Test Drive” organization, populate it with content, and give access to other developers.
The content can be either:
- Bentley supplied example content – Recommended if you are just starting out. Simply select an example from the Project Registration page.
OR
- You can use your own – Follow these steps to format your content into a ‘Snapshot iModel’ (.bim) before proceeding to the Project Registration page below.
_Note: The “iModel Testdrive” organization is intended for developer testing only. See this page for information about administering a CONNECT project in your own organization._
5. Get the Sample Code
The samples are included in imodeljs-samples. For the complete list of samples see the readme.
Depending on your choice of application type from step 3, you should start out with one of the following:
Basic Viewport App
An example of an interactive application which demonstrates how to:
- Embed an iModel.js viewport into your application to display graphical data.
- Include built-in tools for view navigation such as Pan, Rotate, Zoom.
iModel Query Agent
An example of an agent application which demonstrates how to:
- Listen to changes made to an iModel on the iModelHub.
- Construct a 'Change Summary' of useful information.
Recommended Reading
- TypeScript
- iModel.js applications are written in TypeScript and then compiled to plain JavaScript.
- Node Package Manager (npm)
npmis used to install and manage dependencies of an iModel.js application.- The
npmcommand line andnpmscripts are used to build and test iModel.js applications.
Support
Please see the Community Resources page for the best places to get more help.
Last Updated: 08 January, 2020