Blog KeepCore - Développement logiciel - Mobilité - Ergonomie

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Test d’Ionic Creator beta : construire visuellement l’interface d’une application mobile sur le framework Ionic

Posted by on in Développement
  • Font size: Larger Smaller
  • Hits: 40294
  • 0 Comments
  • Subscribe to this entry
  • Print

Ionic: c’est quoi ?

b2ap3_thumbnail_ionic.png

Ionic est un (jeune) framework frontend open source permettant le développement d’applications mobiles hybrides en HTML5, particulièrement optimisé pour être utilisé avec AngularJS.

 

b2ap3_thumbnail_html5.png

Petit rappel sur les différentes technos mobiles:

Différents type de frameworks:

  • Web Mobile: site web optimisé mobile et accès par le navigateur du téléphone (même si certains sont aussi hybrides avec la possibilité de packager avec PhoneGap/Cordova), exemples:
    • JQuery Mobile
    • Kendo UI
    • Sencha Touch
  • Hybride: application HTML5 embarquée dans une application native avec une webview, exemple:
    • Phonegap & dérivés ← IONIC (Application avec WebView et HTML embarqué dans le binaire)
  • Autres frameworks: Cross platform 2 native, exemples:
    • Titanium
    • Xamarin

Et Ionic dans tout ça ?

Ionic s’appuie sur PhoneGap/Cordova comme base, s’architecture sur AngularJS et permet de développer avec Javascript, HTML5 et CSS/Sass.
Il permet le développement d’applications natives, visuellement attractives par défaut avec des interfaces graphiques unifiées entre les différentes plate-formes.

Un des avantages majeurs d’utiliser une technologie hybride est le gain en temps de développement. Mais cela est souvent “acceptable” uniquement si les performances ne sont pas prioritaires, si l’application ne nécessite pas ou peu d’accès aux ressources bas-niveau du device (bien que de plus en plus de plugins existent pour cela désormais).

Quelques points forts:

  • Plateforme open source (licence MIT)
  • Framework UI HTML5 CSS3 / AngularJs (MVC)
  • Outils préconfiguré: Gulp, Sass, Bower, etc.
  • Les composants UI sont des directives AngularJS
  • Quantité intéressantes de widgets mobiles et événements de gestures
  • UI unifiée entre les différentes plate-formes
  • Bridge to Native APIs (plugins), exemple: notification avec Pushwoosh

Quelques inconvénients:

  • UI unifié (aussi ;-)
  • Encore en beta, jeune projet (mais prometteur)
  • Pas d’accès total à l’API hardware
  • Plus lent (que natif)
  • Packaging et déploiement (signature des binaires)

Notre expérience sur Ionic

Habitués aux développements sur les technologies mobiles natives, nous avons du tout de même faire le choix d’utiliser une technologie hybride dans le cadre de certains de nos projets. De par nos expériences avec AngularJS en ce qui concernait le développement d’application web, nous avons été amenés naturellement vers Ionic.

Les projets sur lesquels nous avons utilisé Ionic se prêtaient bien à ce type de technologie: peu d’accès hardware, UI simple et épurée, interfaçage avec une serveur disposant d’une API REST, peu de stockage de données localement sur le device. 

Nous avons aussi intégré facilement un service de notification PushWoosh pour iOs & Android.

Nous avons développé sous IntelliJ IDEA 13 mais la prochaine version Intellij IDEA 14 que nous avons testé en béta supporte déjà Ionic via le plugin http://plugins.jetbrains.com/plugin/7436?pr=idea (d’ailleurs pour rappel KeepCore organise un atelier à NOVAE de présentation d’IntelliJ le 16/12/2014 à Cap Omega ;-).

Depuis pas mal de temps nous avions suivi les évolutions de Ionic et étions donc inscrits pour un accès à l’outil Ionic Creator sur lequel l’équipe d’Ionic travaillait.
C’est donc avec beaucoup d’enthousiasme que nous avons testé cet outil à la réception de notre invitation la semaine dernière (Update: Ionic Creator est désormais ouvert à tous). 

Ionic Creator beta

b2ap3_thumbnail_ionic_creator.png

Ionic permet de créer des projets soit vides soit à partir de templates (application avec onglets, side menus).

