4 ms·
I'm skeptical towards the ASE approach; Tim Bray's post on the subject has a good overview of the challenges inherent in getting nicer languages working for And
by technomancy 16y ago
I'm skeptical towards the ASE approach; Tim Bray's post on the subject has a good overview of the challenges inherent in getting nicer languages working for Android apps: http://www.tbray.org/ongoing/When/201x/2010/07/28/Ruby-and-Python-on-Android http://www.tbray.org/ongoing/When/201x/2010/07/28/Ruby-and-P...
My money is on Mirah, a new fast, lightweight JVM language that feels like Ruby but compiles to identical-to-Java bytecode: https://github.com/mirah/pindah https://github.com/mirah/pindah I don't think shoehorning existing runtimes is a suitable long-term approach.
- deleted 16y ago[deleted]
- cageface 16y agoAgreed. Something like Mirah, designed to run the the Java ecosystem from the ground up, makes more sense and brings along far less baggage. You lose the Python libraries if you go this route but I suspect you're mostly just going to be gluing together bits of the Android APIs anyway so it's less of a loss.
- ddkrone 16y agoI am currently pulling my hair out just trying to get various activities to send stuff between each other. Doing this stuff in Javascript is so much easier with JSON and it's too bad there is no JSON equivalent for Java and the static typing doesn't help matters either so I can't wait until there is another option other than Java for writing applications.
- th0ma5 16y agoactually there's a JSON library with the Android SDK ... check out this great document that describes a bare bones webview based android development path, sort of like phonegap but with thinner gloves: http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidWebView.pdf http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidWebVi...
- cageface 16y agoIt's funny. Half the time people claim Android's static typing is an advantage vs iOS and half the time people instead really hate it. I have to say that now that I'm slowly getting over the verbosity of Objective-C I'm finding ansi C + a dynamic messaging layer to be a pretty nice combination on iOS. It looks like I'd have to work both below Java with the NDK (painful) and above it with some kind of scripting layer to get similar speed + flexibility on Android.
- ddkrone 16y agoI started programming in dynamic languages like Javascript and Ruby so I'm really hating it. I have no idea how people manage to get anything done in Java. I was hoping generics would help me out but when I started using them all of a sudden interfaces started to pollute everything. I really wish palm/hp had more competent management because their webOS operating system is light years ahead of android/iOS.
- cturner 16y agoI've lived both worlds. Java is strong where you have a large codebase with a team working on it. Even more if you have multiple versions of your platform running in different places and need to manage the code forward. Static typing is really useful for this stuff. I think single-person teams, or very-well-gelled small teams (who can all buy into a single syntactic style) are far more effective with dynamic languages.
- cageface 16y agoGood point. Context is everything for language choice.
- kaffiene 16y agoThere are JSON libraries for Java (which I use as a persistence / data transfer layer) and there's JSON libraries in Android specifically.
- DanielRibeiro 16y agoWeird nobody else mentioned ruboto: https://github.com/ruboto/ruboto-core https://github.com/ruboto/ruboto-core It even has an app for android (https://market.android.com/details?id=org.ruboto.irb https://market.android.com/details?id=org.ruboto.irb), which works very well, even with OpenGL.
- rst 16y agoRuboto still seems to have a few problems. According to the current faq on github[1], a "hello world" app currently takes over 3 mb compressed, and takes 10 seconds or so to start. (They're working on it.) So it works, but not really well yet. [1] https://github.com/ruboto/ruboto-core/wiki/FAQ https://github.com/ruboto/ruboto-core/wiki/FAQ