Clojure android activity?

508 views
Skip to first unread message

Mike Meyer

unread,
Jun 23, 2017, 6:57:57 PM6/23/17
to Clojure
Is there still any activity in the clojure-android space? The clojure-android mail list is largely inactive, seems like the developers of lein-droid haven't done anything in months (1.7.0-r4 is still used in the templates), and the numerous references If ind for an android-clojure web site are all dead.

That said, things do seem to mostly work for stock android. But accessing API's for android wear seems problematical (see https://github.com/clojure-android/lein-droid/issues/162 for my bug report).

Michael Blume

unread,
Jun 28, 2017, 12:12:40 PM6/28/17
to Clojure

My impression is that if you want to write Clojure on Android in 2017 you use React Native and write ClojureScript. Re-natal is a good starting point


On Fri, Jun 23, 2017, 3:57 PM Mike Meyer <m...@mired.org> wrote:
Is there still any activity in the clojure-android space? The clojure-android mail list is largely inactive, seems like the developers of lein-droid haven't done anything in months (1.7.0-r4 is still used in the templates), and the numerous references If ind for an android-clojure web site are all dead.

That said, things do seem to mostly work for stock android. But accessing API's for android wear seems problematical (see https://github.com/clojure-android/lein-droid/issues/162 for my bug report).

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Adam Clements

unread,
Jun 30, 2017, 10:56:43 AM6/30/17
to Clojure
Hey Mike, 

It's a case of life getting in the way - both Alex and myself got jobs not in the Android space. That being said, looking at the issues that have come up on the mailing list recently most would be fairly simple fixes, and I don't think there would be much of a problem bringing it up to date with the latest Clojure version.

Michael - I agree about using react native if you're writing a conventional app with activities etc, with the added benefit of iOS cross compatibility. If you want to do anything more involved with the input apis, wear apis etc, you'll probably need access to all the raw functionality as clojure-android provides.

It's a pity there was never any interest from core to acknowledge android as a supported platform - the set of patches was (and still is) pretty tiny to get it running - most of the custom work happened in lein-droid to package it up appropriately.

How many people want this? Is it worth spending some time bringing things back up to date? I'm going fully freelance in a week or so, so might find some time between projects (or if any companies want to use this and would be willing to sponsor development, get in touch and we'll see what we can do)

Adam

Alex Miller

unread,
Jun 30, 2017, 12:25:26 PM6/30/17
to Clojure
It's not really lack of interest from the core team, just a matter of not being able to do everything. I personally am not aware of any list of patches necessary to make Clojure work on Android (other than CLJ-1472, which has been the subject of some debate across Android and Clojure).

I would love to have all problems filed as tickets in jira and marked with a common label. I just created an Android report based on the label "android" at https://dev.clojure.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=11701. Feel free to tag any issues with that label so they show up there. 

Would be happy to try to move any issues forward towards release. CLJ-1472 btw would possibly be sidestepped by CLJ-1891 which would pull the use of the locking macro out of the default initialization path (which is why it became an issue when it did). Doesn't really fix the issue but probably makes it ignorable for now. I'm hoping to get CLJ-1891 into Clojure 1.9.

Alex


On Friday, June 30, 2017 at 9:56:43 AM UTC-5, Adam Clements wrote:
Hey Mike, 

It's a case of life getting in the way - both Alex and myself got jobs not in the Android space. That being said, looking at the issues that have come up on the mailing list recently most would be fairly simple fixes, and I don't think there would be much of a problem bringing it up to date with the latest Clojure version.

Michael - I agree about using react native if you're writing a conventional app with activities etc, with the added benefit of iOS cross compatibility. If you want to do anything more involved with the input apis, wear apis etc, you'll probably need access to all the raw functionality as clojure-android provides.

It's a pity there was never any interest from core to acknowledge android as a supported platform - the set of patches was (and still is) pretty tiny to get it running - most of the custom work happened in lein-droid to package it up appropriately.

How many people want this? Is it worth spending some time bringing things back up to date? I'm going fully freelance in a week or so, so might find some time between projects (or if any companies want to use this and would be willing to sponsor development, get in touch and we'll see what we can do)

Adam

On Wed, Jun 28, 2017 at 5:12 PM Michael Blume <blume...@gmail.com> wrote:

My impression is that if you want to write Clojure on Android in 2017 you use React Native and write ClojureScript. Re-natal is a good starting point


