Awesome! Thanks for setting up that little playground with your cljs-cl project, Mike, I am going to use that to explore some stuff as well!
On Friday, November 21, 2014 12:13:01 PM UTC-6, Frozenlock wrote: > > Really interested by this. > > The startup time has always been a big no-no every time I was tempted to > use Clojure on Android. > > On Friday, November 21, 2014 12:50:58 PM UTC-5, Uday Verma wrote: >> >> Hello Everyone, >> >> I was at this pretty interesting meet-up yesterday where Sam Beran [1] >> showed how he achieved 30ms startup times on Android using Clojurescript. >> He was not hosting his app inside a web view, it was a native java app. >> >> We all know and understand why clojure runtime bootstrap is "heavy" [2]. >> It is definitely not feasible at all on Android, and I feel Sam is onto >> something here. >> >> Sam took a round about way to solve this problem which I think is >> incredible. I have requested Sam to write a blog post about this so that >> interesting rhetoric can begin. >> >> Basically the approach is this: cljs -> js -> rhino [3] -> bytecode. >> Provides java interop through rhino. By the time things get to rhino, >> google closure has already thrown away most of the runtime away since we >> didn't use it, and we end up with manageable amount of JS which is compiled >> to manageable amount of byte code. All of jvm is still available. >> >> I do feel that having JS as an intermediate layer has certain >> disadvantages when we want to target jvm (e.g. threading), but overall I >> wanted to get a feel of what everyone thinks about this, may be insights >> into this as to why this is or isn't a great idea. I understand that I am >> not doing justice to Sam's efforts here by mentioning it in just one line >> above, but I am hoping a more detailed blog post will help! >> >> I have a feeling that this approach can do certain things for me and the >> Clojure community in general: >> >> - Makes it easy to sell adoptability to people, write code once, run on >> Web or JVM (what JS sort of does with node.js). >> - Fast startup times mean that we can write single shot command line >> apps and short lifespan programs, right now Clojure bootup is a major thing >> holding at least me back from doing this. "Oh man its takes forever to run". >> - May be we can figure how to convert existing investment and effort >> spent into writing Clojure libraries into this approach? >> >> Looking forward to hearing back. >> >> Relevant twitter thread: >> https://twitter.com/samberan/status/523929208595025920 >> >> Thanks, >> Uday >> >> [1] https://twitter.com/samberan >> [2] >> http://nicholaskariniemi.github.io/2014/02/25/clojure-bootstrapping.html >> [3] >> https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/JavaScript_Compiler >> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.