silexlabs / wwx2016

Repository for all communication materials and discussions around WWX2016
GNU General Public License v3.0
20 stars 6 forks source link

JTransc project #15

Closed soywiz closed 8 years ago

soywiz commented 8 years ago

Philippe suggested me about the possibility of talking about this project: https://github.com/jtransc/jtransc

This project converts JVM bytecode into Haxe (with initial focus on Kotlin, and using Lime for games right now and probably Kha in the future and/or other custom libraries).

The aim for this is to use Kotlin's (lot of sugar; simple, clean and functional) and Java's great edit-time tooling (including IDEs, analysis, testing, refactoring...) and the great strong point of Haxe: tons of targets and backend and compiling tooling.

Haxe compile-time features including preprocessor and macros, are great for multiple targets, but difficult edit-time tooling (you cannot refactor a function with a #if in the argument for example) and you cannot generate a field at compile-time and know it while editing without executing code. Compile-time execution also prevents incremental compilation, though haxe compilation is lighting fast. I have myself contributed to several edit-time Haxe productivity tooling, and had those problems.

With the Kotlin/JVM approach. You would be able to use Haxe libraries that already have their #ifs in order to work with several targets while keeping your code completely platform independant and edit-time-tooling friendly. Also you can have a main per platform and configure some interfaces to specific implementations depending on the platform. JTransc just include referenced classes and methods so you won't include code for other targets. It converts that code into Haxe, and Haxe and its libraries/frameworks targets everywhere like always.

I'm still not 100% sure whether I will be able to go to wwx2016, or if this interesting/relevant, but wanted to know if it is the case to consider it.

back2dos commented 8 years ago

FWIW I think this is a pretty interesting subject. Even more so, if there is a chance to use the generated code from Haxe.

clemos commented 8 years ago

Your project really sounds awesome :) We discussed with the team, and we would definitely welcome you at WWX if you can make it.

soywiz commented 8 years ago

@back2dos jvm method overloading forces me to mangle names. Also even strings are wrapped in order to extend java.lang.Object. And I'm using a main to get the active tree of methods and classes. It would be possible, but not sure if it would be a good experience (at least right now). But I will think about that.

@clemos Cool :) I will try.

JbIPS commented 8 years ago

Please let us know if you'll be able to give this awesome talk so we can announce it on the website and attract all the Java people :stuck_out_tongue_winking_eye:

soywiz commented 8 years ago

Yes, I will :)

soywiz commented 8 years ago

BTW. I re-read this and maybe it was interpreted as "I will give you a response" and that was not the case.

I meant that I will be able to go for sure.

These weeks I have advanced the project a lot, so I will have a lot to say for that day.

I have to do anything else?

back2dos commented 8 years ago

A word a two about yourself, a catchy talk title and a photo that you would like us to use would be helpful

soywiz commented 8 years ago

About myself: Carlos Ballesteros Frontend Tech Lead at Akamon.com and creator of some haxe libraries.

Catchy talk title: JTransc: Java and Kotlin everywhere through Haxe

Photo: https://avatars3.githubusercontent.com/u/570848?v=3&s=460

JbIPS commented 8 years ago

Good thing you clarify this, I totally understood "will give you an answer" :smile:. Glad you can make it!

soywiz commented 8 years ago

Yeah, I failed miserably being that brief :P, sorry. Today I just noticed that I didn't get any reply in all this time and I started to suspect something like this :)

ibilon commented 8 years ago

Added to the website, sorry for the delay!