Sur la route d'Oxiane digressions diverses

LeBlog OXiane

18 sept
2012

IBM Worklight plateforme mobile

ibm worklight
J’étais aujourd’hui chez IBM pour une journée de workshop sur leur plateforme mobile Worklight.

Au premier coup d’oeil, ça ressemble à un phonegap.

On a un environement de dev, un designer et on peut développer des applications hybrides en vue de déploiement multi-plateformes (Android, iOs, BlackBerry et Windows phone).

Au second coup d’oeil … ça n’a rien à voir … ou presque.

 

 

 

Je commence par les points, disons, négatifs.

  • On peut développer son application hybride avec les plus connus des frameworks web mobiles : jQuery mobile, dojo mobile et sencha touch, MAIS le designer intégré ne permet que d’utiliser dojo… grosse déception, et je n’ai rien contre dojo, au contraire, mais pourquoi faire semblant de faire du jQuery mobile si en fait … non.
  • Beaucoup de fonctionnalités sont réservées à Android et iPhone, les autres systèmes sont les parents pauvres, un peu là pour la galerie … notez que moi ça ne me dérange pas plus que ça, mais pour la cible de ce produit, c’est dommage. Pour blackberry, c’est encore plus complexe car visiblement leur OS évolue drastiquement pour sa dernière version et c’est donc tout une partie de worklight qu’il faudra repenser
  • Malgré la qualité des tutos à suivre, on ressent une impression de flou lors du développement, mais c’est sûrement du au fait qu’on aborde beaucoup de sujets différents, du montage des pages au déploiement des applications

Pour les points positifs, il y en a aussi, je dirais que globalement, j’ai été emballé par le côté serveur :

  • La possibilité de créer du code serveur worklight qui fournit les données aux terminaux, ce qui est intéressant pour agréger des contenus et d’une manière générale pour maitriser les ressources utilisées par les mobiles.
  • La création très facile d’un App Store privé, qui servira à une entreprise à déployer ses applications, à gérer les mises à jour, les commentaires etc…
  • L’approche MDM de la solution complète, qui permet de restreindre des fonctionnalités pour certaines applis, de gérer un ensemble de paramètres qui viennent enrichir les fonctions d’un simple App Store comme le direct update, comme une vraie sécurité, basée sur un système d’authentification existant dans l’entreprise.
  • La gestion unifiée (pour Android et iOs) des notification en mode push
  • Un outil de statistique simple pour connaitre les chiffres d’utilisation

ibm worklight direct update
Avec la technologie direct update, il est possible de mettre à jour le contenu « web » de son application hybride, comme du cache appilcatif par exemple. On ne passe pas pour ces fonctionnalités par le process lourd du store, mais directement par le serveur worklight. On peut ainsi gérer des versions différentes pour un même OS et une même appli.

Alors Worklight permet de développer des applis web « pures », mais ce n’est à mon avis pas la cible. En effet, l’outil ne me semble pas intéressant par rapport à ce qui peut se faire directement avec Phonegap ou pourquoi pas avec Dreamweaver et jQuery Mobile. Il est d’ailleurs possible de brancher des plugins Cordova pour étendre les capacités de son appli hybride. En revanche, en entreprise, la démarche en intéressera plus d’un, et principalement pour des aspects de sécurité, qui font cruellement défaut dans un déploiement classique d’applications mobiles. Comme Worklight sait gérer aussi bien les applications natives que les applications hybrides, c’est un moyen efficace d’intégrer ses applications d’entreprise dans une politique sérieuse de sécurité et de déploiement.

Alain Boudard

aboudard

5 sept
2012

Adobe Edge Animate pour créer comme des dingues !

C’est le titre d’une des vidéos disponibles sur le fil d’Adobe TV dédié au produit qui s’appelle désormais Edge Animate (et qui pourrait bien s’appeler Quenelle Animate, ça ne changerait pas la face du web). Edge en est à la version « preview 7″ et s’annonce comme un véritable outil de production, et on en attend pas moins d’Adobe à vrai dire … et la différence avec la preview 1 est … énorme !

Voici donc une très sympatique vidéo de présentation de cette version :

