Library tour
This tour takes you through common libraries used to develop applications on top of the platform. Note that the list is not comprehensive, and other third-party tools may be used along with the ones we mention.
Datagrok toolkit
First of all, to work with your project, you need a utility to publish
packages to the platform — datagrok-tools
. See its
documentation
for installation instructions and usage examples. Upon completing package setup, you will see a set of default
dependencies listed in the package.json
file. One of them is datagrok-api
that provides TypeScript API to the platform's core functionality. Whenever you need
details about a particular class or endpoint, consult the API reference.
Links:
Bundlers
Package templates come with a configuration for the Webpack
bundler. In
package.json
, webpack
and webpack-cli
are added as default development dependencies to build your package. When
working with various file extensions, you may have to include special modules
called loaders. For better development experience, you can also
install webpack-dev-server
.
Links:
TypeScript
As we recommend TypeScript as a language for package development, there's an option
to create a package
with a --ts
flag. Among other things, it adds two new dependencies: typescript
(provides the language support)
and ts-loader
(a file loader for webpack
). Likely, these are not the only libraries you will use when writing in
TypeScript. For example, if one of the libraries you want to work with has not been typed yet, check out the
Definitely Typed resource, which provides type definitions for
popular packages.
Links:
Visualization
The platform comes with a diverse set of visualizations (see the
Viewers article). Moreover, it is possible to
create a custom viewer using our API. For this task, you can use such libraries
as d3
, three.js
, or echarts
. Datagrok's public repository contains packages with examples:
Viewers
and Charts. For scientific applications, you may
find useful such projects as
NGL, RDKit,
and OpenChemLib, but first look at what solutions already exist to
integrate with them (see the Cheminformatics
page).
Links: