Tabris Cross Platform Frameworks App

Tabris

by The Eclipse Foundation

Tabris, because we love code and excellent UIs
Helps with: Cross Platform Frameworks
Similar to: Crosslight App Kendo-ui App Alpha Anywhere App Emo Open Source Framework App More...
Source Type: Open
License Types:
MIT
Supported OS:
Languages: Java Java Script Other

What is it all about?

Tabris is a Java framework written by Java developers for Java developers to build mobile apps. It uses standard JavaEE technology to create an application on a server. Native clients act as a player for the applications's UI. They access the application by calling a URL that provides a JSON representation of the UI. The clients will use this JSON message to render the UI using native components. Native components are Cocoa Touch widgets in iOS, Java based widgets in Android and HTML5 in a brows

Key Features

* Tabris apps can be developed using your favorite development environments such as: Eclipse, NetBeans or Idea, without requiring any extra plug-ins. This is possible because you can use standard JavaEE to develop apps. * Tabris.js is our companion product that runs standalone on mobile devices. For native apps written in JavaScript. * Tabris based applications can be found in both the Apple App Store and Google Play Store.


Pricing

Yearly
Monthly
Lifetime
Free
Freemium
Trial With Card
Trial No Card
By Quote

Description

FREE

Alternatives

View More Alternatives

View Less Alternatives

Product Analysis

Cross Platform Frameworks

Tabris

Tabris

By A | 12/13/2016 | Product Analysis |Beginners

Tabris.js is a mobile framework to develop apps for iOS and Android devices using a single piece of code written in JavaScript. This enables the developer to use existing JavaScript knowledge to develop native mobile apps in a completely native way. If you have never heard about Tabris.js it’s is because they have been in the market for around one year and there has been no big marketing around it.

FEATURES

Tabris.js is aimed to keep using JavaScript as the development language for iOS and Android devices without using web views to render the app’s UI because it uses native widgets rendered with a bridge from JavaScript to native. This looks pretty cool because there are millions of JavaScript programmers that were left behind when the trend went from web development to mobile apps.

Tabris.js gives you the chance to develop apps online so that you don’t need a Mac to develop iOS apps and no need to use annoying SDKs or the likes, just by connecting yourself to your GitHub account you can build it directly from the repository. It is not as cool as a cloud build service or build servers but it does the trick for some of us. Tabris.js also supports third party plugins like Cordova’s, and this really makes a difference when you are looking for libraries.

So, in a very fast developing market where a lot of frameworks are arising, what makes Tabris.js different from others like Xamarin, Appcelerator etc.? Let’s take a look…

Tabris.js has a very fast development lifecycle. With Tabris.js you can package JavaScript code and load code dynamically at runtime. With this you can get what is called the “Tabris.js Developer app”. With this app you don’t need to compile native artifacts at all to develop apps, instead you start an http server and you start coding directly from your development machine. To load your code you just need to type the URL on the browser within the developer app and you don’t need to restart or re-compile the app. You will have to compile the native code when you build the final version to be uploaded to the marketplaces or if you want to add plugins from Cordova.

Talking about the plugins, you can use Cordova or Phonegap but this is just an option. Tabris.js is enough to develop apps without them but, the more options to integrate the better. This is quite good because there are many plugins already available in Cordova/Phonegap. The only limitations to these plugins are the ones that use the web view because Tabris.js doesn’t create HTML5 apps, it creates native apps instead.

Tabris.js is focused on using existing libraries instead of creating new ones and this is why they chose JavaScript as the used language. There are many libraries designed for web apps and the whole idea was to be able to use them to create native mobile apps. With Tabris.js you can use direct libraries like HTML 5 canvas. If you want to draw charts on native widgets you can use Charts.js which was used to draw charts in the browser. By using this framework, you can also use the Tabris.js JavaScript API as a module you can download with the npm in order to reuse existing npm modules.

Tabris.js works by dividing the development in two parts, the native side and the JavaScript side. When you write your code in JavaScript it produces JSON messages when executed and then the native part reads and interprets these messages to create the UI. When the user interacts with the app UI it executes code as event handling so the code produces the JSON messages and the process is repeated again. It’s like remotely controlling native widgets with your JavaScript code. This doesn’t use any cross-compiling or web views because the JSON abstraction does the trick for iOS and Android as of now but with more platforms coming according to their own website.

This way it performs very well and you can create apps using parallax scrolling and keep the fps over 60. The whole idea when Tabris.js was created was that the end user couldn’t feel the difference between an app created natively or by Tabris.js. Seems they succeeded at some point.

So now let’s talk about the money. Tabris.js is free for individual developers which lets you develop unlimited local builds and cloud builds for public repositories and 1 private repository. However if you want to create builds for more private repositories you have to pay for the pro plan priced at $50 per month. There is also a difference in the support, the free version has no official support and you’ll have to go to the usual forums etc. to get answers to your questions while the pro version has a support team. For organizations, the prices are raised to $5000 per year for a team of 5 developers, $9000 for 10 developers and $20000 for 25 developers.

PROS AND CONS

PROS

  • Native apps
  • Uses JavaScript, one of the most used languages
  • Good performance
  • No web views

CONS

  • The pro plan is pricey
  • Community is small, not much support there

CONCLUSION

We see quite a lot of frameworks claiming to create native apps from code in different programming languages. Tabris.js uses JavaScript but instead of using web views as many competitors, it just uses a bridge from JavaScript to native. This improves performance of your apps and also speeds up development. Just the idea of using JavaScript to create mobile apps without cross-compiling is attractive enough for many developers but, being able to do it while using your Cordova or Phonegap plugins is a major breakthrough. The only drawbacks are the price of the pro plan and the community behind it. It is a pretty new product in the market and they didn’t spend much money in marketing so, there are not many developers using it nowadays and, since the free version is supported by the community, this may be a big flaw to using it.

By A | 12/13/2016 | Product Analysis

{{CommentsModel.TotalCount}} Comments

Your Comment

{{CommentsModel.Message}}

Top DiscoverSDK Experts

User photo
3060
Karen Fitzgerald
7 years in Cross-Platform development.
Mobile | Cross Platform Frameworks
View Profile
User photo
1650
Martin Cohen
Over 5 years in cross-platform development.
Mobile | Cross Platform Frameworks
View Profile
User photo
1490
Ronan McCarthy
Cross-Platform & Web developer.
Web | Mobile and 6 more
View Profile
User photo
1220
John Cole
Experienced Cross-Platform developer.
Mobile | Game Development and 2 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more

X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now