Et notez que ce week end, Samedi 8 Septembre 2012, le groupe Meetup HTML5 organise une conférence avec Adobe pour justement présenter Edge.

Alain Boudard

aboudard

31 août
2012

ESUG jour 5

ça y est, c’est fini ! les micros sont coupés, le rendez-vous est fixé pour l’année prochaine.
Un dernier lunch pour discuter des conférences du matin et chacun se prépare à rentrer chez lui, regonflé à bloc et des idées plein la tête par toutes les choses fantastiques présentées pendant toute cette semaine. Peu de conférences aujourd’hui mais de haut niveau.

« Building an app based on jQuery and iOS Pharo » nous présente le développement d’une appli mobile à l’aide de Seaside et de quelques extensions magiques au framework. L’application produite a un look nickel et l’adaptation de Seaside pour utiliser jQueryMobile permet de masquer en grande partie le fait que c’est une appli html.

Le « Pharo Update » nous présente les derniers travaux réalisés, ceux en cours et l’orientation des futurs développements. C’est aussi l’occasion pour Stéphane Ducasse de présenter le Pharo Consortium et de rappeler, (marteler devrais-je dire) les ambitions de la Pharo Team : « Nous voulons que vous fassiez de l’argent avec nos produits pour que nous construisions ensemble son avenir »
Il faut bien reconnaître que le travail réalisé sur Pharo est phénoménal. J’ai été bluffé par la qualité des applications et outils présentés. Pas de doute, Pharo est bien le Smalltalk libre qui peut faire bouger bien des choses.

La dernière session, « Smalltalk in the Cloud », est le bouquet final. Après un rappel rapide et concis des fondamentaux du Cloud (IaaS, PaaS, SaaS), James Foster nous présente CloudFoundry, le projet de « Plate-forme as a Service » initié par VMware. La démde mo
montre d’abord la mise à disposition d’un exemple simple d’application Ruby et montre brillament qu.e c’est parfaitement possible avec Pharo et le framework web Aida.
L’appli, déployée en quelques secondes, montre qu’il est désormais possible de développer facilement des applications scalables. Le temps lui a manqué pour nous présenter l’utilisation de GemStone dans ce contexte mais nul doute que le couple CloudFoundry – GemStone peut produire un des meilleurs moteurs d’adoption de Smalltalk.

La session de fermeture fut l’occasion de remercier chaleureusement les organisateurs et les étudiants qui ont parfaitement géré toute la logistique d’un tel événement. Georg nous a aussi parlé du STIC qui aura lieu en Arizona et qui fête cette année ses 30 ans et qui aura pour l’occasion tout un tas d’événements exceptionnels.

La leçon a retenir de tout ceci c’est que Smalltalk est bien vivant, toujours aussi puissant et il peut vous aider à résoudre vos problèmes complexes, la communauté et les différents acteurs s’y engage et est là pour vous aider. Et si vous ne connaissez pas le langage, n’oubliez pas qu’OXiane peut vous aider à l’apprendre, vous assister dans vos réalisations ou même les prendre en charge entièrement.

Le weekend va faire du bien, je sais pas ce que j’ai, je me sens un peu fatigué là :-)

Jean-Francois Lefevre

jflefevre

31 août
2012

ESUG jour 4

Bon, c’est sûr que ce soir ça va être difficile, la bière a coulé à flot. Je vais quand même essayer de vous raconter la journée.
Tout d’abord nous avons eu un « Advanced seaside » nous présentant les aspects techniques du framework et surtout les motivations techniques pour ces changements entre les versions 2.x et 3.x.
Le framework s’est considérablement enrichi avec la version 3 pour répondre à des problématiques simples et une image seaside sous Pharo sait désormais répondre à un taux de 10000 requêtes par secondes avec un micro-framework web.

L’update Gemstone nous présente les avancées de la dernière version. C’est assez technique et beaucoup de choses tournent autours du multi-threading et du 64 bits. Là on est dans le monde de l’exploitation et des bases de données et c’est du sérieux.

