Skip to content

Releases: artemyarulin/ktoa

Improvements

14 Mar 15:52
Compare
Choose a tag to compare
  • 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 a React global
  • react-native-externs updated with better React Native coverage

BREAKING:

  • ktoa.om/set-global! removed as React global would be automatically created

Support of external packages

06 Jan 06:51
Compare
Choose a tag to compare

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

03 Jan 11:43
Compare
Choose a tag to compare

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:
cross-platform-sync-state

How to start: readme ktoa.state section

Components + API tuning

29 Dec 09:04
Compare
Choose a tag to compare
  • 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-Next
  • ktoa.core and ktoa.repl refactored and became more reliable

REPL + Enough for simple app without need to interop with JS

25 Dec 06:37
Compare
Choose a tag to compare
  • REPL - pretty much figwheel-react-native recreated using CLJS
  • Application RN bootstrap - registerApp
  • helpers for om-next initialization
  • view/text/text-input components