Blog Pro de Jean-Baptiste HEREN - Tag - cappuccino Notes d'un consultant Freelance en Informatique 2015-11-03T21:34:19+01:00 JB HEREN urn:md5:e39389b5ec134d99645112fce3d957df Dotclear Convergence des applications Bureau / Web / Mobile urn:md5:9bc165d6ed800daaf7c7af5e4ff54651 2010-07-21T22:53:00+02:00 2010-07-23T15:48:47+02:00 Jean-Baptiste Heren Veille techno cappuccinodéveloppement webFramework WebMacOSX <p>Il se passe quelque chose du côté des outils de développement. ce n'est pas une nouveauté.  La convergence progresse et l'on trouve de plus en plus de sociétés allant dans ce sens.</p> <h1>Un peu d'histoire</h1> <p>Sur le terrain des outils de développement &quot;universels&quot;, on a constaté l'évolution suivante :</p> <ul> <li>il y a JAVA, bien sûr, avec son énorme API et sa machine virtuelle, capable de fonctionner sur une multitude de plateformes.</li> <li>puis il y a eu les API multi-plateforme comme mono, GTK ou QT. L'idée étant de développer une fois, compiler partout (pour le bureau)</li> <li>on a eu Adobe (Macromedia) avec Flash, l'arrivée de ActionScript 3, puis Flex pour le web, et enfin, AIR. AIR est le véritable résultat de la convergence. Prenez un développeur Actionscript ou HTML/Javascript, il sera capable de développer des applications Web ou de bureau avec un outil Unique. Pour aller plus loin, Adobe a même été jusqu'à permettre la compilation d'applications Flash sous la forme d'apps natives pour l'iphone.</li> </ul> <h1>Et après ?</h1> <img title="atlas-icon-png.png, juil. 2010" style="float: right; margin: 0 0 1em 1em;" alt="" src="http://blog.jbheren.com/public/tuto/cappuccino/.atlas-icon-png_s.jpg" />L'exemple le plus intéressant de convergence, à mon sens, est celui de <a href="http://cappuccino.org/">cappuccino</a> (et peut-être le futur Framework d'applen <a hreflang="en" href="http://www.appleinsider.com/articles/10/05/07/apple_developing_flash_alternative_named_gianduia.html"> Gianduia</a> ). <p>Déjà évoqué sur ce blog, Cappuccino est un Framework permettant le développement d'applications Web, calqué sur le mode de développement d'applications Apple. Sur MacOS, et maintenant iOS, les applications sont développées a l'aide de l'outil XCode. l'API Apple est nommée <a href="http://fr.wikipedia.org/wiki/Cocoa_%28Apple%29">cocoa</a> et le langage de prédilection est <a href="http://fr.wikipedia.org/wiki/Objective-C">Objective-C</a>.</p> <p>Pour cappuccino, le langage est Objective-J (une déclinaison de javascript, utilisant un formalisme proche de objective-C et créée pour l'occasion) et l'API se calque sur cocoa. de cette manière, un développeur Mac pourra être rapidement productif avec Cappuccino.</p> <p>La cible initiale de Cappuccino était le développement de véritables applications prenant place dans le navigateur. Pour exemple, voici deux applications développées avec cappuccino :</p> <ul> <li><a href="http://280slides.com/">280slides</a> : Application de démo, aux fonctionnalités équivalentes à Keynote, le powerpoint d'Apple.</li> <li><a href="http://gomockingbird.com/">MockingBird</a> : Outils de création de maquettes en ligne, équivalent de <a href="http://blog.jbheren.com/post/2009/12/14/Maquettes-d-applications-avec-Balsamiq-Mockup"> balsamiq Mockup</a>, mais Sans Flash !</li> </ul> Cappuccino continue sa progression et nous avons vu apparaître récemment la possibilité de compiler les applications pour le bureau, par l'intermédiaire du module <a href="http://cappuccino.org/discuss/2010/05/13/nativehost-run-your-cappuccino-applications-on-the-desktop/"> NativeHost</a>.<br /> A cela s'ajoute le développement d'un IDE complet dédié au Framework et calqué sur le célèbre Xcode : <a href="http://280atlas.com/what.php">Atlas</a>. Je vous invite à visiter le site web de l'application et à visionner la <a href="http://280atlas.com/what.php">vidéo de présentation</a>.<br /> <br /> <br /> <object classid="http://blog.jbheren.com/?post/2010/07/21/Convergence-des-applications-Bureau-/-Web-/-Mobile#" id="viddler" width="437" height="315"><param name="movie" value="http://www.viddler.com/player/1db9bf4d/" /> <param name="allowScriptAccess" value="always" /> <param name="allowFullScreen" value="true" /> <param name="flashvars" value="fake=1" /></object> Ces Frameworks qui laissent entrevoir l'avenir du Web. urn:md5:6e8583655b41c71a3efd20704a7b2cbe 2010-03-17T11:35:00+01:00 2010-07-21T13:50:01+02:00 Jean-Baptiste Heren Veille techno cappuccinodéveloppement webFramework Web <p>Dans le cadre de recherches sur les technologies web et donc les Frameworks qui auraient l'avantage dans les mois les années qui viennent, j'ai été vraiment surpris du nombre et de la qualité des projets existants.<br /> Ce que l'on a appelé le &quot;Web 2.0&quot; a tenté de rendre les sites web aussi réactifs que des applications de bureaux. La plupart du temps, cela se limite à des effets visuels, parfois cela a fait germer de nouvelles idées. Cette tendance nécessitait de coordonner de nombreuses technologies dans un précaire équilibre, afin d'obtenir un site qui fonctionne (Javascript / HTML / PHP / CSS / Flash , etc.).<br /> L'apparition de Frameworks ajoutant un niveau d'abstraction face aux multiples langages interagissant dans notre bon vieux navigateur, a été le début d'une révolution. On pense à Ruby, suivi de cakePHP et Symphony. Pour atuant, leur utilisation nécessite toujours une bonne connaissance de DOM et des langages du web.</p> Aujourd'hui dans une phase de sélection d'un Framework pour développer des projets internes, je suis finalement tombé sur des frameworks d'un autre genre. Ceux-là visent la convergence entre des applications et du web; ou comment développer une application Web (&quot;cloud application&quot; pour faire référence au vocable du moment) comme on le faisait avec une application de bureau.<br /> <br /> <h2>Cappuccino Web Framework</h2> <p>Le <a href="http://cappuccino.org">Framework Cappuccino</a> est Open Source et fonctionne sur un calque du modèle de développement propre à MacosX (cocoa/objective-C). Le développeur n'a pas besoin de manipuler sur javascript/ HTML/ CSS. Tout se passe à un niveau d'abstraction supérieur, et le résultat est saisissant. Les concepteurs ont souhaité créer un langage (Objective-J) et une API suffisantes, dont l'utilisation ne nécessite aucune connaissance du HTML ou du CSS.</p> <p>Pour exemple, je vous invite à visiter les deux adresses suivantes :</p> <ul> <li><a href="http://280slides.com/Editor/">280Slides</a> : Application du type Keynote/Powerpoint en ligne.</li> <li><a href="http://gomockingbird.com/">MockingBird</a> : Outils de création de maquettes en ligne, équivalent de <a href="http://blog.jbheren.com/post/2009/12/14/Maquettes-d-applications-avec-Balsamiq-Mockup">balsamiq Mockup</a>, mais Sans Flash !<a href="http://gomockingbird.com/"><img style="width: 360px; height: 196px;" alt="" src="http://gomockingbird.com/media/images/main-screenshot.png" /></a></li> </ul> <br /> <br /> Sous réserve de complexité d'apprentissage de ce nouveau type de framework, on peut donc considérer que nous devrons travailler à l'avenir, non plus avec un mélange de technos &quot;à l'ancienne&quot; nécessitant une expérience conjointe en CSS/PHP/Javascript, mais plutôt avec différents Frameworks pour différents besoins :<br /> <ul> <li>Un site Web passera plutôt par l'utilisation d'un Symphony /cakePHP/ Ruby.</li> <li>Une application en ligne, plutôt un Cappucchino ou SproutCore.</li> </ul> <br /> <h2>Et donc ?</h2> Reste maintenant à expérimenter, mais si l'on considère que &quot;Qui peut le plus peut le moins&quot;, il est peut-être plus intéressant d'investir dans l'apprentissage et la maîtrise des &quot;Frameworks d'applications&quot;, y compris pour des besoins simples...<br />