React Native source maps tool

  • A new tool is available to make it easier to upload source maps for React Native projects using Bugsnag.
  • Source maps are required to translate the minified JavaScript errors into meaningful, actionable stack traces.
  • bugsnag-sourcemaps makes it easy to reliably upload source maps across Android and iOS in release and debug builds.
  • Find out more in our React Native docs.

A new tool is available to make it easier to upload source maps for React Native projects using Bugsnag.
Source maps…
Continue reading “React Native source maps tool”

Building a mobile app in Rust and React Native, Part 1: Project Setup

Building a mobile app in Rust and React Native, Part 1: Project Setup

  • Building a mobile app in Rust and React Native, Part 1: Project SetupThe first post in series ‘building a mobile app in Rust and React Native’.
  • In this series I will describe process of connecting mobile front-end written in React Native with business logic written in Rust.As an introduction to this article, I suggest reading a great series from John Gallagher: Building an iOS App in Rust, Part 1: Getting Started with RustThe app we are building is a mobile wallet for ethereum cryptocurrency.
  • Required toolsnode.js (tested on v7.4.0)npm (tested on 5.2.0)rustup (tested on rustup 1.0.0 (17b6d21 2016-12-15))rustc (tested on 1.19.0 (0ade33941 2017–07–17))cargo (tested on cargo 0.20.0 (a60d185c8 2017–07–13))android_ndk (tested on r13b)Xcode (only, for iOS, tested on Version 8.1 (8B62))$NDK_HOME envarionment variable set to ndk home directory (eg.
  • # iosrustup target add i386-apple-iosrustup target add x86_64-apple-iosrustup target add armv7-apple-iosrustup target add armv7s-apple-iosrustup target add aarch64-apple-ios# androidrustup target add aarch64-linux-androidrustup target add armv7-linux-androideabirustup target add i686-linux-androidNow, let’s create a new project.react-native init our_projectNext, create rust subdirectory, enter it and runcargo new our_projectAfter those steps, the project directory should look like /our_project /Cargo.toml /srcNext, let’s setup makefile the project and place it inside our_project dir.ARCHS_IOS = i386-apple-ios x86_64-apple-ios armv7-apple-ios armv7s-apple-ios aarch64-apple-iosARCHS_ANDROID = aarch64-linux-android armv7-linux-androideabi ios androidios: $(LIB)android: $(ARCHS_ANDROID) sh copy_android.
  • sh.PHONY: $(ARCHS_IOS)$(ARCHS_IOS): %: cargo build –target $@ –release.PHONY: %: cargo build –target $@ –release$(LIB): $(ARCHS_IOS) lipo -create -output $@ $(foreach arch,$(ARCHS_IOS),$(wildcard is a shell script that copies our statically compiled libraries to jniLibs directory.

In this series I will describe process of connecting mobile front-end written in React Native with business logic written in Rust. As an introduction to this article, I suggest reading a great series…
Continue reading “Building a mobile app in Rust and React Native, Part 1: Project Setup”

A library for building cross-platform apps

ReactXP: A library for building cross-platform apps on #ReactJS or #ReactNative |

  • With React and React Native, your web app can share most its logic with your iOS and Android apps, but the view layer needs to be implemented separately for each platform.
  • We have taken this a step further and developed a thin cross-platform layer we call ReactXP.
  • If you write your app to this abstraction, you can share your view definitions, styles and animations across multiple target platforms.
  • In general, it exposes APIs, components, props, styles and animation parameters that are implemented in a consistent way across React JS (HTML) and React Native for iOS and Android.
  • A few platform-specific props and style attributes have been exposed, but we have tried to keep these to a minimum.


The authors of React use the phrase “learn once, write anywhere”. With React and React
Native, your web app can share most its logic with your iOS and Android apps, but the view
layer needs to be implemented separately for each platform. We have taken this a step further
and developed a thin cross-platform layer we call ReactXP. If you write your app to this
abstraction, you can share your view definitions, styles and animations across multiple target
platforms. Of course, you can still provide platform-specific UI variants, but this can be done
selectively where desired.

Continue reading “A library for building cross-platform apps”

React Native Interfaces with Leland Richardson

[podcast] React Native Interfaces with Leland Richardson @intelligibabble @Airbnb…

  • React Native works by presenting a consistent model for the user interface regardless of the underlying platform, and emitting a log of changes to that user interface.
  • In today’s episode, he explains how Airbnb uses React Native, how React Native works, and the future of the platform.
  • Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services.
  • As a special offer to Software Engineering Daily listeners, get $50 toward any mattress purchase by visiting casper.com/sedaily and using codeat checkout.
  • To learn more and find out why companies like Github, DigitalOcean, and Yelp all use VividCortex to see deeper into their database performance.

Airbnb is a company that is driven by design. New user interfaces are dreamed up by designers and implemented for web, iOS, and Android. This implementation process takes a lot of resources, but it used to take even more before the company started using React Native. React Native allows Airbnb to reuse components effectively.
Continue reading “React Native Interfaces with Leland Richardson”

React Native Ecosystem with Nader Dabit

[podcast] React Native Ecosystem with Nader Dabit @dabit3 @R_N_Radio #NativeAPI…

  • In this episode, we explore what a developer can and cannot do with React Native, when a developer needs to use native APIs, and some speculation on the future of React Native.
  • This episode is a good preface for tomorrow’s episode about React Native Interfaces with Leland Richardson of Airbnb.
  • In that episode we will dive deeper into how React Native works and just how big of a change it could be for cross-platform developers.
  • To make deep learning easier and faster, we need new kinds of hardware and software–which is why Intel acquired Nervana Systems, a platform for deep learning.
  • Check out hired.com/sedaily to get a special offer for Software Engineering Daily listeners–a $600 signing bonus from Hired when you find that great job that gives you the respect and salary that you deserve as a talented engineer.

React Native allows developers to reuse components from one user interface on multiple platforms. React Native was introduced by Facebook to reduce the pain of teams who were rewriting their user interfaces for web, iOS, and Android.
Continue reading “React Native Ecosystem with Nader Dabit”

A Year of React Native: SSL Pinning – Made by Many

Notes on #ReactNative: on SSL pinning by @samueljmurray

  • When your app initiates this communication, your backend sends its certificate (which contains the public key).
  • Your app then checks that the certificate has been signed by a Certificate Authority (CA) that is trusted by the user’s device.
  • SSL pinning narrows these avenues of attack by letting you define the exact certificate or public key that your app will accept when communicating with your backend.
  • If you use a service like AWS Certificate Manager or Let’s Encrypt your certificate and public key could change at any time.
  • TrustKit also comes with a handy tool for extracting public keys from certificates and converting them to Base64 encoded SHA256 hashes.

We’ve been using React Native for over a year now and we’re loving how quickly we can create feature-rich and performant apps for iOS and Android. So far w…
Continue reading “A Year of React Native: SSL Pinning – Made by Many”