Writing React Native Modules With JSI - Part One (iOS)
About a year ago, I begged my boss to move me into the mobile development team. At work, we produce and maintain several React Native apps. Having been bored of backend development, I felt it was time to upskill. In the time since, I have learnt a lot.
One of my goals was to learn how React Native works under the hood. I always wondered how a JavaScript program interacts with the system it runs on: reading and writing files, network requests, input and output, all of that. I didn’t want a hand-wave explanation either - I wanted to know just how React Native makes a JavaScript program capable of doing everything a native application can do.
Burnout
I’m burned out. It took me a long time to realise. And a shorter time to finally admit it. On a public blog too. You might see I have two sections on this blog: culture and programming. Burnout belongs to both. But I need to choose one, and so I chose the programming section. But burnout belongs to both.
Postmodern Programming Today
I recently read a paper called Notes on Postmodern Programming by James Noble and Robert Biddle. This is a striking title. Postmodern makes you think of English literature students clicking their fingers to slam poetry at smoky jazz clubs. Not dorky software developers. But the paper is in fact a real gem to read. It was written 20 years ago but its ideas still ring true today. So I thought it would be worth reflecting on postmodern programming with a, well, modern lens!
The Database Streamy Weamy Pattern
A few years ago I was introduced to an interesting ebook called Designing Event Driven Systems. In it the author Ben Stopford outlines how to build business systems using Apache Kafka. I was a young impressionable developer and the book turned my understanding of system design on its head.
The Problem with Smurf Speak
You know how the Smurfs substitute almost every word for smurf? This is known as Smurf speak in the comics and TV show. We software developers also Smurf-speak. What we tend to do is put our company or product in the names of modules, classes, and functions. Classes like McDonaldsPendingOrder and GoogleDocsMainMenu have redundant prefixes. Yet PendingOrder and MainMenu are perfectly good names and give you the same information. I am going to outline why you don’t need to Smurf speak, and give a few tips to help you avoid it.