Ionic Creator permet de créer le template de l’application. Creator ne permet pas de coder mais bien de réaliser les différentes parties de l’UI ainsi que les transitions entre les différentes vues (dans une certaine mesure). C’est un éditeur WISIWIG (What I See Is What I Get ;-) pour Ionic et il permet l’édition et la sauvegarde online à la Google Drive (sauvegarde automatique en temps réél).

Description de l’outil

Divisé comme un IDE classique, à gauche les différentes pages du projet représentées par un arbre contenant la hiérarchie des composants. En dessous, l’ensemble des widgets disponibles. Au centre l’UI où l’on peut interagir avec les composants, faire du D&D. A droite les propriétés de l’objet sélectionné.

Dans le bandeau, un menu de liste de projet et le switch entre le mode édition et un mode preview. 

ionic_creator_editor.png

L’arborescence des pages

Représente hiérarchiquement les différentes pages de notre template, et leurs composants.

Les widgets

Donne accès aux widgets du Framework Ionic, on peut effectuer un Drag&Drop vers la page d’édition pour en rajouter à notre interface. Les conteneurs et le système de grille d’Ionic ne semble pas encore supportés.

La page d’édition

Affiche la page sélectionné.
La page permet la sélection des éléments ainsi que leur déplacemeent par Drag&Drop.

Les propriétés

En fonction du d’élément sélectionné, permet d’éditer ses propriétés, le rendu s’effectue en live dans la page d’édition:

ionic_creator_properties.png

Certains contrôles disposent d’un éditeur HTML embarqué: 

ionic_creator_embedded_html_editor.png

Le mode preview

Le mode preview permet de tester le rendu final, ainsi que les intéractions entre les différentes pages. 

ionic_creator_preview_mode.png

La liste des projets

Un menu sur la droite permet l’affichage de la liste des projets, et permet leur gestion.

Utilisation du template

Le téléchargement en local du projet se réalise simplement par l’exécution d’une commande:

$ ionic start [appName] creator:5528e1a09088

ionic_template_usage.png

Une fois le template terminé, on peut en une ligne de commande générer sur notre machine en local le projet en s’appuyant sur notre template. En regardant de plus près le projet généré, on se rend compte que pour l’instant le creator génère un unique fichier HTML contenant à la fois tous les templates HTLM des différentes vues de notre application, et le code javascript de l’application AngularJS. On peut espérer que dans la version finale tout soit bien découpé dans différent templates HTML et dans des fichiers javascript séparés, comme pour les projets template d’Ionic...

Quelques bugs de jeunesse

Lors de ces quelques tests que nous avons pu mener, nous avons constaté quelques bugs, certains assez génant, et justifiant le statut de “béta” de l’outil. Parfois des widgets perdent leurs icônes, parfois l’interface semble bloquée et le drag&drop ne fonctionne plus, parfois la page devient noire... La plupart du temps tout revient à la normale en rafraichissant la page.

Pour aller un peu plus loin...

Mais comment faire un preview sur tablette ? Le creator en effet ne permet pour l’instant que l’édition en mode portrait sur le format téléphone, cependant une api REST est utilisée lorsque l’on génère un projet à partir du remplate de ionic Creator, celle-ci renvoie alors le fichier HTML principal du template contenant toutes les infos. On a donc créé un outil très simple avec NodeJS permettant d’avoir une preview en Live sur au format tablette “paysage”. Les sources sont disponibles sur GitHub : https://github.com/patriceo/ionic-creator-preview/ , mais il n’est pas garanti que celui-ci fonctionne indéfiniment car l’équipe d’Ionic pourrait très bien modifier le fonctionnement de Creator d’ici la version stable. 

ionic_creator_tablet_preview.png

Conclusions

L’outil est prometteur. Il semble interessant pour rapidement réaliser un template pour Ionic mais également les mockups dynamique d’une application mobile.
Nous avons bien entendu hâte de disposer de la version finale, stable, pour nos prochains projets Ionic !

N’hésitez pas à nous contacter pour plus d’informations et/ou commenter si vous avez également des retours d’expériences à partager sur Creator ou Ionic ;-)

Rate this blog entry:

Leave your comments

Post comment as a guest

0
Your comments are subjected to administrator's moderation.
terms and condition.
  • No comments found

Contactez nous

KeepCore - 35 Place Charles Gontier - 13870 - Rognonas  
  Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Formulaire de contact