Redux.js Logo

Tabris.js 3.6 released with support for Redux, PDFs and more

Go to
We are happy to announce the release of Tabris.js 3.6. The highlight of this release is new API for developing Tabris.js applications based on the popular Redux library. Create a Redux store, connect it to your Tabris widgets using the new connect function, and power-up your application using the various third-party Redux extensions.

The following snippet gives you a taste of what this can look like.

In TypeScript, connect can be used as a decorator directly on your component.

We are looking into further improving Redux support, so let us know what you need.


Tabris 3.6 introduces a new widget, PdfView specifically for displaying PDF documents. Since this widget uses native rendering, scrolling, and zooming, the UI is very responsive. Get the latest developer app and try it out right now.

Open files on your device

The new method fs.openFile() allows reading files outside of the app’s sandbox via a native file picker UI. The openFile API allows us to specify the expected file type, and whether multiple files are allowed or not. The selection is returned as an array of File objects.

Declarative UI for pure JavaScript

We mainly use JSX syntax in our examples since it looks more concise than calling new, on(), append individually. However, this may not be your thing, either because of the mix of languages (JS and quasi-XML), or because you don’t want to use a compiler. In Tabris.js 3.6 we introduce a third option: Every built-in widget constructor may now be called without the new keyword, in other words like a factory. When used in that way you can pass properties, listener and children all in one call, just like in JSX:

To be able to do this with your own custom components you can use new function asFactory.

Even more…

  • On Android ActivityIndicator, ProgressBar, Slider, Switch widgets as well as the DateDialog have an updated look.
  • Crop and resize images using createImageBitmap.
  • Safer, more powerful apply method: This method now has a much safer “strict” mode, better TypeScript support. can react to property change events, and more.
  • Settable data: This object property exists on all widgets, and can now be used (via property change listener or the new apply) to create self-updating widgets.
  • The secureStore is now also available on Android. The contained data is hardware encrypted on Android 6+ devices.

Get Started with Tabris.js 3.6

Get the app

  1. Install the Tabris.js developer app on your device. Links below.
  2. Try out the bundled snippets in the app, or edit and run them via Tabris.js Playground.
  3. Install the 3.6 Tabris CLI on your machine: npm install -g tabris-cli@3.6.0
  4. Type tabris init in an empty directory to create a simple example app.
  5. Type npm start and load it in the developer app.
  6. Check out the Tabris.js 3.6 documentation.