My favorite of these languages, which I’ve mentioned on this blog before, is ClojureScript. ClojureScript comes from the Lisp family of languages. As such, it’s a highly functional language, and fits nicely with the reactive nature of React Native. Being able to use the full set of Clojure(Script) tooling in React Native development is a godsend. Popping open a REPL and being able to edit your code on the fly alongside React Native’s hot reloading gives you a crazy fast development loop. You won’t have time to get distracted and tab over to Hacker News while using ClojureScript.
Another such language is Elm. Elm, like ClojureScript, is a functional language. It’s not a Lisp, taking more inspiration from Haskell. Elm has a lot of nice features, including a complete lack of runtime exceptions and amazingly helpful compiler errors. Elm support for React Native is still in early stages, but the engineering team at thoughtbot have been doing some pretty cool work with it so far.
Here are a few resources for getting started using React Native in each of the above languages: