您好,登錄后才能下訂單哦!
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的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。