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.

Reply via email to