重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Android 中怎么运行 ClojureScript,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了华亭免费建站欢迎大家使用!
cljs.core.apply.call(null,cljs.core.inc,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [1], null))
这行就是(apply inc [1])需要绑定的JavaScript代码
然后Tahmid终于有了2.0。真棒!这应该是有史以来的***次,在基于Android的嵌入式的Rhino上跑起来ClojureScript。
接下来,需要尝试用起来reader, analyzer, 和compiler。现在我们来试一下,只需要简单的使用Replete里的JavaScript,让Android的app执行Replete的read_eval_print函数,参数为字符串 (+ 1 2),如果工作正常,那么恭喜,ClojureScript已经成功启动了。
replete.core.read_eval_print.call(null,'(+ 1 2)')
且慢,Transit 里执行 goog.require('replete.core');的时候出了问题,应该是跟 randomUUID 有关。悲剧了,看上去显然还有很多地方需要处理。
不过没关系,Replete 之前一直尝试用不同的方式加载 analysis 缓存,感谢 Karl Mikkelsen,我们有了一个可用的版本只使用纯 JavaScript,没有任何依赖。把这个用起来之后,在把print回调弄好(这样类似 println 这样的方法就可以工作了),接下来 Tahmid 就通过Slack通知我:
I got 3 (+ 1 2) = 3
... 然后不断烦我,还会擅自发博客。就这样,引导的 ClojureScript REPL 在 Android 上诞生了!
Tahmid 在界面上封装了一些东西,修复了 JavaScript/ClojureScript 集成的一些小问题之后就发布了Replicator。
简直就是一场暴风雨!
现在,Tahmid 正在用 JavaScriptCore 替换 Rhino,这就没那么快了。
我认为这将使速度提升。这为我们在 Android 上使用 JavaScriptCore 进行本地交换的功能提供一些重要的基础。
从大图片来看,我真的认为 ClojureScript 在 Android 上运行很快。特别是使用 JavaScriptCore。对于这个观点的问题,可以看看 Bocko 对 Android 的 Vladimir Iakovlev 的端口在启动速度上的差异。
Clojure ~14 秒 Clojure / Skummet ~11 秒 ClojureScript ~2 秒
看完上述内容,你们掌握Android 中怎么运行 ClojureScript的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!