Tabris.js 3.8 brings improved Worker support to build better mobile apps

We are happy to announce the immediate availability of Tabris.js 3.8.0. This release focuses on improvements to create better app architectures. From improved Worker support, more powerful functional components to better MVVM support and more: There is a lot to get exited about.

Improved worker support for Thread.js

In order to bring full Thread.js support to Tabris.js we have mitigated several Worker compatibility issues. You are now able to use Thread.js as a workhorse engine in your apps. Along the way we also improved logging support in Workers, allowing to show logs in the CLI console as well. If you had any compatibility issues with worker related third party libraries, now is a good time to check again.

More powerful functional components

Manipulating the data property available on all Widgets will now emit a dataChanged event. This allows to create functional components which can display mutated models instead of static data. It also works with any other object that emits change events, including any instance of ObservableData (new in 3.8) or objects using the @prop decorator.

Better MVVM support

Binding viewmodels via the @bindAll decorator now supports value conversions. Combined with the new change event propagation allows bindings to nested properties, e.g. person.address.street. Additionally, binding multiple Widget properties to one ViewModel property is also supported. Finally, views can now also react to ViewModel events, for example, to trigger an animation.

New tabris.Input allows to react to global input events

The new input service object allows intercepting all pointer events on an app window level. This allows reacting to touch events independent of the targeted widget. The event supports down, up, move, and cancel events.

Widgets

CollectionView

In Android, the new fastScroll property enables the fast scroll thumb that can be dragged to scroll through a list of items quickly. The feature is enabled by default in iOS devices starting from version 13 and cannot be disabled.

Android specific enhancements

The Android development has focused on improving performance. With a set of enhancements, we were able to improve the speed of the Android client by 300%. This should result in a noticeable speed bump for all apps. The improvements were possible by updating the bundled v8 JavaScript engine to version 9.3, simplifying the communication with the JavaScript layer, reducing the layout time of the UI, and various smaller fixes.

Cordova

The Tabris build for Android is now based on Cordova 9.

Get Started with Tabris.js 3.8.0

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.7 Tabris CLI on your machine: npm install -g tabris-cli@3.8.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.8.0 documentation.