What is Eule?


Eule is a software to automatically cross-compile native Android App to iOS App.

Eule is an implementation of Android API and user interface components in Javascript/HTML/CSS, and a set of supporting tools to cross-compile native Android Java application to Javascript.

The result is an HTML/Javascript application that can be used in a web page or packaged as PhoneGap Application (for example for iPhone).

Android first. The goal of Eule is to enable development in native Android Java environment first, and make creation of cross platform solutions from that source code as automatic as possible. The biggest benefit of this is that all critical development can be made in debuggable native environment and then the already tested code can be reused anywhere.


What does it do?


Convert an Android App to an iOS App.


What’s the catch?


There is no catch. Cross-compilation really can be done because Javascript is essentially very close to Java and we have made it possible to implement Android UI with HTML elements (lot of hard work with HTML+CSS+Javascript). It also runs in all the major browsers (more hard work). And running HTML-Javascript based UI is not even very performance demanding (assuming your original code is well-behaving).


How does it work?


Java + XML -> Javascript + HTML + CSS


The core of Eule is an implementation of the Android user interface elements (originally Java+XML) in HTML, CSS and Javascript. A cross-compiler tool converts your application-specific UI code from Java to Javascript which calls the Eule code as it would call the standard Android API. A resource compiler tool converts your XML layouts into format that can be integrated with the Javascript code and converted to HTML/CSS definitions.

The result is a single-page HTML application that uses standard HTML elements to implement your app and it can run in any modern browser. This app can then be packaged as PhoneGap application which can then run in iOS.


Reuse Java code


The major benefit of Eule is the ability to reuse the already-tested code from your Android app in your web UI and hybrid apps. Complete web UI is usually very different from your mobile app but it still uses the same business logic and accesses the same cloud services. With Eule you can build and unit test your business logic within native Java environment and reuse the existing code in your web UI. Even if you code the web UI completely in HTML/Javascript (with any framework you like to use like Bootstrap or AngularJS), you can utilize your business logic and call it from Javascript same way as from Java. Once cross-compiled, there is no barrier between Javascript and cross-compiled Java components.

Besides business logic, also UI components can be reused. You can develop UI component as Java class (including XML and custom drawing), test it in Android, and then cross-compile it to Javascript component that can be used in web page as individual UI element. There is no need to bring the whole application framework to web page if you do not need it. This gives developer a powerful ability to code only once and deploy components anywhere.


So why is Eule better than other cross-platform solutions?


Unlike other cross platform solutions Eule does NOT require to use custom UI components specifically built for cross-compilation. Instead, you can use the standard Android API and UI elements to develop your app.