Remix.run Logo
▲ Exact – a new cross platform UI framework(github.com)
76 points by vmg12 5 hours ago | 34 comments
▲btown an hour ago | parent | next [-]

Whenever I see a DSL where part of the DSL's responsibility is to have arbitrarily complex mathematical expressions, my reactions are (a) why???, (b) well, if they're going to do it, they should have a formal language specification with a derived lexer and parser, and (c) the product needs a robust stdlib with compatibility across build targets.

From what I see in https://github.com/expo/exact/blob/main/contract/syntax/src/... and https://github.com/expo/exact/blob/main/contract/syntax/src/... - it's unclear this will scale to the levels of complexity that arbitrary UIs demand.

▲miffy900 15 minutes ago | parent | next [-]

This is why I have strongly preferred JSX over any other UI DSL (specifically the typescript variant, TSX) I've tried.

It looks like a DSL, but it actually isn't - it's just regular javascript/typescript with a very thin 'declarative/markup' veneer. it basically tricks you into thinking you're writing a HTML-like UI-DSL, but it also just so happens to accept arbitrary JS expressions, because it is just regular JS.

▲vmg12 an hour ago | parent | prev [-]

My understanding is that you arent supposed to write the entire UI in contract. You are supposed to write as much as you can with it and do the rest in js or rust

▲zoom6628 2 hours ago | parent | prev | next [-]

Immediate thought was the Contract reminds me of QML.

This Exact work looks great and I very much hope it succeeds. Qt has Proven this approach works. Now if these folk at Expo can do it at a price that every dev can afford it will get much wider adoption than Qt.

▲wahnfrieden 6 minutes ago | parent [-]

Isn’t it free

▲tdhz77 2 hours ago | parent | prev | next [-]

The world has moved away from JavaScript. With llm, native is easy and the best option even for a single developer.

▲jmathai an hour ago | parent | next [-]

I converted a native iOS app to Android in 4 nights. Now every feature I add gets created in both simultaneously. Wild times.

▲soon_to_be_sb 2 hours ago | parent | prev | next [-]

Thank god if true, but dependence on LLMs is not great for the developers. At least good thing for the end user.

▲wahnfrieden 5 minutes ago | parent | prev [-]

No JS here

▲hysan 4 hours ago | parent | prev | next [-]

Since there are no releases, I assuming this is still a WIP? It would explain why they list Linux and then don’t have any screenshots of it next to the other platforms. How it works is kinda light on details. I’m interested to learn more about the under the hood aspects of how they are translating everything to the different native toolkits.

▲vmg12 4 hours ago | parent [-]

Yeah, it's an early alpha they announced on twitter today.

▲wahnfrieden 3 hours ago | parent [-]

Expo CEO estimated 2-3 months until production-ready

▲sirjaz 3 hours ago | parent | prev | next [-]

Why isn't Windows supported. Thr largest desktop platform out there?

▲zdragnar 3 hours ago | parent | next [-]

Because it is an early alpha release maybe?

▲kyriakos 2 hours ago | parent | prev [-]

Or android

▲solarkraft 4 hours ago | parent | prev | next [-]

Ambitious. I’m sure they know what their problems are and how to solve them, as evidenced by the agent being able to control the UI’s timing (and it being mentioned so far up). Getting the agent to get interactivity right is pretty hard otherwise.

▲sakesun an hour ago | parent | prev | next [-]

Funny. I just learnt about nsh.dev just a few hours ago.

A new trend?

▲brainless an hour ago | parent | prev | next [-]

There is already an Exact 2? https://github.com/ccheever/exact2

▲fudged71 42 minutes ago | parent [-]

No. ccheever/exact2 is the development upstream. expo/exact is Expo’s public release of that codebase

▲doodlesdev 4 hours ago | parent | prev | next [-]

This is absolutely huge. If the Expo team can demonstrate that this development strategy is viable, we will finally see a resurgence of native applications and more efficient software, getting rid of the Electron bloat.

It's a long shot for now, though! There are lot of gritty nitty details they have to get right. One of the first issues I can imagine is this framework being great to use with Opus 5.5 but not good enough with i.e. Gemini 4 Argon or DeepSeek v4.1 Flash 1017, due to the overreliance on having AI models write the code.

▲tevon 3 hours ago | parent [-]

If anyone is going to get it right - I'd bet on the expo team. They know these sharp edges and have been building for them for years.

▲brainless an hour ago | parent | prev | next [-]

The idea that agent can built and see it is very important and how I have been building my own GUI framework https://github.com/brainless/akar

I have been using an internal screenshot feature along with a dump of the component tree. Multi-modal LLMs can be used to read the screenshot and fix issues. The dump can be read by any text based LLM. I made my life much easier.

I saw the Blender UI based framework shared on HN the other day and this one today. I am not sure if I want to continue building my own (although all code is written by agents) or if I should switch. I can take inspiration from the two other frameworks and continue with my own.

▲yewenjie 4 hours ago | parent | prev | next [-]

Why isn't Android support there?

▲solarkraft 4 hours ago | parent | next [-]

Presumably they’re focusing on a few platforms first. As they noted it’s coming though

▲tyleregeto 2 hours ago | parent | prev [-]

They mention Android on the linked page. It's a work in progress, but further behind.

▲mrbombastic 3 hours ago | parent | prev | next [-]

this tendency to prioritize agents over humans for new software DX makes me sympathize with the Butlerian jihad.

▲wahnfrieden 2 hours ago | parent [-]

In what way does this worsen human DX?

The announcement thread covers ways it helps agents, and they sound like things that would help humans, too.

▲eviks an hour ago | parent | prev | next [-]

Funny name because anything "exact" is the last thing you'd expect from this everchanging base

▲mplewis 2 hours ago | parent | prev | next [-]

Cool toy, but it's unclear when this will be stable enough for production use.

▲prmph 4 hours ago | parent | prev [-]

Is this satire?

▲jkahrs595 3 hours ago | parent [-]

Is this a serious question? Why would it be satire? Is it building something you don’t like or want? Say what you actually mean.

▲prmph 3 hours ago | parent [-]

It is weird. What does "agent native" mean? This looks like work that requires the use of agents to use properly.

Hence me thinking it is satire. Are we already at a point where libraries and frameworks are being written such that they require agents (from maybe paid frontier models) to properly use?

We live in strange times, if so.

Interestingly, I was just thinking of this problem today: how can I stick with react-like declarative UIs (like one I have developed myself) but yet have them abstracted over native UI frameworks of Apple, Android, even TUIs to produce native apps? What I would have expected is a fully deterministic runtime, compiler, or library approach to solving this, not an agent-driven "solution".

▲wahnfrieden 3 hours ago | parent | next [-]

No, there's no requirement to use agents, and others are already building tools for manually working with Construct with a purpose-built editor.

Tools like Hyperframes have already demonstrated the value in catering to agentic-first dev while offering manual inspection and editing interfaces.

Agents aren't equally good at all languages/tools, and just having a lot of training data on one ecosystem isn't enough to optimize the experience. If you read the announcement thread from the CEO there are several points made such as formal safeties against invalid states and build error messages that token-efficiently teach the agent correct usage.

> What does "agent native" mean?

https://github.com/expo/exact#1-agent-native defines it

▲theultdev 2 hours ago | parent | prev [-]

> What does "agent native" mean?

Agent native is said once in this readme, following an immediate explanation and specific features.