The Lynx blog covers Lynx, TikTok's open-source framework for building native cross-platform apps, with release notes and guides.
HN commenters mention Lynx as TikTok's own UI framework, ask for developer experience reviews, and one is building Haskell bindings for it.
Writing React code is "easy" because it's what's been mainstreamed. A lot of developers now will learn building UIs with React before learning how to do the same with vanilla.
Writing good, performant React code at scale is hard because the model of how reactivity works is "inverted"[0] from how we normally think about reactive code because React points the callback to the component and thereby requiring this dance to move the state out and then back in on re-render (which it does excessively). And thus the name "hook" because you can visualize the state moving out and back on re-render.
This inversion is also why state is harder on React, why it needs the double-render strict mode to flush out issues from mis-placed state and over-renders, and why performance will always be mediocre until they change models of reactivity.
The compiler now is 2 years+ in the making and hasn't shown any signs of actually improving much of anything. The alternatives are more than just viable, they offer both better DX and better performance with perhaps the biggest gap being React Native, which may shortly be addressed by LynxJS[1]
[0] https://chrlschn.dev/blog/2025/01/the-inverted-reactivity-model-of-react/
[1] https://lynxjs.org/
I'm also a little confused about how to get started. According to the docs you have to embed it into an existing app[0], but the quickstart suggests otherwise[1].
[0] https://lynxjs.org/guide/start/integrate-with-existing-apps.html#integrate-with-existing-apps
[1] https://lynxjs.org/guide/start/quick-start.html#quick-start
I'm working on miso-lynx
https://github.com/haskell-miso/miso-lynx
It's a way to build truly native iOS, Android and HarmonyOS applications in Haskell using https://lynxjs.org and https://github.com/dmjio/miso, it uses a similar approach to react-native.
It sucks because React sucks. A good alternative is to embrace PWAs. You can create native builds using PWABuilder.
Another options similar to React Native is Lynx
https://lynxjs.org/blog/lynx-unlock-native-for-more.html
People who have used/evaluated Lynx[0], how's the DX, capabilities, etc from a developer POV; along with documentation quality? + any other thoughts?
[0] https://lynxjs.org/
Is this VM somehow related to Lynx (their cross platform dev tooling?)
https://lynxjs.org/
Also discussed on HN
https://news.ycombinator.com/item?id=43264957