On Fri, Jun 23, 2017, 3:57 PM Mike Meyer <m...@mired.org> wrote:
Is there still any activity in the clojure-android space? The clojure-android mail list is largely inactive, seems like the developers of lein-droid haven't done anything in months (1.7.0-r4 is still used in the templates), and the numerous references If ind for an android-clojure web site are all dead.

That said, things do seem to mostly work for stock android. But accessing API's for android wear seems problematical (see https://github.com/clojure-android/lein-droid/issues/162 for my bug report).

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.

Adam Clements

unread,
Jul 1, 2017, 7:43:50 AM7/1/17
to Clojure
That's great Alex, all sounds really promising, I'll work out the full list of patches and make sure everything's labelled in JIRA, but from a cursory glance it's looking good already (CLJ-1657 is merged, the ones you mentioned above are on their way, and I think that's most of the patch set). The default clojure-android also had a few performance enhancements that were still in discussion at the time, including direct linking which in turn allowed proguard to work and bring the method count below the 65k limit for dalvik. It's two years since I looked at this though, so I don't know what effect 1.8 and 1.9 will have had on this and whether android tools have done away with the 65k limit (something they were working on), so these may have just fixed themselves over the natural course of development.

The one elephant in the room is the ClassLoader - clojure-android is patched to use the dalvik classloader when working dynamically rather than AOT compiled, and there's no convenient extension point to do that from a library or anything, and I'm guessing no appetite for an official build config to pull it in for a clojure-android artifact. There's been some discussion before about making this a bit more extensible in core, but I appreciate that's never going to have a quick fix. This one isn't the end of the world for a couple of reasons - 1) it doesn't affect production versions when everything's AOT anyway and 2) maintaining a single patch on top of otherwise vanilla clojure is a much less arduous task, but I'd love to see a better solution for that.

Adam

On Fri, Jun 30, 2017 at 5:25 PM Alex Miller <al...@puredanger.com> wrote:
It's not really lack of interest from the core team, just a matter of not being able to do everything. I personally am not aware of any list of patches necessary to make Clojure work on Android (other than CLJ-1472, which has been the subject of some debate across Android and Clojure).

I would love to have all problems filed as tickets in jira and marked with a common label. I just created an Android report based on the label "android" at https://dev.clojure.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=11701. Feel free to tag any issues with that label so they show up there. 

Would be happy to try to move any issues forward towards release. CLJ-1472 btw would possibly be sidestepped by CLJ-1891 which would pull the use of the locking macro out of the default initialization path (which is why it became an issue when it did). Doesn't really fix the issue but probably makes it ignorable for now. I'm hoping to get CLJ-1891 into Clojure 1.9.

Alex


On Friday, June 30, 2017 at 9:56:43 AM UTC-5, Adam Clements wrote:
Hey Mike, 

It's a case of life getting in the way - both Alex and myself got jobs not in the Android space. That being said, looking at the issues that have come up on the mailing list recently most would be fairly simple fixes, and I don't think there would be much of a problem bringing it up to date with the latest Clojure version.

Michael - I agree about using react native if you're writing a conventional app with activities etc, with the added benefit of iOS cross compatibility. If you want to do anything more involved with the input apis, wear apis etc, you'll probably need access to all the raw functionality as clojure-android provides.

It's a pity there was never any interest from core to acknowledge android as a supported platform - the set of patches was (and still is) pretty tiny to get it running - most of the custom work happened in lein-droid to package it up appropriately.

How many people want this? Is it worth spending some time bringing things back up to date? I'm going fully freelance in a week or so, so might find some time between projects (or if any companies want to use this and would be willing to sponsor development, get in touch and we'll see what we can do)

Adam

On Wed, Jun 28, 2017 at 5:12 PM Michael Blume <blume...@gmail.com> wrote:

My impression is that if you want to write Clojure on Android in 2017 you use React Native and write ClojureScript. Re-natal is a good starting point


On Fri, Jun 23, 2017, 3:57 PM Mike Meyer <m...@mired.org> wrote:
Is there still any activity in the clojure-android space? The clojure-android mail list is largely inactive, seems like the developers of lein-droid haven't done anything in months (1.7.0-r4 is still used in the templates), and the numerous references If ind for an android-clojure web site are all dead.

That said, things do seem to mostly work for stock android. But accessing API's for android wear seems problematical (see https://github.com/clojure-android/lein-droid/issues/162 for my bug report).

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to

For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages