If the answer you are looking for is not here, please feel free to open a GitHub issue and ask for help.

What types of native APIs does Tabris.js support?

We support sensor data, camera and many other APIs out of the box. Access to additional native APIs (like push notifications etc.) can be added with Cordova plugins.

Can I really single source an iOS and Android app?

Yes, you can. Tabris.js binds JavaScript to native widgets which let you create a distinct UI and user experience on both platforms. For an example of how it is done, see [CollectionView on iOS and Android] (http://eclipsesource.com/blogs/2015/02/16/collectionview-display-data-sets-in-tabris-js/).

Where can I see examples of what Tabris.js can do?

To see examples of widgets and layouts, download the Developer App from App Store and Play Store. For an explanation of the underlying concepts, check out the “Tabris.js Examples” blog series.

How can a framework that uses Cordova produce native apps?

Tabris.js uses Cordova in two ways: 1., to access native APIs via Cordova plugins and 2., to build apps via the Cordova CLI. Unlike a regular Cordova app, a Tabris.js app is built without HTML and its UI is truly native. Find out more about how Tabris.js and Cordova fill each other’s gap: [Apache Cordova vs Tabris.js] (http://eclipsesource.com/blogs/2015/03/02/apache-cordova-vs-tabris-js/).

How to use the "nightly" Tabris.js build?

Update your package.json dependency for tabris to https://tabrisjs.com/downloads/nightly/tabris.tgz and select nightly for Tabris.js version in build settings.

How can I build my apps locally?

In order to build locally, you need to have the Cordova platforms. You can download them for iOS and Android from the Downloads page (please make sure you are signed in). See here for a detailed guide. Local build is now available to all users, including users on the free Developer plan.

How can I style my app in JavaScript?

The way your app looks is configured in JavaScript with Widget Properties and Layouts:

There is also the apply method which allows you to set properties on an entire widget hierarchy. This can be used to re-configure the widgets of a page, e.g. in case of an orientation or bounds change. Another reason to use apply is to separate creation and configuration of widgets.

Is all of the framework Open Source?

The JavaScript part of the framework is fully open sourced. However, native client sources for iOS and Android are closed-source. The native client sources are available for Organization customers.

Is Tabris.js 100% compatible with Cordova plug-ins?

Most of the Cordova plug-ins will work out of the box but not all. This is because Tabris.js uses a native UI and no HTML5. As a result all plug-ins that manipulate the DOM will not work.

How can I test Cordova plug-ins?

You can test several prepackaged plug-ins directly from the Tabris.js developer app. These include camera, device motion, dialogs and more (see Default Plug-ins).

In order to test additional plug-ins you will need to create a build. You can either create a release-ready version of your own app, or an enhanced version of the developer app which contains the additional plug-Ins. For the latter, set debug mode to ON.

Is it possible to add native plugins written in Java or Objective-C?

Yes, it is possible. The ability to create native plugins is an Organization feature. If you are on a different plan, you can still extend the functionality by writing a Cordova plugin, through which Tabris.js can access native APIs.

Is my credit card data safe with you?

We don't store your credit card data. We use Braintree to process all payments, and it never passes your credit card information to us. Braintree is a certified Level 1 PCI DSS provider.

Why can't I get splash screens to work on Android?

Android discourages the use of a splash screen. The Holo and Material Design language explicitly state that one should not use it. Instead the app should focus on showing content as soon as possible. Therefore we have no plans to support this feature on Android.

How can I add additional Android manifest permissions?

If you are using Cordova plug-ins, the plug-ins themselves are responsible for adding all necessary permissions, in which case you don't need to handle them at all.

If you need to modify permissions by yourself at build time, you can create a build hook (official Cordova hooks guide).

My app gets stuck on "Installing" stage when I submit it to the App Store?

You have to use App Store provisioning profile if you want to submit the app to iTunes Connect for verification. Otherwise use Ad Hoc profile to run the app on your devices.

My app builds correctly when using "debug", but fails in release mode. What can I do?

Make sure that you have downloaded the right Certificate and Provisioning Profile from developer.apple.com. The Certificate should be for "Production" use and the Provisioning Profile for "Distribution". Then upload the Provisioning Profile with the corresponding p12 file at tabrisjs.com.