Jasonette – Native App over HTTP

thunderbong | 148 points

Something really telling for me here is the fact that there are multiple people here (representing multiple companies) who have solved this problem and there doesn't seem to be an open source solution for it, let alone a dominant one.

It's clear that in general, we are all sick of writing a bunch of bespoke code and maintaining multiple platforms, and are seeking smart layers of abstractions over native widgets. It's a tale as old as time.

What's curious is why there isn't a standard/de-facto standard (like JSON based one maybe?) for UI layouts that has emerged, with a React Native adapter for it.

We are trying to solve this problem too with the same approach (the framework isn't the product, it's just because we don't want to spend too much time building custom Mobile components for our product).

It's not like people haven't tried. Just Microsoft has probably a half dozen of these. MAUI, WPF, etc.

Again, just curious that at least one format hasn't emerged for it.

atonse | 2 years ago

I was convinced Apple review guidelines state the core functionality of the app must be in the bundle that is reviewed and they would reject it if it's loaded mostly over http. Can see where they are coming from given they could review the app as a calculator app that then turns into a porn app post review.

Did the author just get lucky with the review process?

This is the guideline I'm referring to: https://developer.apple.com/news/?id=09062019b

alexcroox | 2 years ago

Creator Ethan vanished a couple years ago. Replaced with:

https://jasonelle.com/

tomcam | 2 years ago

This is really interesting to me. At my job I maintain a very similar iOS render. Our app is built on the exact same principles, we have 3 native renderers (iOS, web app and Android) that consume the same JSON and generate native UI at runtime.

The schema even looks similar and as far as I know no one was aware of this project when this was built.

There are major disadvantages to this approach of course but there are also many many advantages.

jdmoreira | 2 years ago

This looks really cool, nice! Neat that it’s already used in App Store apps too. And I like that it exposes native things like camera, will be interesting to see how that sort of thing works.

I noticed a couple of issues on the home page, in case the author is here:

- when I click documentation it says I’m viewing an old version, if I click OK to view the new version it’s a 404 (https://jasonelle.com/docs)

- Try Now links to an empty Heroku page, there’s a button to “build something amazing” but it just links to the Heroku home page

- the YouTube video near the top is private

mcintyre1994 | 2 years ago
j4mie | 2 years ago

Microsoft's approach:

https://adaptivecards.io/

miguelrochefort | 2 years ago

Oh yeah, if there was a way to send markup to the browser and have the browser render a UI for that. I wonder why nobody thought of that as of now ... oh. wait. ... ah we want "native" components. Yea. html only had "native components" for a long time, too ...

so - html as json without css and a richer component palette?

froh42 | 2 years ago

There is already Jsonnet the data templating language: https://jsonnet.org/

rmetzler | 2 years ago

Facebook Lite used/uses? a similar architecture and brings the Facebook experience to mobile in under 1MB app (at the time it was released).

* https://engineering.fb.com/2016/03/09/android/how-we-built-f...

* https://www.facebook.com/MetaforDevelopers/videos/facebook-l...

nvartolomei | 2 years ago

I built my last mobile app with Ionic, every time I created a new page, new endpoint sending JSON i was wondering why I wasn't sending just Ionic html from the server, or that the JSON contains the UI.

Now even to a small UI change I need to redeploy the app to app stores, which is ...tiresome.

A pity I didn't know this way before.

drchaim | 2 years ago

I recall this from years ago, and had the Jason app on my phone for a while. The author[0] doesn't seem to have been active on HN or Github for 4 years or so, but a few interesting things came up over the course of a year, year and half. Some of the URLs from then now seem stale, but the code is still available. I'm a BE dev but was very taken by cell.js[1] and managed to throw something together really easily with it, which I enjoyed.

[0] https://news.ycombinator.com/user?id=gliechtenstein [1] https://github.com/intercellular/cell - celljs.org from the Show HN no longer works

darrenf | 2 years ago

This looks similar to what I'm doing with DocUI, which sends JSON over HTTP to a Flutter engine. https://nexusdev.tools

I'm working on getting a release out in the next month or two (Open Source).

jasfi | 2 years ago

Verily, JSON by 2020 is what XML was by 2000: the posh way to describe any structure at all.

nine_k | 2 years ago

Isn't this a dead project?

shreyshnaccount | 2 years ago

This is really weird, I haven't thought about Jasonette in years. I used to speak to Ethan quite a lot, and because I said he wanted to contribute (I was quite young at the time), he had me start building a "registry"[0] for "extensions" to Jasonette (which IIRC were essentially non-core native modules for the framework)

[0] https://github.com/Jasonette/jr

lukeramsden | 2 years ago

Another option that it is worth exploring: https://hyperview.org/

gtramont | 2 years ago

I feel I have seen something like this in GTK-land.

I don't mean X11, maybe I'm thinking of the way to GTK-ify bash scripts.

actionfromafar | 2 years ago

The idea is very interesting, I wish this (and its successor) wasn't dead :( I want to get into iOS for personal projects but don't want to touch macOS / xcode with a ten foot pole.

Having JavaScript support as well would be amazing (but I presume that's breaking some app store rules).

gigel82 | 2 years ago

Quick note: the video on the homepage is private and can't be viewed.

can16358p | 2 years ago

> When not to use: ... You have a team of native android and ios developers who can build something with other frameworks like react native

So this will be even less native of an experience than React Native.

alephnan | 2 years ago

I wonder if they made any thought on security. Things like Turing completeness, data stealing, privacy violations etc.

I think it is however a good thing for prototypes and internal company tools.

nudpiedo | 2 years ago

Interesting concept, I can see a lot of projects that would benefit a lot by migrating to an approach like this one

ignisardentis | 2 years ago

Broken video and images on the page doesn’t give me “peace of mind” about using this software.

vonwoodson | 2 years ago

Not sure how viable or practical this is in real life, but the idea is really cool

jsnk | 2 years ago

I want to see this for Desktop OSs IE Windows and Linux

sirjaz | 2 years ago

is this just a throwback or has someone found Ethan?

terrib1e | 2 years ago