Jasonette crée une app iOS native à partir d’un fichier JSON

Nicolas Furno |

Jasonette est un nouveau projet qui ambitionne de simplifier le développement d’apps mobiles. Cette fois, l’idée est de réaliser des applications natives à partir d’instructions fournies en JSON. Le gros avantage étant que ces instructions n’ont pas à être stockées en local dans l’app, elles peuvent résider sur un serveur.

Pour le dire autrement, Jasonette permet de créer des apps natives qui peuvent être modifiées à distance, sans passer par la validation de l’App Store. C’est une idée très en vogue en ce moment et c’est exactement le principe de React Native conçu par Facebook. Ce nouveau-venu fonctionne très différemment néanmoins : le développement ne se fait pas dans un autre langage, mais vous créez une interface et le contenu avec une série d’instructions en Json.

Les possibilités sont plus limitées évidemment, Jasonette ne pourra pas servir à créer un jeu complet. Mais pour un site d’actualités ou bien une vitrine, pour un manuel ou bien un réseau social, ce nouveau-venu est largement suffisant. Et outre les mises à jour à distance, il est aussi beaucoup plus simple à utiliser qu’un développement natif intégral. La structure de chaque page est simple à comprendre, on utilise du CSS pour mettre en forme les éléments et du JavaScript pour l’interaction.

À bien des égards, cette solution ressemble à un développement web : vous positionnez du texte, des images et des contrôles en CSS, chaque écran est associé à un fichier JSON et les fichiers sont reliés entre eux par des liens HTML. Il y a quelques fonctions plus avancées, par exemple pour charger des données depuis une API en ligne, ou encore des actions pour exploiter le matériel (appareil photo, géolocalisation), mais la base reste très simple.

Jasonette n’en est qu’à ses tous débuts, mais cette solution est prometteuse et on peut l’exploiter pour des apps relativement ambitieuses. Le tout est fait très rapidement et potentiellement directement dans un navigateur, comme cette vidéo qui reproduit l’interface d’Instagram en quelques minutes. Vous pouvez concevoir des apps à la main comme ici, mais on peut aussi imaginer qu’un CMS génère les fichiers JSON et reproduise le site, mais dans un format qui permet d’offrir une app native à moindres frais.

Pour tester Jasonette, il suffit d’un appareil iOS : téléchargez l’app Jason. [2.11 – US – Gratuit – iPhone/iPad – Ethan G.] sur votre iPhone ou iPad, saisissez l’URL qui correspond au fichier JSON nécessaire à votre app et vous verrez ce que cela donne sans même passer par un ordinateur. L’idéal reste d’utiliser un Mac et Xcode pour créer son app, sachant que le seul paramètre à modifier dans Xcode est l’URL du fichier JSON.

Pour le moment, Jasonette est limité à iOS, mais son concepteur est d’ores et déjà en train de travailler à une version pour Android. Les notifications instantanées sont aussi au programme pour répondre à tous les besoins. Le projet est open-source et gratuit, vous pouvez suivre son développement ou y contribuer sur GitHub. Et si vous voulez essayer vous-même, le meilleur point de départ est la documentation, déjà très complète.

avatar JonasL | 

Y a-t-il un risque qu'Apple interdise cette procédure ?

avatar Nicolas Furno | 
@ JonasL : tout peut arriver, mais Facebook fonctionne ainsi, Twitter également… Ce n'est pas une idée nouvelle.
avatar JonasL | 

@nicolasf

Ok, donc a priori pas de problème immédiat

avatar Nicolas Furno | 
@ JonasL : je pense pas, d'autant que le créateur de Jasonette a déjà publié plusieurs apps sur l'App Store en l'utilisant.
avatar JonasL | 

@nicolasf

Ok. Très intéressant !

avatar thefolken | 

@Nicolas: Le fait que le créateur ait fait valider des apps ne laisse présager de rien du tout.

Malheureusement.

avatar C1rc3@0rc | 

Le risque de securité est quand meme massif et le fonctionnement meme de cette application viole de toute évidence les regle de l'App Store. Il semble qu'en plus le fonctionnement differe de celui de Facebook. Donc logiquement Apple devrait interdire cet type d'application.

On est pas sur une webapp que l'on construit avec du HTML 5 et qui est executé par le navigateur WEB. C'est ça le gros probleme...

L'autre gros probleme c'est qu'il y a 2 approches du developpement sur mobile: le natif ou l'on a acces a toute la puissance materiel locale et qui necessite d'etre validé, si ce n'est audité vu les dangers que cela permet. L'autre approche c'est la webapp, qui n'est rien d'autre que l'execution de code HTML5 au sein d'un navigateur qui limite les risques residuels par diverses approches.
Et ce que propose cette application c'est de justement casser le principe de securité.

avatar pumk1n | 

@JonasL

C'est déjà interdit dans les guidelines. Pour le moment Apple ne semble rien dire mais jusqu'à quand ?

avatar lawappe | 

Quel est l'intérêt par rapport à une app Node.js + Angular ?

avatar Nicolas Furno | 

@ lawappe : la simplicité ?

Créer une interface avec du JSON et du CSS (plus un soupçon de JS), c'est très simple. Nettement plus en tout cas que d'apprendre Node.js et Angular.

avatar lawappe | 

@nicolasf

Mouais... quand je vois qu'il faut réapprendre à coder la mise en page en JSON alors que tout existe déjà en HTML (bien plus clair et simple), je ne sais pas si c'est tres judicieux de réinventer la roue.

De plus, avec Angular les possibilités sont quasi infinies (directives, classes, etc.).

avatar codeX | 

Le principe n'est pas nouveau. Il y a très longtemps, Apple a proposé, le nom ne me revient pas, quelque chose qui permettait de construire de l'interface à partir de commandes reçues d'un serveur.

avatar IceWizard | 

Moi aussi je poussais la jansonette quand j'étais jeune.

avatar foxsyl | 

J'ai des doutes sur ce système... Je me demande si Apple ne va pas l'interdire s'il prend de l'ampleur... FaceBook et Twitter ça reste des exceptions, mais le jour où tout le monde développera une application " simple " qui passera les validations puis ensuite ajoutera énormément de parties plus " suspectes " après validation ça risque de devenir dangereux...

Alors autant pour des sites vitrines, etc... ça va mais le jour où ce système sera utilisé pour l'utilisation du GPS, l'accès aux contacts, aux identifiants, etc... ça risque de devenir très dangereux d'autoriser une telle application puisqu'on a aucune idée de ce que le développeur peut rajouter sous les radars après publication..

avatar Nicolas Furno | 

@foxsyl

Difficile à savoir, mais je pense que ce type de solutions va se multiplier à l'avenir. Ça me paraît evident, c'est suffisant pour une large catégorie d'Apps, c'est plus simple, plus rapide…

CONNEXION UTILISATEUR