Ambly
Ambly是在iOS、macOS和tvOS上嵌入的JavaScriptCore中的ClojureScript REPL。
Ambly是一个用于开发混合ClojureScript /本地应用的REPL。
Ambly包括ClojureScript REPL实现以及与JavaScriptCore交互的Objective-C代码。
包含iOS、macOS和tvOS的演示应用程序,使REPL易于试用。
pod "Ambly", "~> 1.11.0"
运行
预备条件
您必须已安装Xcode以及支持CocoaPods。您必须安装Java 8或更高版本,以及Clojure CLI工具。
示例iOS和tvOS应用程序
在ambly/ObjectiveC/Ambly Demo
中运行pod install
。
在Xcode中打开Ambly Demo.xcworkspace
,并在模拟器或设备上运行该应用。
您需要在“Ambly Demo”的目标设置中选择一个团队(并设置Bundle Identifier,使其与您的团队兼容)。
演示 macOS 应用
您可以选择构建Ambly Demo CLI
项目并安装,或者从http://ambly.fikesfarm.com下载预先构建的macOS二进制文件。
REPL
您可以通过向cljs.main
提供-re ambly
选项来启动Ambly REPL。
以下是一个REPL启动示例,展示了设备自动发现。
$ clj -m cljs.main -ro '{:choose-first-discovered false}' -re ambly -r
Ambly binding to 10.0.1.41 for mDNS.
[1] Ambly Demo on iPod touch
[2] Ambly Demo on iPad
[3] Ambly Demo on iPhone Simulator (My-Mac-Pro)
[4] Ambly Demo TV on Apple TV
[R] Refresh
Choice: 1
Connecting to Ambly Demo on iPod touch ...
To quit, type: :cljs/quit
cljs.user=> (+ 3 4)
7
注意:如果有网络困难,请参阅连接性获得详细信息。
REPL 选项
:choose-first-discovered
决定Ambly是否尝试自动连接第一个找到的设备。默认为true
。
示例
clj -m cljs.main -ro '{:choose-first-discovered false}' -re ambly -r
:mdns-bind-address
指定在多播DNS查找设备时Ambly绑定的地址。
clj -m cljs.main -ro '{:mdns-bind-address "10.0.0.1"}' -re ambly -r
应用程序集成
以下是一个示例,展示了如何使用Ambly来驱动Ejecta:[ClojureScript Ejecta](http://blog.fikesfarm.com/posts/2017-04-29-clojurescript-ejecta.html)。
使用Ambly的iOS应用程序示例的源代码在Shrimp。
许可证
Ambly™ 版权所有 © 2015–2022 Mike Fikes 和贡献者
分发许可证为Eclipse Public License的1.0版本或(根据您的选择)任何更高版本。