Live data from Hacker News

The state of Clojure on Android

blog.ndk.io

11–19 of 19 posts

Re: The state of Clojure on Android

#11
So, I've been involved on Clojure/Android for a long time. I really like what Alexander has done with Skummet, and I think there is still room for improvement. However, I have to wonder to what extent is it good enough?

I use a lot of applications which have terrible load times. Some of these may be native, others are probably using some sort of cross-platform development framework. While I would prefer better performance, I am coming to the conclusion that startup time really isn't an absolute deal-breaker for a lot of people.

Re: The state of Clojure on Android

#12
post #7

This is a nice, complete and well-documented review of why Clojure is not made for Android. I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like th…

I've been using Phonegap with Clojurescript on iOS. Perhaps that would be a viable alternative for Android development as well.

It is certainly doable. I haven't done it myself, but I know of people who have done it successfully on Android.

Unfortunately, I don't think Phonegap is a very good solution. Depending on your application, it may be good enough, but it's overall not as good as true native development.

Re: The state of Clojure on Android

#13
post #9
post #8

Earlier quoted context omitted.

> So, the conclusion: no we don't need a swift for Android, and clojure is not swift anyway. At very minimum we need Java 8, but I am willing to bet Google IO will not bring any news on that front. Currently I have been using Java/C++ for my mobile hobby programming as I also like to play around with WP (C++/CX). Regarding Clojure, maybe a static Lisp with Clojure syntax but with type inference could be a way to tack…

Maybe Pixie-Lang with the NDK. You would have to wrap all the Java GUI calls through their C interface. This sort of messes with my head a little.

Last time I checked, pure NDK apps are best for games that use OpenGL as their primary interface. If you want native controls, you can't really do that entirely from the NDK side.

Re: The state of Clojure on Android

#14
post #9

Earlier quoted context omitted.

Maybe Pixie-Lang with the NDK. You would have to wrap all the Java GUI calls through their C interface. This sort of messes with my head a little.

Last time I checked, pure NDK apps are best for games that use OpenGL as their primary interface. If you want native controls, you can't really do that entirely from the NDK side.

It is still the case.

So far I have endured the NDK because I cared more about playing around with graphics between Android and WP on my hobby coding.

Something like Qt allows for native like controls, but one is loosing the functionality the platforms offer for free, as well as, increasing the APK size considerably. And JNI wrappers are still required for interacting with the OS for intents and such.

From the JVM languages Clojure would be a good candidate for staying in Android user space and also allow targeting iOS (RoboVM) and WP (Clojure-CLR), specially with the help of the upcoming reader conditionals.

But with this performance, Xtend, Kotlin and Scala appear to be better candidates if one is just focusing on Android.

Re: The state of Clojure on Android

#15

This is a nice, complete and well-documented review of why Clojure is not made for Android. I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like th…

> So, the conclusion: no we don't need a swift for Android, I think we do, and to me, that language is Kotlin: Analysis: http://goo.gl/wNjXoU The language: http://kotlinlang.org

Totally agree with you! Kotlin is great replacement for Java on Android. I like to see that more and more interesting libraries appear for Kotlin, like Anko. I recently made Anvil compatible with Kotlin (http://zserge.com/blog/anvil-kotlin.html), which makes UI development a pleasure

Re: The state of Clojure on Android

#16

This is a nice, complete and well-documented review of why Clojure is not made for Android. I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like th…

> So, the conclusion: no we don't need a swift for Android, I think we do, and to me, that language is Kotlin: Analysis: http://goo.gl/wNjXoU The language: http://kotlinlang.org

Kotlin also looks like the most serious contender to me. Sure, something like Rust might be more interesting for various reasons, but the engineering effort needed to port the Android framework to another language would be huge (and the official word from the Android framework team is that it is not worth the effort). Not to mention that third party developers would have to relearn the framework from scratch and that we either have a windows mobile 6 / WP7 rift or the framework team has another nightmarish problem to solve. Kotlin looks like it could both guarantee retro-compatibility with Dalvik and brings a better language to the platform.

Re: The state of Clojure on Android

#17
post #8

This is a nice, complete and well-documented review of why Clojure is not made for Android. I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like th…

> So, the conclusion: no we don't need a swift for Android, and clojure is not swift anyway. At very minimum we need Java 8, but I am willing to bet Google IO will not bring any news on that front. Currently I have been using Java/C++ for my mobile hobby programming as I also like to play around with WP (C++/CX). Regarding Clojure, maybe a static Lisp with Clojure syntax but with type inference could be a way to tack…

[deleted]

Re: The state of Clojure on Android

#18
post #9
post #8

Earlier quoted context omitted.

> So, the conclusion: no we don't need a swift for Android, and clojure is not swift anyway. At very minimum we need Java 8, but I am willing to bet Google IO will not bring any news on that front. Currently I have been using Java/C++ for my mobile hobby programming as I also like to play around with WP (C++/CX). Regarding Clojure, maybe a static Lisp with Clojure syntax but with type inference could be a way to tack…

Maybe Pixie-Lang with the NDK. You would have to wrap all the Java GUI calls through their C interface. This sort of messes with my head a little.

Very highly unlikely. With the NDK, you lose 99.9% of the framework. Any replacement language for Android needs to interface with Android's java framework or it will be completely useless.

Re: The state of Clojure on Android

#19
post #7

This is a nice, complete and well-documented review of why Clojure is not made for Android. I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It's not made for that, it's made for servers, it's not even used for desktop GUI programming that much. Even if we beat the startup time, it's not likely that we'll get nice UI-bindings for Android before a long time (I like th…

I've been using Phonegap with Clojurescript on iOS. Perhaps that would be a viable alternative for Android development as well.

It is not. Not as a general purpose solution anyway. Phonegap can be useful in order to quickly publish a very simple application on both platforms. Outside of that, its disadvantages pile up VERY quickly.
Post reply on HN