About the project

Jasonette is a different way of making native apps.

Instead of programming an app on the device, you simply write a JSON file hosted on a server, and the Jasonette apps fetch and use it to build themselves on-demand whenever you open the app.


Before we jump in, here's where you can stay in touch with the project community:


■ Follow the project

subscribe to newsletter

Comprehensive newsletter on Important updates, milestones, new projects, and useful tips from the community.


■ Join the community




Quickstart

1.  Download Jasonette for iOS or Android

2.  Write and host a JSON recipe that defines your app

3.  Add the JSON URL to Jasonette to turn it into your app



Step 1. Download

Go download and come back, we'll wait.




Step 2. Learn

Watch the 2 videos below and you'll have learned everything you need to know to get started.

The videos were shot using an iPhone, but it works exactly the same for Android.


A. Do you know JSON?

Before we dive in, do you know JSON? If not, just check out this tutorial, takes 2 minutes.



B. Get a JSON server

You'll be serving your entire app from a server, so you will need somewhere to host JSON, just like you need somewhere to host websites. There are many ways to do this:

1. Jasonbase.com (https://www.jasonbase.com)

[Recommended] A JSON hosting service created by @gliechtenstein while building Jasonette because there was no easy way to host, edit, and serve JSON online instantly. This is the site used in the tutorial videos. Feel free to use this for your Jasonette apps. It's FREE.

2. Code hosting or pastebin sites

You can also use Github or Pastebin. Not really recommended for development because these sites are NOT built for this type of usage. They actually discourage you from using them as API endpoint. Furthermore, their content is cached so you'll often keep getting old responses whenever you update your JSON content, which is a pain. However, you can use them AFTER you've finished editing, or use it for open sourcing though. Here's an example.

3. Plug into your existing server

You can skip all this and set up your own web app with a JSON endpoint, or just plug into your existing web app.



C. Learn the basics

This video walks you through the basics of Jasonette, such as how it works, how to get started, etc. It was shot using iOS but it basically works the same for Android.



D. Learn JASON syntax

This video teaches you how to actually write a JSON markup to build sophisticated interactive layouts.




Step 3. Learn more (Reference)


Anatomy of a Jason view

Learn the basic structure of a JASON view
Just like HTML has basic tags such as body, div, span, li, etc, Jasonette has JSON based tags to describe the structure of a view.



Components

Learn component syntax
Components are the most basic units of user interface, such as image, label, textarea, button, slider, etc.

Layout

Learn layouts
In many cases we combine multiple components to construct a unit. We use layouts to do this.



Learn linking
Above three sections are all you need to know to display content in a view. But what if we want multiple views? We can link them using href.



Actions

Learn actions
Actions define a task or a sequence of tasks you wish to run, such as network request, audio play, camera access, geolocation, displaying banners, etc.



Templates

Learn templates
You can use templates to dynamically render data, such as remote network content, local data, and user input.


Examples

Actual JSON examples you can try out with Jasonette:

Try examples here