TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The state of Clojure on Android

55 pointsby Kuytuabout 10 years ago

4 comments

robinricardabout 10 years ago
This is a nice, complete and well-documented review of why Clojure is not made for Android.<p>I disagree with the conclusion though: yeah, the classic JVM-clojure seems doomed on Android. Why ? It&#x27;s not made for that, it&#x27;s made for servers, it&#x27;s not even used for desktop GUI programming that much. Even if we beat the startup time, it&#x27;s not likely that we&#x27;ll get nice UI-bindings for Android before a long time (I like the Java-interop but writing serious Android apps with the interop alone seems awful to me) and yes, there are some libraries abstracting this a little bit such as neko [1] but it&#x27;s still too close to the Java-development paradigms (it&#x27;s not as clojure-ish as I wish, but that&#x27;s my opinon!).<p>So, the conclusion: no we don&#x27;t need a swift for Android, and clojure is not swift anyway.<p>iOS already has clojure support, it&#x27;s not really stable but it has decent startup times and a nice API. It&#x27;s not the JVM-clojure, it&#x27;s clojurescript. The UI is managed by React Native and om. It works and you get a nice REPL running too. [2] No it&#x27;s not finished and has lots of bugs and it&#x27;s not even publishable on the AppStore for now but it&#x27;s just a matter of weeks here before addressing those problems (you can follow the work of David Nolen &amp; Mark Fikes on this particularly, they often communicate on what they&#x27;re doing but there are other awesome people working on this too!)<p>So for Android ? ReactNative is coming too [3]. When it&#x27;s there, the community will try the same thing as what they did on iOS, and it&#x27;s likely to succeed too. The community behind cljs is growing and it&#x27;s becoming the main clojure implementation for ui-related stuff. You can thank React and om for that but I think that core.async has a lot to do with it too.<p>Anyway, I don&#x27;t want to stop believing in Clojure for mobile development.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;clojure-android&#x2F;neko" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;clojure-android&#x2F;neko</a> [2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;omcljs&#x2F;ambly&#x2F;wiki&#x2F;Driving-React-Native-with-Om" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;omcljs&#x2F;ambly&#x2F;wiki&#x2F;Driving-React-Native-wi...</a> [3]: <a href="https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;blog&#x2F;#when-is-react-native-android-coming" rel="nofollow">https:&#x2F;&#x2F;facebook.github.io&#x2F;react&#x2F;blog&#x2F;#when-is-react-native-...</a>
评论 #9438462 未加载
评论 #9438828 未加载
评论 #9438531 未加载
评论 #9438523 未加载
th0br0about 10 years ago
From a user perspective, I find the statement that &quot;Lean Clojure&quot; works based off these charts a bit daring. Why?<p>a) Without having access to the numbers, (Skummet) startup is ~5 times as slow as the Java version. That is a noticeable difference. Plus, even Java apps sometimes tend to take a second or more to start up if they&#x27;re reasonably complex.<p>b) The &quot;Lean Clojure works&quot; statement is derived from comparing _only_ the startup times. The fact that the task time is around two times Java&#x27;s for Skummet is a big thing. Ignoring startup time, and without further data&#x2F;tests, one could argue that Clojure Android apps run twice as slow as Java ones... that&#x27;s a big no-go given the high amount of sparkly UI features of most modern apps. Or at least a no-go for having a Clojure-only stack?<p>(Skummet&#x27;s probably in its early stages and I&#x27;d expect improvements but ... from those graph I&#x27;d argue &#x27;Lean Clojure&#x27; does not work (yet?))
评论 #9438121 未加载
cp9about 10 years ago
At clojure&#x2F;west Zachary Kim had a talk about the state of mobile app dev in clojure [0].<p>[0]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=AgjRo54ImUMa" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=AgjRo54ImUMa</a>
daniel_solanoabout 10 years ago
So, I&#x27;ve been involved on Clojure&#x2F;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?<p>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&#x27;t an absolute deal-breaker for a lot of people.