Every civilisation has taboos.
Some cultures do not speak the names of the dead.
Actors do not say Macbeth inside a theatre.
React developers do not put hooks inside conditions.
Nobody in either group remembers exactly why.
They just know something terrible will happen.
Octane (
@octanejs) is a new framework with React's exact programming model (hooks, Suspense, context, actions) compiled ahead of time. The successor to Inferno.
And because the compiler assigns hook slots by call site instead of call order, a hook inside an if statement is completely fine 🤯
𝗪𝗵𝗮𝘁'𝘀 𝗶𝗻𝘀𝗶𝗱𝗲
➡️ 𝗡𝗼 𝗿𝘂𝗹𝗲𝘀 𝗼𝗳 𝗵𝗼𝗼𝗸𝘀: put useEffect behind a condition or after an early return. The compiler automatically tracks what your effects, memos, and callbacks use.
➡️ 𝗡𝗼 𝘃𝗶𝗿𝘁𝘂𝗮𝗹 𝗗𝗢𝗠: templates compile to cloned DOM nodes with direct updates. Their benchmark suite puts React 19 with the official React Compiler at 2.2x slower on the geometric mean.
➡️ 𝗠𝗶𝗴𝗿𝗮𝘁𝗲 𝗼𝗻𝗲 𝗰𝗼𝗺𝗽𝗼𝗻𝗲𝗻𝘁 𝗮𝘁 𝗮 𝘁𝗶𝗺𝗲: OctaneCompat renders compiled Octane islands inside a React 19 app, with real React context, SSR, and hydration. Keep your .tsx, convert to .tsrx as you go.
➡️ 𝟵𝟰 𝗳𝗶𝗿𝘀𝘁-𝗽𝗮𝗿𝘁𝘆 𝗯𝗶𝗻𝗱𝗶𝗻𝗴𝘀: TanStack Query, React Router, Redux, Three.js, Radix, React Hook Form, and more, already ported.
➡️ 𝗡𝗮𝘁𝗶𝘃𝗲 𝗮𝗽𝗽𝘀 𝘃𝗶𝗮 𝗟𝘆𝗻𝘅: early-access support for rendering with native views on iOS and Android, with frame-critical code running on the main thread.
𝗪𝗵𝘆 𝗶𝘁 𝗺𝗮𝘁𝘁𝗲𝗿𝘀
Signal frameworks keep asking you to restructure your components. Octane's bet is the opposite: keep writing plain top-to-bottom functions with hooks, and let a compiler do the bookkeeping React makes you do by hand.
#React #Octane #JavaScript #TypeScript #WebDev #Frontend #OpenSource #Compiler #Lynx