WhoBuilt

React Native Programming Languages

Sep 15, 2022· 24 min· 1.1K views·Watch on YouTube

Speakers

Lukas, a Callstack host, and Abi, whose role is not stated, discuss programming languages used with React Native at Callstack’s Wrocław studio.

JavaScript and TypeScript

Lukas frames React Native as approachable for web developers who know JavaScript, while also allowing deeper work with native languages. Abi describes JavaScript as an evolving language and recommends TypeScript for its types and ability to catch bugs. They also explain that JSX and TSX let developers write React components with tag-like syntax.

Languages for Android and iOS

Abi covers Android’s Java and Kotlin, noting that Kotlin is Java-compatible and can be adopted alongside Java in an app. For iOS, they discuss Swift and Objective-C, including Swift Playgrounds as a way to learn through simple programming exercises. They describe IDE support as a strength of working with Java.

React Native on Windows

The hosts mention C# in the context of React Native for Windows and note that Windows supports multiple languages. A Microsoft Office example illustrates how a long-lived product can combine technologies added across different eras, with React Native as one part of that mix.

Alternative languages and C++

They discuss writing React Native apps with languages that compile to JavaScript, including Kotlin and Reason, now called ReScript. Abi says Reason has strict types, a compiler that produces JavaScript, and JSX built into the language. They also describe C++ as an option for native code and bindings, including with React Native’s New Architecture.

Choosing how deep to go

Lukas closes by contrasting building a product with JavaScript alone against exploring less common technologies in the React Native ecosystem. Their discussion presents React Native as a way to work at different levels, from app development in JavaScript to native code and other languages.

Takeaways

  • TypeScript’s types can catch bugs, and it can be introduced gradually into a JavaScript project.
  • React Native development can involve JavaScript and JSX as well as platform languages such as Java, Kotlin, Swift, Objective-C, and C#.
  • Kotlin and Reason or ReScript can compile to JavaScript for React Native projects.
  • C++ can be used for native code and bindings in React Native applications.
  • A product with a long history may combine multiple technologies, so teams should account for that complexity when maintaining it.

Mentioned in this talk

Search inside this talk

What was claimed 14

Related talks