From 844b2e49080e670ecdc37cbcabf9feeca08aa97e Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Sat, 21 Mar 2015 11:32:09 +0100 Subject: Article on sailfish developpement --- content/Informatique/sailfish.rst | 107 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 content/Informatique/sailfish.rst (limited to 'content/Informatique/sailfish.rst') diff --git a/content/Informatique/sailfish.rst b/content/Informatique/sailfish.rst new file mode 100644 index 0000000..d3c46ef --- /dev/null +++ b/content/Informatique/sailfish.rst @@ -0,0 +1,107 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +=================================== +Tsumego, pour jouer au go sur jolla +=================================== + +:date: 2015-12-31 +:tags: Libre, Programmation +:summary: |summary| +:logo: /images/sailfish/sailfish.jpg + +.. figure:: {filename}/images/sailfish/sailfish.jpg + :figwidth: 150 + :figclass: floatleft + :alt: Goban + + +|summary| + +.. |summary| replace:: + J'ai publié cette semaine ma première application pour Sailfish OS. Il + s'agit du système qui tourne sur les téléphones Jolla. Ce petit jeu permet + de charger des problèmes de go déjà préparés, pour ensuite les tester et + rechercher la solution. + +La première version a été publiée sur le site openrepos.net_ la semaine +dernière, pour la première version du jeu avec les fonctionnalités que je +souhaitais. + +.. _openrepos.net: https://openrepos.net/content/chimrod/tsumego + +C'est l'occasion de faire une petite revue du développement pour Sailfish Os. + +L'environnement +=============== + +L'ide +----- + +Les développeurs ont eut le bon gout d'utiliser des technologies existantes +pour faire l'environnement de développement. On dispose donc d'un package +comprenant : + +- Une IDE — Qt Creator +- Une machine virtuelle pour faire la compilation vers ARM +- Une machine virtuelle pour émuler le téléphone. + +Le développement se fait donc en QML, et un binding python est également disponible. + +.. figure:: {filename}/images/sailfish/ide.jpg + :alt: Capture d'écran de l'environnement de travail + + Capture d'écran de l'environnement de travail + + +Des exemples sont fournis, permettant de lancer quelques applications, +principalement en QML et javascript. La partie C++ est limitée au lancement de +l'application. + +Des incohérences sont autorisées par l'éditeur et le compilateur dans +l'agencement des composants — par exemple il est possible de mettre un +composant « page » dans un autre composant « page » ce qui provoque des erreurs +à l'affichage ou dans le comportement. Quand on a pris l'habitude des langages +fortement typés où le compilateur bloque tout programme mal structuré, cela +agace… + +La documentation +---------------- + +La documentation ne couvre que la partie composant graphique de QML. Les +composants propres au système Sailfish OS sont bien décrits et l'aide est +intégrée à Qt Creator sans qu'il soit nécessaire d'aller chercher sur le net. + +Par contre, le fonctionnement des binding python (par exemple) n'est pas +couvert, et il est nécessaire de parcourir le code des autres projets pour +comprendre comment utiliser telle fonctionnalité. + +La compilation +-------------- + +À travers quelques clics, il est facile de changer la cible de la compilation : + +- Un exécutable à lancer dans l'émulateur +- Un RPM à destination d'une plate-forme ARM +- Un RPM pour une architecture locale + +Il n'y a donc aucune difficulté pour tester packager, diffuser une application. + +Bilan +----- + +Je n'ai eu aucun problème à installer et lancer l'environnement de +développement. Tout fonctionne correctement dès l'installation sans rien avoir +à configurer. + +Les technologies utilisées sont plutôt bien choisies (au moins pour quelqu'un +qui a déjà son PC sous linux). + +L'émulateur tourne dans une image virtualbox. Il est possible de se connecter à +la machine via ssh, ce qui permet d'accéder au système, il n'y a pas de +limitation d'accès et il est possible d'être root comme sur le téléphone. + +Sur mon poste, l'environnement est beaucoup plus lent que le téléphone, il est +parfois nécessaire d'attendre un moment avant de charger une page et qu'une +animation se termine. + -- cgit v1.2.3