I recently had to bootstrap a project with a GraphQL frontend and backend using Apollo. We wanted to show realtime updates of metrics we collect from an endpoint. For this, we wanted to use GraphQL Subscriptions, specifically graphql-subscriptions, but I noticed they use AsyncIterables as an abstraction for a stream of data. I used RxJS for the same purpose in the past and I like the abstractions it provides over asynchronicity and how it plays together with Typescript.
I would like to show you how this can look in a project and for this I recorded a video tutorial for this, please take a look:
As you onboard more or more developers on different levels more questions about the (project specific) development setup may pop up. But there is a little-known tool out there that helps you build standards for the development environment in…
Often when you develop an application performance matters. The most important asset you have when it comes to perceived performance is the response time of your backend services. If you use GraphQL it is most likely the system that comes right before the user-facing application, so it should be the central part to take a look at when it comes to performance.
If you only use a GraphQL backend and you have no other backend systems and no frontend under your control read no further. Apollo GraphQL comes with a built-in tracing solution for this use case, their Performance Analytics…
After building an intro on how to upload videos with React Native I would like to go a step further and build live streaming. For me this means that a user should be able to start a video stream that someone else might subscribe to and see a near real-time video. Our first challenge will be to get a stream of video data, the second will be to upload the video as a stream.
The current (1.1.5) version of react-native-camera does not allow you to consume a stream of the recording it makes, so we need to build this functionality…
Almost two years ago I gave Ignite by Infinite Red a try and I was instantly hooked. It was a super convenient and fast way to start a new project with React Native that solves all the hard setup problems for you. Today I would like to explore with you what happened with Ignite besides a major release.
If you are interested in a detailed summary, please see my old blog post. Here is my TL;DR summary:
In one of my last blog posts, Samuel Omole asked me if I could do an article about uploading content with React Native. For me the most interesting content to upload are videos, they are fun to watch. Also, they open up cool opportunities to do super cool stuff like streaming, so there might be a part two on this post if you are interested. 🤔
As this post is about React Native, so I will just put some links here for you to read thoroughly how you can build a Node.js backend for this project.
Lately at work, my colleagues build some awesome tooling to fetch data in an easy way. It’s built around RxJS, which I previously had very little knowledge about. I saw cool ways of getting and combining data, which inspired me to build a little game with RxJS in React Native.
The game idea is to have a ball on a table and balance it using your phones tilt. I wanted to make the game pretty small to show you different ways of achieving the very same result. Here is a small video showing our plan:
The React Native community is hard to compare with others, you have a lot of web developers who love that they are given the possibility to code a native app, without going through learning iOS or Android (count me in here). …
In the last year, I discovered different aspects of work life had a differently strong influence on my ability to work. In discussions with varying friends of mine, it became clear to me that these factors differ vastly from person to person. Therefore I think my setup will most likely not be the right one for you, but maybe you can learn from my past failures a bit.
This series of blog posts is about the network related performance issues.
The goal is to give you a set of tools to use that will provide you with insights that help you deliver fewer and shorter loading screens to your customers.
Make sure you check out the first part, too: Performance Monitoring for the Frontend — An introduction
Now that we got the names right let’s take a look at how we might track a single span. For that, we need a tracer to start spans with.
You can see on line 13 that we need to set…
Software Engineer at Mesosphere working on the DC/OS UI