A ClojureScript REPL for embedded JavaScriptCore on iOS, macOS, and tvOS to develop hybrid native apps.
Ambly is a ClojureScript REPL implementation designed specifically for developing hybrid ClojureScript and native applications on Apple platforms. It provides a live coding environment by interfacing with the embedded JavaScriptCore engine found in iOS, macOS, and tvOS, enabling interactive development directly on devices or simulators.
ClojureScript developers building hybrid applications for Apple platforms (iOS, macOS, tvOS) who need a live REPL environment integrated directly into native apps.
Developers choose Ambly for its seamless integration with Apple's native JavaScriptCore engine, eliminating the need for a browser or external JavaScript runtime, and for its built-in device auto-discovery that simplifies connecting to simulators and physical devices.
ClojureScript REPL into embedded JavaScriptCore
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Directly interfaces with Apple's embedded JavaScriptCore engine, allowing ClojureScript evaluation without a browser or external runtime, as highlighted in the README's focus on hybrid app development.
Automatically discovers iOS simulators and physical devices via multicast DNS, simplifying connections with configurable options like :choose-first-discovered, as demonstrated in the REPL startup sequence.
Works across iOS, macOS, and tvOS with included demo apps for each platform, enabling consistent REPL experiences on all Apple ecosystems.
Offers customization through options such as :mdns-bind-address, providing flexibility in network settings to tailor the connection behavior, as detailed in the REPL options section.
Requires Xcode, CocoaPods, Java 8+, and Clojure CLI tools, creating a steep barrier to entry for developers not already embedded in the Apple or Clojure ecosystems, as noted in the prerequisites section.
Limited to iOS, macOS, and tvOS, making it unsuitable for cross-platform development targeting Android or other operating systems, a clear vendor restriction from its design philosophy.
Key details on connectivity and app integration are relegated to a wiki, suggesting the main README lacks comprehensive guidance and may require additional effort to troubleshoot issues.