Home

Awesome

logo Code Climate Issue Count codebeat badge roadmap badge

Jasonette

https://www.jasonette.com

Create your own native iOS app with nothing but JSON. Then send it over the Internet.

Looking for an Android version? See here

★ Jasonette fetches this JSON markup from a server:

json

★ And self-constructs into the following native app, in realtime:

instagram

<br>

Cool things about Jasonette

<br>

Quickstart

Visit the website to get started, or visit the docs to learn more about how to use Jasonette.

<br>

Download

Latest release: latest version

<br>

More Examples

Try playing these on Jasonette and watch them turn into native apps in front of your eyes!

<br>

Technical Highlights

1. One JSON to rule them all

Jasonette simplifies the entire app building process down to nothing more than:

  1. Write a JSON markup
  2. Add the JSON url to Jasonette
  3. Press play

This is possible because Jasonette came up with a way to fit an entire app worth of logic into a single declarative JSON that just works™. This JSON grammar is used to express every aspect of your app, such as:

  1. Draw sophisticated views
  2. Call device API methods
  3. Chain method calls to perform complex logic
  4. Respond to system events and user interaction
  5. Even change the JSON itself dynamically using templates.
<br>

2. App-over-HTTP

Until now, the only thing JSON could send over the Internet was raw data. Normally apps would fetch remote data from the server for a connected experience, but the actual app logic would be hard-coded on the client side. This makes it hard to update and extend apps.

But what happens when you can express an entire app logic as JSON?

Then apps can be stored, processed, shared, and sent over the Internet just like any other JSON. Watch below where we update the JSON on a JSON pastebin server, and the app changes immediately to reflect the new markup:

remote control

<br>

3. Designed to be extended or integrated

Currently Jasonette covers all the essential native APIs and components, which means you can build pretty much any app you can imagine. But Jasonette is very flexible.

A. Extensible

If you don't see a feature you want, you can simply extend Jasonette. If it's useful for the general public, we can even merge it into the core.

B. Integrate existing code

You can even integrate Jasonette with your existing iOS project if you want. This way you can use Jasonette for just a small part of your app without having to completely switch to a new way of programming.

<br>

Bugs and feature requests

Have a bug or a feature request regarding the Jasonette code itself? Please open a new issue.

<br>

Questions and Support

Follow or join these channels for questions and support, and to keep updated on latest releases and announcements.

<table class='equalwidth follow'> <tr> <td> <a href='https://jasonette.now.sh'> <b>Slack</b><br><br> <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/slack_smaller.png'> <br> <img src="https://jasonette.now.sh/badge.svg"> </a> </td> <td> <a href='https://forum.jasonette.com'> <b>Forum</b><br><br> <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/discourse_smaller.png'> <br> Visit > </a> </td> <td> <a href='https://www.twitter.com/jasonclient'> <b>Twitter</b><br><br> <img src='https://raw.githubusercontent.com/gliechtenstein/images/master/twitter_smaller.png'> <br> Follow > </a> </td> </tr> </table> <br>

Contribute

There are many ways to contribute. But first, please read the contributing guideline

<br>

License

Jasonette is released under the MIT License.