React Native Engineer 👨🏻‍💻 | Lover of micro interactions and clean designs

Hi guys, my name is Okikiola. I am a mobile engineer, and I specialize in React Native. Sometimes, I also play around with SwiftUI. Why connect with me ? 👇
2
3
13
633
Pixel_Dev retweeted
Meet Lucent ✨ a new way of writing native modules for @expo & React Native Lucent compiles modules to C++ and calls it through JSI. Here's a bit of expo-haptics ported to Lucent. UIKit on iOS VibrationEffect on Android, one file. lucent-lang.dev
8
15
154
8,406
Pixel_Dev retweeted
hello, world!
21
7
117
31,660
Pixel_Dev retweeted
Expo Widgets is coming to Android, offering not only standard home screen widgets but also Custom Notifications. Available in @expo SDK 58.
11
23
294
9,454
React Native Screens 4.28.0 released! Android fixes: tab bar layout after configuration changes, stable tab item ids, and a use-after-free crash. swmansion.com/changelog/reac…
6
45
2,788
Pixel_Dev retweeted
Flighty for iOS 27 is here 🏝️ Refined Dynamic Island 💫 New flight progress arc 📱 Support for all new sizes 🎨 New app icons ✨️ "Ask Flighty" with Siri AI Flying's most useful Dynamic Island. Now even better. Get: apps.apple.com/app/id1358823…
41
124
3,011
314,957
Pixel_Dev retweeted
You don't get it, I build software to relax
270
461
4,780
355,365
Pixel_Dev retweeted
This could genuinely become my favorite travel app.🚋
46
85
1,798
71,226
Pixel_Dev retweeted
I've wanted this API for years. Turns out that's what agents want too 🤖 Expo Modules 2.0 🎉 → a module is just an annotated Swift class → agents write it with almost nothing in context → up to 14.5× faster calls than SDK 55 Early look, iOS first 👇 expo.dev/blog/an-early-look-…
13
37
383
24,455
Pixel_Dev retweeted
All the times over the years I made sure State vars were private is now paying off
You've probably heard by now that SwiftUI has a fancy @‌State macro that lazily creates state, fixing a longstanding issue in the framework. But what you may not know is that the laziness only kicks in for **private** state. Get all the details here: pointfree.co/episodes/ep378-…
5
8
80
11,184
Pixel_Dev retweeted
getting to redesign sports on @X is bucket list for me, i’m so hyped for the @NFL season, and we’re just getting started
236
89
2,731
212,240
Pixel_Dev retweeted
New skill: /animate-expo All the animation knowledge, but for your native apps. React Native and Expo: gestures, sheets, haptics, screen transitions, and more. Made in collaboration with the @expo team. github.com/emilkowalski/skil…
53
249
3,469
269,045
Pixel_Dev retweeted
🕹️Testing the upcoming gamepad support + 3D in @rive_app
8
22
167
17,730
Pixel_Dev retweeted
We built a face recognition app with #reactnative, running fully on device at 60+FPS 🤯
7
25
325
19,139
Pixel_Dev retweeted
Tip for today: if you want to know exactly when 𝚘𝚗𝙱𝚎𝚐𝚒𝚗 or 𝚘𝚗𝙵𝚒𝚗𝚊𝚕𝚒𝚣𝚎 fire, just drag the circle and watch the callback chain light in real time 👇
1
7
31
5,823
Pixel_Dev retweeted
I really love the idea of bringing fully-fledged Web Workers API to React Native - it's something we wanted to add in Worklets for a long time, but it's lot more complicated to do right than we anticipated initially. We keep finding more stuff we have to implement first, before we can do workers. Due to that, I have to debunk some claims in the comparison. 1. 🔄 Worklets also allow you to spawn as many JS environments as you'd like - all of them have an event loop, timers etc. from the start. In Bundle Mode you can also import on them any library you'd want. You can even customize them further, for example react-native-audio-api(-worklets) creates a Worklet Runtime for processing without an event loop and a thread/queue, since they provide these themselves github.com/software-mansion/… 2.❌Unfortunately that's not true. You can use *some* of the Native Modules without issues, but even these might now work as you'd expect. Native Modules in React Native are closely tied to the main React Native runtime (RN Runtime). For example, all events from the modules are sent to the RN Runtime. react-native-workers then forward these events to its own worker runtimes, copying the payloads etc. It means that even if you sent a HTTP request from a worker, the response comes to the RN Runtime, which runs on the JS thread. If the JS thread is busy, then your worker is starved too. Also Native Modules usually aren't thread safe - they often assume that they're always called from the RN Runtime and the JS thread. This is why in Worklets we had to implement fetch from scratch - currently it's gated behind a feature flag docs.swmansion.com/react-nat…. It runs truly off the JS thread and would never get bottlenecked. 3.✅Here I must agree. We know Worklets aren't beginner friendly and we continue to make the API more approachable and intuitive. 4.🔄I think it's a bit more complicated. If you send a worklet to be executed on a dedicated Worklets Runtime runtime it's effectively a Web Worker - just without the onMessage API etc. 5.✅That makes sense - Worklets are supposed to be an imperative, low-level building block to make all kind of solutions. Web Workers are a higher-level abstraction. 6.🔄Worklets allow you to do the threading as you'd like. You can create a Worklet Runtime and juggle it between threads as you'd like with the C++ API. This is what Reanimated has been doing for years with the UI Worklet Runtime. 7.✅Debuggability out-of-the box is impressive. We have been trying to add debugger support to Worklets for a long time, but it was very difficult pre-Bundle Mode - and also due to how fast the RN Dev Tools have changed recently. Now that the dust has settled we're definitely going to revise this issue. Let me add a few more points to the comparison in favor of react-native-workers (so I wouldn't look too salty 😇) 8.💎Bundle size loaded onto the Workers. With Bundle Mode we load the entire JS Bundle onto each extra runtime - this comes at little cost, since it's mmaped in production - but it uses a lot of memory in development. We want to explore some bundle splitting techniques to improve the DX here - Workers nailed it. 9.💎No-copy memory sharing. Worklets are still missing good no-copy memory abstractions - we've been working to make ArrayBuffers transferable without copies. We came into some threading and GC issues with Hermes when designing the imperative API and decided to postpone the idea. I haven't looked deeply into the code of Workers, but if Ammar got that feature right, huge respect for him. --- After giving it some thought, I think there's no need to compete here. I think react-native-worklets 👷 and react-native-worklets 🧵could work integrate on a deeper level and both benefit. Worklets can provide battle-tested, low-level abstractions and Workers deliver a high-level, familiar end-user API 👷🤜🤛🧵
I asked Ammar to explain the difference between Workers and worklets.
10
12
87
7,069
Pixel_Dev retweeted
Liquid Glass has landed on Cosmos iOS. The bottom navigation is always shapeshifting, so it felt like the perfect place to introduce it. Currently experimenting with more ways to integrate glass into @thecosmos universe. Maybe even a little drip from the Dynamic Island.. 👀
10
6
132
12,886
Pixel_Dev retweeted
New X Android app: 100% Kotlin. X Chat: Kotlin Multiplatform across Android, iOS, and Web. E2E encryption, storage, sync, business logic: written once, shipped everywhere 🔐 💬 Which logic would you never want to write three times?
Today we're announcing the completion of one of the largest engineering projects in the company's history: We rebuilt the X Android app from scratch It's faster, smoother and more reliable. But most of all: it will enable us to build new features at lightning speed.
23
113
1,242
106,784