Packaging a customized IDE for the benefit of your users.
Recently we released a developer preview of Tabris, our new mobile, cross-platform, server-side, app framework. Using Tabris as an example, I’d like to show you that with Yoxos, it is just a matter of minutes in order to define and publish a complete Eclipse-based IDE around your own software platform or framework.
I’ll start by describing how a developer would use Yoxos to start the customized Tabris IDE. After that, I’ll explain how that IDE was created with Yoxos.
Using the Yoxos Profile for Tabris
Our first step is to download the Yoxos Launcher and the Tabris profile. The profile is provided as a .yoxos file. When the Tabris profile is double-clicked, the Yoxos launcher will start and then will install the Tabris Eclipse workbench. You can share your public profiles with potential users by providing them an URL. Login to the Yoxos website, and you’ll find the URLs for your own public profiles under “My Public Profiles.” The URL of the Tabris profile is http://yoxos.eclipsesource.com/userdata/profile/9b581113715eee8f5ac61b12ec08dd1d
When the Tabris profile is launched for the first time, the latest Android SDK is automatically installed, if it is not already available. A couple of template projects are checked out of a Git repository which you can use to tinker around with and get acquainted with the Tabris technology. You are now completely set up to develop server-side apps as well as to customize and deploy the Android client right from within your IDE.
Creating your own Yoxos Profile
Let’s take a look at the requirements first. As a software platform, Tabris consist of multiple parts. On a higher level there are two parts: the clients and the server. The server-side lets you write RAP applications that are executed in a web-server or servlet-container. The client side consists of native mobile applications that render what the server tells them via RAP protocol messages. Sounds like a simple thing. But compiling a list of concrete things we need, from this short analysis of what Tabris is, leads to the following:
- write RAP application
- deploy RAP application (start / stop server from within IDE)
- customize a client for your own server and server-side app
- deploy a client to your Android device
Obviously, this is not what your standard JDT-Eclipse is capable of. So let’s customize it with Yoxos. Yoxos will provide us a way to define a custom selection of Eclipse plug-ins and roll it out to developers. As XCode cannot be provisioned by Yoxos, I will focus on the server and the Android clients.
To define your custom set of Eclipse tools you need to first create a Yoxos Profile. Simply download the Yoxos launcher and start with a blank profile by pressing the “Advanced Mode” button on the splash screen.
Now select all the features that are in your list of requirements. I started with the J2EE profile, added the Android development environment (ADT), RAP tooling and eGit. Then I removed some unnecessary features.
To save users from having to manually install the Tabris SDK, as explained in the tutorial, I enhanced the Tabris profile with Git workspace provisioning. The first time a developer launches the profile, the template projects from the SDK will be set up in an Eclipse workspace. As a repository, I used a public project at GitHub. To add other repositories and projects to your Yoxos profile, you need to do the following. First, launch the profile, then set up the desired template projects manually. Use the Yoxos perspective to add them to the provisioning settings by using the magnet buttons.
If you want to share a profile, you can create a free Yoxos account and publish a public profile. With your new account, login from within the Yoxos Launcher and save as a public profile.
To help users find your profile be sure to choose a meaningful folder and profile name. Your profile will appear under this folder in the list of public profiles in the Yoxos Launcher. I named my profile “Tabris” and put it under the folder “EclipseSource”.
Yoxos is a great tool to get users up and running quickly, especially when they require a complex technology stack. Nevertheless it is worth spending some thoughts on your profiles’ use cases. Not every Tabris user wants to build his own custom Tabris client himself. Our build service provides customized clients for iOS and Android without the need to run mobile platform tool chains.