Version 3.8.0
Threads.js compatibiltiy
Various compatibility issues have been fixed so that the Tabris.js Worker
implementation is now compatible with threads.js. In addition, console logs from the worker now also appear on the remote (CLI) developer console.
API
CollectionView
The new fastScroll
property enables the fast scroll thumb in Android that can be dragged to quickly scroll through the list of items. The feature is enabled by default in iOS devices starting from version 13 and cannot be disabled.
More powerful functional components
Manipulating the data
object available on all widgets will now make the widget emit dataChanged
events. This allows creating functional components displaying mutating 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 object using the @prop
decorator. Changes in nested objects are also recognized.
Better MVVM support
Binding viewmodels via the @bindAll
decorator now supports value conversion. Combined with the new change event propagation feature this also allows bindings to nested properties, e.g. person.address.street
.
Binding multiple widget properties to one viewmodel property is now also supported.
And finally, views can now react to viewmodel events, for example to trigger an animation.
tabris.Input
The new input
service object allows intercepting all pointer events on the app window, regardless of the targeted widget. Supported are down, up, move, and cancel events.
Android
Improved performance
The communication between JavaScript and native code has been optimized.
Update to Cordova 9
Tabris now uses Cordova 9 to build apps targeting android.