Sabitlenmiş Tweet
Alex
91 posts

Alex
@pioner_dev
React Native dev @margelo_com
Valencia, Spain Katılım Ekim 2021
112 Takip Edilen85 Takipçiler
Alex retweetledi

It's time to spill some secret sauce: How to actually build a good Keyboard experience for your #reactnative apps 👀
English

Built one of the fastest end-to-end encryption demos ever in React Native.
~0.8ms on-device MLS encryption powered by OpenMLS, Rust, and Nitro Modules.
Zero-copy JSI. Native crypto performance.
Full deep dive soon on blog.margelo.com
English

@pioner_dev If the public API hides it, user docs can stay light. I'd still keep an internal teardown note or test, because future bugs will come from maintainers forgetting that ownership rule.
English

@pioner_dev That destructor path is the part I'd document right next to the API. Cross-boundary ownership bugs are miserable when the rule only lives in the maintainer's head.
English

@pioner_dev Got it, shared_ptr on both sides makes ownership less scary. How are you handling teardown when JS drops the last reference first?
English

@pioner_dev Zero-copy is exactly where RN performance gets interesting. Did you have to change the API shape to keep ArrayBuffer ownership predictable?
English

@mrousavy @SamuelScheit the best solution (nitrogen schema generation )
Deutsch

@SamuelScheit @pioner_dev We're exploring different options, the most performant one could be a type-generated ORM via nitrogen
English

@gabimoncha react-native-quick-base64: Yes, it has the same API.
this -> react-native-quick-crypto I am not sure
English

@pioner_dev would this work as a drop-in replacement for react-native-quick-base64? both for react-native-buffer and react-native-quick-crypto?
English

@SamuelScheit yes, it always returns an array<{...}> which is slow,
for example, if you query msg ids from the chat, you will have an array with objects with 1 property, id,
I tested , it's too slow compared to a flat ArrayBuffer with ids
English

@pioner_dev Would be interesting to see the impact on db libraries.
e.g. op-sqlite has something similar called executeRaw, which creates arrays instead of objects.
#L207-L257" target="_blank" rel="nofollow noopener">github.com/OP-Engineering…
English

@pioner_dev Yep, test it in the full render path too. The wrapper can look fast alone and still lose once JS reads it from a bunch of components.
English







