Releases: artemyarulin/ktoa
Releases · artemyarulin/ktoa
Improvements
ktoa.core/register!
- add additional arity: You can either(register! app-name mount)
or(register! app-name mount browser-node)
react-native
automatically exposed as aReact
globalreact-native-externs
updated with better React Native coverage
BREAKING:
ktoa.om/set-global!
removed asReact
global would be automatically created
Support of external packages
Now there is no need to look for packages ID in order to use any external one. Simply create repl app using this:
(ns repl.repl
(:require [ktoa.repl :as repl :refer-macros [start-repl]]))
(start-repl {:app-name "app"
:base-url "http://localhost:3449/js"
:root-ns "app.core"
:modules ["react-native" "react-timer-mixin"]}) ;; Here goes the list of packages
Later on just use simple (js/require "react-timer-mixin")
in your code.
More information here Require RN packages
BREAKING CHANGES:
ktoa.repl/start-repl
now a macros. Make sure you changed the code from:
(ns repl.repl
(:require [ktoa.repl :refer [start-repl]]))
to
(ns repl.repl
(:require [ktoa.repl :as repl :refer-macros [start-repl]]))
State sync experimental feature added
Now you can persist the state on a disk plus sync it in real time with other clients. Even if you are not developing cross-platform application it's still could be useful:
- No need to afraid of simulator crash/reboot/empty battery
- Open view somewhere deep on iPhone, work on it. Close it, reopen it on iPad - get the same app state
- During development you found a bug - just stash state file with app state, work on it later\send it to colleague
And it shines like a sun when you develop for multiple clients:
How to start: readme ktoa.state section
Components + API tuning
ktoa.components
has a wrapper for every React Native component
(ns app.core
(:require [ktoa.components :refer [view text switch]]))
(def node
(view {:style {:width 200}}
(text nil "Hello")
(switch nil nil)))
ktoa.om
- has all needed workarounds for Om-Nextktoa.core
andktoa.repl
refactored and became more reliable
REPL + Enough for simple app without need to interop with JS
- REPL - pretty much figwheel-react-native recreated using CLJS
- Application RN bootstrap - registerApp
- helpers for om-next initialization
- view/text/text-input components