Giter Club home page Giter Club logo

ambly's Introduction

Ambly

A ClojureScript REPL into embedded JavaScriptCore on iOS, OS X, and tvOS.

Ambly is a REPL designed for use when developing hybrid ClojureScript / native apps.

Ambly comprises a ClojureScript REPL implementation, along with Objective-C code interfacing JavaScriptCore.

An iOS and tvOS demo app is included, making it easy to give the REPL a spin.

pod "Ambly", "~> 0.7.0"

Clojars Project

Running

Prerequisites

You must have Xcode installed as well as support for CocoaPods. You must have Java 7 or later installed along with Leiningen or Boot.

Demo App

In ambly/ObjectiveC/Ambly Demo run pod install.

Open Ambly Demo.xcworkspace in Xcode and run the app in the simulator or on a device.

REPL

In ambly/Clojure run script/repl to start the REPL if you're using Leiningen. If you're using Boot, run $ boot ambly.

Here is a sample REPL startup sequence, illustrating device auto-discovery:

$ lein run 

[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

Note: See Connectivity for details, should any networking difficulty arise.

Manual REPL Startup

If you would like to manually start the Ambly REPL from a Clojure REPL, issue the following two forms:

(require
  '[cljs.repl :as repl]
  '[ambly.core :as ambly])
(repl/repl (ambly/repl-env))

rlwrap

For a better REPL experience (keyboard input editing and history support), you can install rlwrap under OS X with Homebrew:

brew install rlwrap

Then script/repl will automatically detect rlwrap and use it.

Contributing

Please contact David Nolen via email to request an electronic Contributor Agreement. Pull requests will be accepted once your electronic CA has been signed and returned.

Copyright and license

Copyright ยฉ 2015โ€“2016 David Nolen

Licensed under the EPL (see the file LICENSE).

ambly's People

Contributors

elibdev avatar mfikes avatar sherbondy avatar swannodette avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.