« Advanced Visualization to Tame Wild Program Execution » nous présente 3 petit bijoux avec Kai, Hapao et Roassal.
Le premier est une représentation du profiling sous forme d’un arbre de rectangles. La largeur d’un rectangle représente le nombre d’exécutions et la hauteur le temps cumulé de cette méthode. C’est très intéressant car ça permet de visualiser plus efficacement les points à optimiser.
Hapao reprend le même principe avec le taux de couverture de test et la complexité des méthodes.
Roassal est le framework utilisé pour faire la représentation graphique des informations et est bluffant. En quelques lignes, une représentation graphique est construite.

« Saving and Retrieving objects in a changing environment » s’attaque au problème extrêmement complexe de la sauvegarde d’une grappe d’objets (sérialisation et désérialisation), plus particulièrement d’une instance d’un modèle en tenant compte des changements dans ce modèle. Cela signifie prendre en compte l’initialisation de nouveaux attributs, le renommage d’attributs, le transfert d’attributs dans une autre classe, …
Il s’agit d’un problème difficile mais gérable avec la technique présentée.

« Object centric réflexion » nous expose une manière différente de voir le debugging en proposant des extensions du débugger permettant d’étendre la vision strictement orientée « pile d’exécution » traditionnelle. Il devient ainsi possible d’avancer directement au prochain appel sur un objet ou sa prochaine modification pendant une session de debug.

« Building real world seaside apps » nous montre quelques astuces et précautions nécessaires pour la réalisation d’applications Seaside réalistes.

La session « Show us your project » est très intéressante car elle permet à chacun de présenter son projet dans un temps très limité de 10mn. C’est finalement un format intéressant comme le souligne Stéphane Ducasse, car il oblige les présentateurs à se surpasser. Nous voyons défiler différents projets, aussi bien des projets de recherches que les refontes actuelles de l’interface graphique de Object studio. La présentation de Roassal, vu précédemment, dans Amber, le Smalltalk compilé en JavaScript ouvre des perspectives énormes.

Une session tutoriel de présentation du PetitParser clôture la journée. Une session malheureusement pas assez préparée mais très intéressante tout de même pour découvrir ce framework d’écriture de parser. Cette session m’aura aussi permis de découvrir le site http://pastebin.com/ permettant de partager immédiatement un bout de texte avec l’assistance.

Je ne m’étendrai pas sur la soirée, commencée par un chouette resto conseillé par Johan. Quel beau pays que cette Belgique ! 250 variétés de bières dans un seul pub, vous vous rendez compte ?

Jean-Francois Lefevre

jflefevre

30 août
2012

ESUG jour 3


25 ans ! je l’ai déjà mentionné il y a 3 jours, c’est le nombre d’années d’existence de la « Firma Georg Heeg », la société de Georg où j’ai fais mon stage de DESS il y a maintenant 22 ans. Pour l’occasion, un « special awards » lui a été décerné ce soir pendant le « social event ». Il faut reconnaître qu’une telle longévité pour une société basée uniquement sur Smalltalk est le meilleur argument qui soit pour promouvoir le langage. Les « Innovation Technology Awards » ont aussi été décernés et la médaille d’or revient au projet « OO centric debugging » (une extension du debugger permettant par exemple d’avancer dans le debugging jusqu’à la prochaine utilisation d’un objet). Les deux évènements ont été fêté comme il se doit, bien entendu :-) mais revenons au déroulement de la journée.

Aujourd’hui nous avons commencé par « How to do almost Smalltalking with Objective C to develop iOs Apps ».
Une présentation du langage Objective-C dans laquelle il est rappelé que le langage a été créé par Brad Cox et Tom Love pour ajouter les fonctionnalités objets de Smalltalk au langage C. Et de fait, il s’agit bien de coder en C et d’y inclure de la syntaxe Smalltalk entre crochets pour envoyer des messages.
La présentation nous montre ensuite tout l’écosystème du développement d’application pour iOS. Bon, pour moi, c’était un peu trop propagande et, sans une démo, je ne peux que rester sur ma conclusion primaire : « c’est un langage de schizophrène », on ne peut pas rester mentalement indemne en passant d’un monde à l’autre à chaque ligne de code !

