Story of rewriting react-native-opentok and challenges that we have encountered down the road…

  • Finally, we solved all of them :)This article contains useful steps that you can perform in order to debug and fix real-life issues on native sideWhat is OpenTok?The OpenTok platform, developed by TokBox, makes it easy to embed high-quality interactive video, voice, messaging, and screen sharing into web and mobile apps.It…
  • Here are the most annoying issues that we have encountered on each platform respectively while writing clients:Android: Updating native view doesn’t work.We had a native view which we wanted to update after we connect to a session and receive a stream.
  • Our Subscriber view implements SessionDelegate class what means we can set this view as a delegate in session and listen on events i.e. when session receive a stream, session instance invokes method onStreamReceived on pointer to delegate.
  • Enabling zombies in Xcode is very easy.Click the active scheme in the top left and choose Edit Scheme.Select Run on the left.Open the Diagnostics tab at the top.Tick the checkbox labeled Enable Zombie Objects.Tick the checkbox labeled Enable Zombie Objects.Now Xcode’s Console will give you more complex message i.e.[RNOpenTokSubscriberView respondsToSelector:] message…
  • So remember when you reload JS part of application new instance of your native module will be created but if you are using singleton it will be the same instance as before reload.As I wrote at the beginning we solved all of our issues but some of them took a…

At Callstack we have open source meetings each month. At one of the past meetings we came up with idea to re-maintain our old project called react-native-opentok, because it was a bit dusty and…
Continue reading “Story of rewriting react-native-opentok and challenges that we have encountered down the road…”

#ReactNative – Pros and Cons #100DaysOfCode #coding #react #reactjs @reactnewsletter @ReactJSNews

  • When we first heard about React Native, a framework that enables building an app for multiple platforms, we were thrilled.
  • One team, one codebase and the potential to scale an app for iOS and Android using a fracture of resources required in native development is a great promise.
  • A few years ago, Facebook officially announced React Native, a powerful framework with the promise of cross-platform compatibility.
  • The major selling point of React Native is shorter development time.
  • Facebook puts a lot of resources to ensure React Native’s reliability and also to guarantee a constant development of the platform.

React Native: One team, one codebase and potential to scale an app for iOS and Android using a fracture of resources required in native development is a great promise.
Continue reading “#ReactNative – Pros and Cons #100DaysOfCode #coding #react #reactjs @reactnewsletter @ReactJSNews”

Text Input Mask for React Native – CloudBoost

Text Input Mask for React Native.



#reactJS #javascript

  • Text Input Mask for React NativeWhen I first time got a task in the project I was working on to make a masked text input in React Native, I absolutely didn’t expect that it would be so difficult to implement.
  • I just thought “ok, will install some RN module or make it by myself using onChangeText”, yep…After many attempts with methods of TextInput like onChangeText, onKeyPress, selection I finally did it with not good performance for iOS, but not for Android, because onKeyPress method of TextInput is not implemented for Android yet.
  • More over there was no selection property yet in the version of React Native I was working on to change a position of carriage, so I had to write it by myself in Objective-C and Java, imagine how I was wondering when saw it in the next version of RN :)I didn’t find any solution and module that fits my needs to close the task so decided to write my own one, here it is:I’ve just integrated these great native RedMadRobot’s libraries to React Native:Installationnpm install –save link Android it just works.For iOS you have to drag and drop InputMask framework to Embedded Binaries in General tab of Target and check ‘Yes’ in ‘Always Embed Swift Standart Libraries’ of Build Settings.

When I first time got a task in the project I was working on to make a masked text input in React Native, I absolutely didn’t expect that it would be so difficult to implement. I just thought “ok…
Continue reading “Text Input Mask for React Native – CloudBoost”

We had a great time speaking with @naoufal about #ReactNative on the latest episode #JavaScript

  • In this episode, we’re joined by Naoufal Kadhom, a Software Engineer from Netflix who’s also just released a payment library for React Native.
  • In the episode, we’ll be discussing React Native and what it’s like to leverage it for Android and iOS applications.

In this episode, we’re joined by Naoufal Kadhom, a Software Engineer from Netflix who’s also just released a payment library for React Native. In the episode, we’ll be discussing React Native and what it’s like to leverage it for Android and iOS applications.
Continue reading “We had a great time speaking with @naoufal about #ReactNative on the latest episode #JavaScript”

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”

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”

Building an app: React Native vs Ionic – Hacker Noon

Building an app: React Native vs #Ionic  #ReactJS #JavaScript

  • In this article, we are going to make a comparison of two frameworks, React Native and Ionic, based on our real time experience in frontend development.When developing various products, either for ourselves or for the clients, there has always been a question that interested us: how can we narrow down time and cost of product development.Android and especially iOS developers have always been valued greatly and cost a lot, and when developing for two platforms one has to spend twice as much money.At some point we were experimenting with Cordova, but it didn’t feel as if we can get something valuable out of it.Then we noticed Ionic.
  • Now we would like to give you detailed frameworks comparison and explain you why React Native is better solution for our developers.We were always trying to get more expertise on different technologies and use them in practice in order to define the best solution.
  • We also kept on watching Ioinc2, which was supposed to become an innovation that would solve many issues that we had while working with Ionic1.The approaches of given frameworks are very different but for us React Native is an ultimate winner.We chose main React Native advantages that are superior in relation to Ionic1/2:Response time that could be compared to native apps.Ability to reuse the code parts (not all code) for desktop (web apps) and mobile (mobile apps) and even for the server.
  • (:-))Incredibly convenient toolchain for developers that allows to quickly develop and debug the app.Big amount of elaborated components from Facebook.Even bigger amount of components from community.Ability to realize the ideas of functional programming in development which ensures great stability and reliability of the app and relative scaling simplicity.However, we don’t make a point here that React Native is 100% perfect.
  • We also chose some of React Native disadvantages in comparison with Native Apps:Those code parts that are linked to work with hardware solutions, camera, external libraries integration, etc are still done in Native parts.The interface between javascript and native part is not so simple (but not more complicated than cordova).

When you start to use new technology, you cannot be sure it will be the best solution. In this article, we are going to make a comparison of two frameworks, React Native and Ionic, based on our real t
Continue reading “Building an app: React Native vs Ionic – Hacker Noon”