8000 GitHub - maacl/natal: Bootstrap ClojureScript React Native apps
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

maacl/natal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Natal

Bootstrap ClojureScript-based React Native apps

Dan Motzenbecker, MIT License @dcmotz


Natal is a simple command-line utility that automates most of the process of setting up a React Native app running on ClojureScript.

It stands firmly on the shoulders of giants, specifically those of Mike Fikes who created Ambly and the documentation on setting up a ClojureScript React Native app.

Usage

Before getting started, make sure you have npm, Leiningen, and CocoaPods (>=0.36.4) installed.

Then, install the CLI using npm:

$ npm install -g natal

Then run natal with your app's name as the first argument:

$ natal FutureApp

If your app is more than a single word, be sure to type it in CamelCase. A corresponding hyphenated Clojure namespace will be created.

When Xcode appears, click the play button (or ⌘-R) to run the app on the simulator.

Then run the following for an interactive workflow:

$ cd future-app
$ ./start.sh

First, choose the correct device (probably [1]). At the REPL prompt type this:

(in-ns 'future-app.core)

Changes you make via the REPL or by changing your .cljs files should appear live.

Try this command as an example:

(swap! app-state assoc :text "Hello Native World")

When the REPL starts it will print the location of its compilation log. It's useful to tail it to see any errors, like so:

$ tail -f /Volumes/Ambly-81C53995/watch.log

Tips

  • Having rlwrap installed is optional but recommended since it makes the REPL a much nicer experience with arrow keys
  • Don't press ⌘-R in the simulator; code changes should be reflected automatically. See this issue in Ambly for details
  • Running multiple React Native apps at once can cause problems

Aspirations

  • Automatic wrapping of all React Native component functions for ClojureScript
  • Xcode-free development with CLI tools
  • Automatically run React packager in background
  • Automatically tail cljs build log and report compile errors
  • Templates for other ClojureScript React wrappers

Contributions are welcome.

About

Bootstrap ClojureScript React Native apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 53.4%
  • CoffeeScript 32.9%
  • Clojure 10.1%
  • Shell 2.6%
  • Other 1.0%
0