Working With Native Modules

The goal of this workshop is to show participants how to write native modules that work well with React Native. We’ll show how to write such a module using Swift and Kotlin. Participants will learn how to bridge not only the APIs but also the native views that are ready to be used in JavaScript.

Book your training
Level
B
Lenght
8 hours
Categories
React Native
Type
Companies-oriented

a. Introduction to native modules

In the beginning we’ll explain the concept of a native module. We’ll answer the question of how it is possible to run native code from JavaScript. Also we’ll show that we can bridge the native view components and combine them with React Native easily.

b. How JavaScript and native talk to each other

When we mix native and React Native components, we eventually find the need to communicate between these two worlds. In this section we’ll explain the concept of the bridge, show how it can affect app performance and what kind of data can be passed through it back and forth.

c. Why Swift and Kotlin?

The native code in React Native is mostly written in Objective C and Java. These languages have been available in the market for a very long time, but as time passes, industry standards change. It’s perfectly fine to use new languages for each platform – our goal is to present you with all the pros and cons.

d. Creating a native module in Swift

It’s time to get our hands dirty and write some code. We’ll create our first native module with Swift. Participants will learn how to invoke native functions from JS, export constants and send events from native to JS.

e. Creating a native module in Kotlin

After we finish the iOS part, we'll do the same with the Android platform. At the end we should have a universal module with a unified JavaScript API.

f. Exporting a native iOS view to JavaScript

Bridging native APIs is sometimes not enough. Often in real life you would like to consume some SDK and embed a predefined view in your JavaScript layout. We’ll show participants how to tackle these kinds of tasks.

g. Exporting a native Android view to JavaScript

Pretty much the same as with the module, we’ll copy what we did on iOS with Android. At the end we’ll have a cross-platform component, ready to be used in JavaScript.

h. Combining the RN and native screens

In this section we’ll show how to push a React Native screen to a native navigation stack. We’ll create a simple native layout and push the React Native view to the stack. We’ll also show how to pre-initialize the bridge to match the native navigation user experience.

See more modules

Trainings level A

State Management With Redux

Every app we write has some kind of state – it could be a shopping list or a gym schedule. The more complex our apps get, the more state they need to manage, hence the need for managing it properly. One of the most popular state management libraries is Redux – a single-tree storage based on Flux architecture.

Callstasck Tornado
Trainings level A

Testing

Let’s say you have a perfect bug-free app you’re very proud of. Does it change over time? How many developers work within the same codebase? How familiar are they with this code? How do you ensure your code is still perfect? The answer is automated testing, and this workshop is all about it. Let’s take a deep dive into this fascinating world to boost your confidence from shipping to production!

Callstasck Tornado
Trainings level A

Navigation in React Native

Navigation has been a hot topic in React Native from day one. There have been many attempts to solve it. All of them follow different concepts and might fit better or worse for different use-cases. In this section we’ll present market leading solutions and teach participants about their differences and when to use one or another.

Callstasck Tornado
Trainings level A

Intro to React

The following course provides a basic introduction to all of the concepts behind React. The scope of this module lets participants understand the architecture of React and includes the patterns used in daily development. It contains all the knowledge required to get up and running with React.

Callstasck Tornado
Trainings level A

Intro to Modern JavaScript

This module is designed to help people who don’t have much experience with JavaScript or haven’t had a chance to work with modern JavaScript codebases. It will provide a good technical background to start working with React and React Native or JavaScript in general.

Callstasck Tornado
Trainings level A

Essential React Native

In this workshop, attendees will learn how to build a real mobile app that's indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React. We’ll guide participants through the framework, ecosystem, syntax, and best practices to build a real-world application.

Callstasck Tornado
Trainings level B

Universal React

One of the biggest advantages of React in comparison to other cross-platform technologies is the fact that it supports not only mobile platforms, but also web browsers. In this workshop we’ll play with ReactXP, the library that builds abstraction over React Native, React Web and React Windows. The scope of this workshop is to introduce best practices in writing cross-platform apps, present the best techniques to write code that will be universal across platforms, and provide a few ideas on how to handle the differences in a gentle way.

Callstasck Tornado
Trainings level B

React Native Performance

The following course is designed for developers who have production experience with React Native. The scope dives deep into the native side of the framework. It’s a very low level in terms of React Native development. The course tackles a lot of the iOS and Android application development topics. It’s perfect for gaining a wide overview of mobile app creation, and lets you look at React Native in a different way.

Callstasck Tornado
Trainings level B

Delightful UX With React Native

Modern applications contain a lot of beautiful designs and highly focus on user experience. The basic React Native knowledge is in most cases not enough to ship a 5-star store application. This module is designed for developers who already have some experience in writing React Native but want to extend their knowledge in terms of writing beautiful and usable applications. We’ll tackle navigation and animation-related topics that can make all the difference for the end users of the application.

Callstasck Tornado
Trainings level B

Continuous Integration & Continuous Deployment

Automation of development and deployment flows are really important these days. Not only that not many companies can afford a dedicated DevOps team to handle the releases, but also that the human factor might slow down a lot of the things in the delivery process. This workshop is aimed at teaching participants how to create an automated pipeline that will increase your code quality by performing various checks and deliver the builds to the testers or the stores with simple git merges.

Callstasck Tornado
Trainings level B

Concurrent React

As Dan Abramov, co-author of Redux and one of the main Reactjs contributors tweeted: “Concurrent React is not a set of new APIs. It’s more like lifting some restrictions on what React can do.” This is exactly what this section is about. We’ll introduce new concepts (and the corresponding APIs) of React 16+ that makes it even more asynchronous and prepares developers to write the next generation React code.

Callstasck Tornado
Trainings level B

Code Quality With Flow

The code quality section is crucial for developers that are new to the React or React Native ecosystem. We introduce the tooling that is used to help teams develop better products and improve code stability. The static type analysis tool used in this module is Flowtype.

Callstasck Tornado
Trainings level B

Code Quality With TypeScript

The code quality section is crucial for developers who are new to the React or React Native ecosystem. We introduce the tooling that is used to help teams develop better products and improve code stability. The static type analysis tool used in this module is TypeScript.

Callstasck Tornado
Trainings level B

Deep Dive Into React

The content of this course is designed for developers who have some experience with React. Those who have been working with React for a while and are looking to improve their skills should benefit the most from this workshop. Participants should be able to write more declarative code and design their components in a way that allows apps to scale well.

Callstasck Tornado
Trainings level B

Apollo-Client Masterclass

GraphQL is becoming more popular every day. It’s a step forward in the communication between front end and back end. It simplifies a lot of the things, especially on the front-end side. It introduces the techniques required to write real-life apps based on GQL and Apollo. This workshop is designed for people that are either not yet familiar with GraphQL itself or want to improve their skills in Apollo Client usage.

Callstasck Tornado

Choose module for your React Native Training for Enterprises

This information will be used only to contact you. For details, check our Privacy Policy.