Ensuite, le « Cincom Update » nous fait le point sur les derniers avancements de ses produits (VisualWorks et ObjectStudio).
Comme d’habitude, pas de grand chamboulement mais une série d’améliorations, esthétiques ou de performance.
Une information tout de même, sur le système qualifié de « polycephalie », qui serait finalement pas mal utilisé par les clients et qui serait victime de son efficacité : personne n’en parle (normal, ça ne pose pas de problème). Pour rappel (ou info), il s’agit de contourner l’absence de thread natif de Smalltalk, en facilitant la délégation de calculs à des images esclaves. L’argument du « 80% des avantages du multi-threading avec 20% de ses problèmes » est donc parfaitement légitime.

La présentation « Fuel all the way down » nous présente « Fuel », le nouveau framework de sérialisation d’objets et « Tanker », qui s’appuie dessus et qui permet d’importer/exporter des packages de code. Le système se révèle extrêmement efficace et permet même de sérialiser/dé-sérialiser un débugger et sa pile d’exécution. Avec ce genre de facilité, il devient possible d’enregistrer tout le contexte d’une erreur dans un build Jenkins et de le recharger pour étudier l’erreur dans le contexte où elle s’est produite.

La présentation suivante (stx:libjava – running Java in Smalltalk) est tout simplement hallucinante. Tous le monde savait que c’était impossible mais personne ne leur avait dit, et ils l’ont fait. Bon, en fait si, on savait que c’était possible puisque VisualAge pour Java faisait déjà de la compilation et de l’exécution de code Java mais là c’est différent. Ils ont tout simplement fusionné une machine virtuelle Smalltalk et une machine virtuelle Java. La démo est incroyable : du code Java dans l’image, qui appelle du code Smalltalk. Du code Smalltalk qui appelle du code Java et au final un tomcat lancé et qui annonce fièrement qu’il s’exécute sur une machine virtuelle Smalltalk/X. Les conséquences potentielles sont énormes. Il devient possible d’utiliser des choses comme des drivers JDBC, des outils comme maven, des éléments non graphiques d’Eclipse, … Le présentateur nous prévient quand même qu’il s’agit de travaux d’expérimentation et que ce n’est pas « production ready » mais quand même, une machine virtuelle mixte Smalltalk/Java !!!

La présentation « Building a Business with Cincom Smalltalk » n’est pas du tout ce que je croyais. Je m’attendais à une présentation du licensing ou quelque chose comme ça mais c’est finalement la génération d’une application simple from scratch avec le modeleur d’ObjectStudio. J’ai l’impression de voir une démo de L’ObjectLens telle que je la faisais en 1995, en moins bien puisque là il faut aller coder l’écran du formulaire. Si au moins ça allait jusqu’au packaging complet de l’appli mais là on sait bien que ce genre de génération de code nécessite ensuite de nombreuses retouches avant d’aller mettre quelque chose en production.

La dernière présentation concerne le « Presenty UI Framework », un framework MVP modifié permettant de séparer clairement la logique métier de l’affichage. J’aime beaucoup l’introduction qui consiste à voir les choses autrement. Lorsqu’on voit un écran constitué de listes, de boutons, de menus, … lui, il voit des Task et des UserRequest qui s’enchaînent. Cliquer sur un bouton, choisir dans un menu ou activer un raccourci clavier sont autant de manières différentes de faire la même chose : déclencher une action. Le framework propose donc de séparer la spécification des tâches à enchaîner et de configurer indépendamment le rendu graphique. Il devient possible de reconfigurer tout un écran, voir de le transformer en un enchaînement d’écrans modaux, sans toucher une ligne de code spécifiant l’enchaînement des tâches. Ça semble puissant mais assez difficile à prendre en main tant la logique est éloignée des habitudes.

Ce soir c’était le « social event ». La sortie en bateau pour visiter la ville par ses canaux et le dîner était très sympathique et constituait un bon moment festif. Nous avons quitté la troisième mi-temps après le premier verre (juste à temps je crois, il y aura surement des absents demain aux premières conférences)

Jean-Francois Lefevre

jflefevre