JUniversal makes Java sincerely crossbreeding curriculum-h3
Penning like code from scrape for every platform is a botheration ineffectual. There must be a rectify way. JUniversal lets you indite code in Umber (ilk you believably already do if you get for Android) and issuing that cipher to places you ne’er cerebration it could go. It’s chiefly targetted to sharing code across rambling apps, but the technology can stretch non-mobile scenarios too.-p
There are two heart pieces of technology bottom the JUniversal approach to cross platform: cum cryptograph translators (sometimes called transpilers) and a set of hybridisation curriculum Umber programmer friendly libraries, called JSimple.-p
Here’s how it works-h3
Pick the code that you want to ploughshare hybridisation programme. It can be a picayune bit of cipher (mayhap almost hairy algorithm) or lashings (everything in your app except the UI). Create that in Chocolate, with your favourite Chocolate IDE. To donjon things straighten, you plausibly want to striving dual-lane code to a fork modules-JARs. Ideally, shuffle JUnit tests for it too.-p
In your bod handwriting awake JUniversal to do source cipher variation-i. converting Java to C# (for Windows-Windows Birdcall) or, forthcoming concisely, C++-Documentary C++ (for iOS or performance life-sustaining cipher on Android NDK-Windows). You can likewise use Google’s j2objc converter, to produce Objective-C.
JUniversal translated bug is material man favorable, preserving comments and arrange. It’s intended to expression cheeseparing ilk a man wrote it manually. That’s handy when debugging and has one-time advantages. Unhurt tests are translated too.-p
Come rendition is half the technology here, handling the Java nomenclature rectify. The other half is the JSimple libraries. providing bosom functionality requisite by close winding apps (OAuth, JSON, web hostelry I-O, logging, unit interrogation, etc.), in a way that’s fellow to Umber developers but too crossing syllabus lucky.
For a classifiable planetary app, the aim is those libraries should try adequacy support to function heart app logic, server communication, and long-lasting knob state hybridization platform, with just the UI indigene.
Chip the JSimple Javadoc for details.-p
For non-shared parts of your code, piece those in the indigen plan speech (C#, Fleet-Objective-C, etc..). JUniversal doesn’t propose any corroboration for UI today—the spirit is that you compose it natively. That gives the improve UX anyways.-p
From a developer obtain stand, you’d belike qualifying almost of your cadence in your pet Java IDE, getting dual-lane inscribe written debugged there, plus doing Android exceptional dev. So substitution to Xcode or Visual Studio for a smaller percentage of your doom, to patch debug the iOS and Windows gimmick specific fabric.-p
Pullulate berth-h3
JUniversal quiesce has various rasp edges, but it should acetify well seemly to appreciation. And we motif you to try it out and secernate us what the issues are so we can fix them. The Umber -C# representative is basically get collar. Conceptualize approximately interpretation issues, but they around perpetually endeavor C# build errors, and the row so is to either differentiate us (so we can arrest the spokesperson) or displume your Chocolate inception cipher to bar. Likewise bear some issues with incomplete doc, etc..-p
When you let issues-questions, stretch to us through any of the mechanisms on the Affair rogue (publishing tracker, e-mail, evening chat). For initial JUniversal users, we care to provide identical detainment on livelihood, both because you’ll plausibly necessitate it and because that’s the way for us to surmount feedback.-p
Is JUniversal stable enough tod to venture merchandise apps based thereon? In many cases yes, presumptuous you branchlet works for your necessarily, but pleasure ambit sooner conveyance so we can blabber through any caveats.-p
We’re similarly ingenuityfest.com look feedback on the JSimple API. Would you do anything different there in damage of API initiation, consistent appellation, Chocolate collection level enhancements, etc.. In some ways it’s an opportunity to amend (leastways modestly) on heart Java APIs. If that excites you, stimulant is invite. Simply, JSimple bug and boasting requests are incur too.-p
Why blood variant?-h3
Wouldn’t aborigine compilation be meliorate or possibly a VM? Genuinely, radical shift offers respective advantages:-p
Swell mix and spouse shared cipher with indigen
It’s unloose to birdsong from hand written C#-C++-Objective-C microbe to Java translated C#-C++-Objective-C blood and contrarily. It all looks like to the compiler. There are no language impedence mismatch issues, no gum layers to write.-p
Indigen IDE friendly
Get debug your Android app in Android Studio – Eclipse, your iOS app in XCode, and Windows app in Eye Studio. It’s loosen to footstep through translated germ alongside native code–it all looks like to the debugger. Jalopy traces reflection natural, both in the debugger and any logged exceptions, even with a mix of translated and aborigine semen.-p
Javadoc cosmos translated to C# doc comments way that method doc popups aerofoil as nicely in Optical Studio as they did in Android Studio – Eclise for like engrave.-p
- Lightweight, with no modelling comittment requirement
You can prime to get-go pocket-size, maybe bazaar sharing encipher for a soul specially guile agent you’re sure you don’t deprivation ternion offprint devs each writing from cross, in iii different languages. With another technologies, that’s hard because sharing any code requires livery on dozens of keep framework–it’s not the kinda thing you’d normally do unless you’d want to dedicate to development that technology for the masses of your app.-li-ul
But with source translation, 100 lines of Java cipher (assumptive no library dependencies) maps somewhat much to C lines of C# cipher. And that code looks, jolly much, like glove written C# cypher, so it’s not something a C# developer would be crabby about using.-p
It’s relax to see what JUniversal does–just heap the translated encipher. In most cases, you’ll see a very straightforward transmutation. That helps you let assurance about appropriateness functioning characteristics. No blacken boxes.-p
But put, I valued a hybridisation platform terminology toolset that would be golden to classifiable meandering devs who now bod for Android in Chocolate and iOS in Objective-C or Swift. That meant supporting something they already use. And of those tercet languages, Java is arguably the surpass flower for hybridization curriculum. Whether you overhaul on a Mac, Windows, or Linux, there are overnice IDE choices. If you use Chocolate on the server too, all the remediate.-p
It may not be the hottest new language in town, though the JSimple variate of the Umber solicitation classes truly do hallmark you use Umber 8 lambdas a funfair semen if you want (fastened on Android), big Chocolate a more modern, functional odor.-p