Image for post
Image for post

At Instawork, we’ve been using React Native for our mobile apps. React Native by default doesn’t perform as well in Android as it does in iOS. In this post I’ll cover how we improved the performance of Instawork Gigs and Jobs app using the new Hermes JavaScript engine.

Architecture

A large portion of Instawork’s app is written in JavaScript. The application code which includes screens, components, services, Redux (saga) modules runs on JavaScript. We are using several native libraries from the community and a few of our own wherever we need native functionality.

Since the app was built in React Native…


A photograph saying “Goodbye friends”
A photograph saying “Goodbye friends”
New beginnings

I’ve been occasionally writing on Medium since a while. You’ve probably enjoyed my stories and joined me on this journey at some point of time, thanks!

Changelog

If you’re curious about this change, please read on…

Good, bad and the ugly

My experience with Medium has been a mixed bag. However, overtime, I’ve felt the need to migrate to my own blog due to certain reasons. Recently, I was able to take out some time and build my blog.

What I liked

  1. Simple to…

Image for post
Image for post
Yeoman at work! (Source)

At Instawork, we’ve been using React Native for building our mobile applications using JavaScript and React. We use Redux for state management and Redux Saga for managing side effects and asynchronous things (like data fetching) efficiently.

All of these are amazing tools for building your app, however, you might end up manually writing a lot of boilerplate code depending on the way your app is structured.

In this story, we’ll be going over how you can scaffold new screens and modules using Yeoman generators. This will help your team to quickly start with new features and focus more on important…


Image for post
Image for post
Sharing the stage with some of my favorite musicians (and best friends). Later we formed a band.

Music is a great hobby to pursue in your four/five years at NITH and even further. Music Club is a place for all budding musicians of NITH to interact and jam with each other. Although there was once a rumor about all the girls getting selected in the auditions, you may rest assure that the era is long gone.

“Where words fail, music speaks.”

Music Club performs in various events within and outside the college. The most awaited event is Hill’ffair, the annual cultural fest of NITH. …


Image for post
Image for post
The key components in this story: NodeJS, ReactiveSearch, React Native and Auth0

Authentication is an important concern when building apps. A common use case we come across when building apps is securing our API in order to accept only authenticated requests, hence preventing misuse.

In this story, I’ll be using a Todos app built with React Native and explain how to create a secure Node/Express API to handle the Create, Update and Delete operations for the app. This will let the app only allow editing of data by authenticated users. For this post we’ll assume that:

  1. All users have Read access to the todos.
  2. Only an authenticated user has write access for…

Image for post
Image for post
Thanks to Bela Bordeaux

A todo app touches on all the important parts of building any data-driven app, including the Create, Read, Update and Delete (CRUD) operations. In this story I’ll be building a todo app with one of the most popular mobile frameworks, React Native.

I’ll be using ReactiveSearch Native, an open-source library which provides React Native UI components and simplifies building data-driven apps.

Here’s what I’ll be building in this story:


Image for post
Image for post
The GitXplore app

Elasticsearch is one of the most popular full-text search engines which allows you to search huge volumes of data quickly, while React is arguably the best library for building user interfaces. During the past few months I’ve been co-authoring an open-source library, ReactiveSearch, which provides React components for Elasticsearch and simplifies the process of building a search User Interface (UI).

This is the app which I’ll be building in this story:


Image for post
Image for post
Image: Authorization Roles with a React App

Authentication and Authorization rules are THE MOST IMPORTANT security considerations when building a production app, yet they are often left out as a second thought. In this post, we will be building authentication (Who are you?) and authorization (Are you allowed to see this?) flows to a TodoMVC react app.

The key components that we will be using here are:

  1. ReactiveSearch, a data-driven UI components library for React for building the UI views,
  2. NodeJS/Express, as a middleware server for verifying authentication info and authorization flow,
  3. Auth0, as a hosted authentication service,
  4. Appbase.io, as a hosted database service.

Image for post
Image for post
Image: A picture depicting the key components used in this post: React, ReactiveSearch, Node.JS and Auth0

Security is one of the most important considerations when building a production app, and often times it is left out as a second thought in the client-heavy apps built using React, Angular, and what not in the JAM stack.

In this tutorial post, I’ll be going over how to achieve securing a web app by creating a TodoMVC app which only allows modification on the data via a Node/Express API (which we’re going to build). All the TodoMVC app data will be stored securely in an appbase.io app.

In a previous post in this series, I wrote about implementing a…


Image for post
Image for post
Image: Using Auth0 for building an authentication flow for a client-side react app.

A good authentication system is a crucial ingredient for building modern apps, and also one of the most common challenges that app developers face.

There are several contributing factors that make designing good authentication flows a challenge. For instance, OAuth flows work ever slightly so differently across providers. And handling a client-side only flow is quite different than a middleware based flow. Further, there are different kinds of authentication flows: sometimes, you may want a passwordless authentication and other times, you may want an old-school username and password based flow. …

Divyanshu Maithani

Frontend Engineer @razorpay

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store