Thym: Eclipse Tooling for Apache Cordova

The Hybrid Mobile Tooling (Thym) project aims to provide Eclipse based tools for building hybrid mobile applications. The project focuses on the Apache Cordova project, which is the de facto framework for building hybrid mobile applications, and provides tools for it. However, it is possible to extend the Thym to utilize alternate frameworks.

Features

Thym supports building Cordova applications for iOS, Android and Windows Phone. It uses locally available SDKs to build for the targeted platforms. It can build native binaries using the available SDKs. It is also possible to export projects that can be built or developed further using the tool chain of the target platforms. For instance, Thym export wizard can export an iOS project that can be directly opened on XCode and run.

Thym also integrates with the locally available simulators. It is possible to launch a Cordova project on iOS, Android or Windows Phone simulators. Launching projects directly on a real device is supported for Android, provided that the Android device is connected to the developer's system.

Starting with Cordova version 3.0, the core of the Cordova framework does not deliver device functionality, but delegates the responsibility to Cordova plug-ins. Hence, it is essential for any tooling for Cordova to support the management of Cordova plug-ins. Thym allows the full management of Cordova plug-ins on a project and it is possible to add and remove plug-ins via Eclipse menus and actions. Eclipse hybrid mobile projects can also restore the list of plug-ins from the config.xml file on a Cordova project.

In addition to management of plug-ins, Thym also includes a Cordova plug-in discovery wizard that helps on finding the correct set of plug-ins from the extensive list of plug-ins on the Cordova plug-in registry. The wizard works in a similar way to the Eclipse Marketplace client.

Cordova Plug-in Disvovery Wizard

Working with Cordova framework does require at one point during development cycle to modify the config.xml file of the project. The config.xml file is the central file for managing several aspects of your mobile application including name, version, preferences, plug-ins. Thym includes a form based editor for config.xml file. Config.xml editor aids developers with the editing of this file for common tasks.

Config.xml Editor

Community

Thym code base started its life as part of the JBoss Tools project. The code is contributed to Eclipse foundation little more than a year ago. In addition to JBoss Tools, Thym has been adopted by other Eclipse based products such as Zend Studio.

The development of Thym continues on the Thym's repository on GitHub. The project uses GitHub pull requests for non-committer contributions. The daily communication of the project happens on the project's mailing list and bugzilla.

Thym and Apache Cordova project depends on multiple platforms and multiple tool chains. Therefore both Apache Cordova project and Thym needs to make releases often. Thym is part of Eclipse Mars release train, but the project follows a more frequent release schedule and the best way to follow Thym releases is through Thym entry at Eclipse marketplace.

Future Plans

First and foremost, Thym will continue to follow the changes coming into the Apache Cordova project and adopt them. The team is also looking into ways to use Cordova CLI directly to improve the accuracy of builds as well as validators for Cordova projects.

About the Authors

Gorkem Ercan

Gorkem Ercan
Red Hat