Revue de Presse Xebia

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Le coin de la technique

Actualité éditeurs / SSII

Apple et Adobe : petits coups bas entre amis

L’échange de coups a commencé à l’initiative d’Apple lors de la présentation de l’iPad, avec une subtile allusion au fait que le nouveau magic device ne supporterait pas Flash (voir la photo ici).
Il a continué avec les rumeurs (non démenties à ce jour) de propos issus de la bouche de Steeve Jobs, traitant les ingénieurs d’Adobe de faignants (si on remet ces mots de le contexte, ils seraient tire-au-flanc car disposant d’un outil fabuleux (Flash) mais ne l’exploitant pas).
Ce remue-ménage doit aussi être associé aux rumeurs grandissantes de la mort annoncée de Flash remplacé par HTML 5 dès l’année prochaine ;)
Il n’en fallait pas plus (quoi que ce soit déjà beaucoup) pour qu’Adobe contre attaque. Et après quelques employés qui se sont exprimés (pas toujours élégamment), c’est Kevin Lynch, le CTO en personne, qui monte au créneau. En répondant pied à pied aux critiques émises par Apple :

  • Flash est né à l’origine pour les tablet-pc. Mais il a su évoluer, et c’est pour cela qu’il est aujourd’hui la ressource de référence de diffusion de contenu sur HTML.
  • Le flash player 10.1 devrait être présent sur les devices de nouvelle génération et leur permettre d’accéder à la totalité du contenu du web. Ce flash player est prêt pour l’iPhone dès qu’Apple laissera le choix à ses utilisateurs de l’installer (on peut toujours rêver).
  • HTML 5 ne remplacera pas dans un avenir proche l’ensemble des fonctionnalités de Flash : on voit déjà que le choix d’un support vidéo nous renvoie quelques années en arrière avec des codecs qui divergent dans les principaux navigateurs. De plus, la richesse et la productivité de Flash, les innovations qu’Adobe ne manquera pas d’y apporter, et la rapidité de diffusion de la technologie face à un HTML difficile à standardiser promettent des beaux jours au plugin préféré des utilisateurs du web.
  • Le mixage de Flash et HTML procure une expérience utilisateur irremplaçable.

Cette déclaration n’a pas manqué de susciter de nombreux commentaires auxquels Kevin Lynch a pris la peine de répondre (des pro aussi bien que des anti).
Et il y a fort à parier que cette polémique risque de perdurer toute l’année. C’est pourquoi nous vous proposerons bientôt un article sur HTML 5, pour que vous aussi vous puissiez vous faire une idée sur ce Flash Killer (mais nous nous abstiendrons bien sûr de rentrer dans les polémiques marketing et nous contenterons d’être sereinement techniques et terre à terre ;)

Le coin de la technique

Google App Engine SDK 1.3.1: Améliorations au niveau du Datastore

La version 1.3.1 du SDK de Google App Engine vient de sortir. Pour rappel, GAE est une solution de cloud computing orientée PaaS (Platform as a Service). Cette release est axée principalement sur le DataStore. Elle apporte également un nouveau framework de tests unitaires.

Au niveau du DataStore, on peut noter les améliorations suivantes:

  • La limitation à 1000 du nombre de résultats d’une requête a été enlevée : grâce à l’apparition des Query Cursors, et d’améliorations internes à BigTable, les développeurs de Google sont assez confiants au niveau des performances pour enlever cette limite.
  • Apparition des Query Cursors: GAE offre la possibilité de sauvegarder dans un objet Cursor la progression du résultat d’une requête, dont on a limité le nombre de résultats. Par exemple, en fixant à 20 le nombre de résultats de votre requête, si vous lancez une première fois la requête et sauvegardez le curseur. En relançant la même requête, vous obtiendrez directement les 20 résultats suivants.

Le curseur peut être persisté ou encodé en String pour l’inclure dans des pages web. Vous pourrez ainsi relancer une requête avec le curseur à tout moment. Outre le fait d’avoir permis de supprimer la limite du nombre de résultats d’une requête, une des applications possibles des curseurs est la récupération des dernières entités mises à jour.

  • Automatic retry des appels vers le DataStore : lors d’erreurs d’accès au datastore, les exceptions devaient être gérées par l’application. Cela entrainait de nombreuses erreurs d’application. Maintenant, App Engine retente automatiquement les appels au DataStore.

Le framework de tests unitaires a été revu pour être plus flexible et s’intégrer facilement avec les API de tests comme Junit, Unitils, etc. Avant, il fallait utiliser un objet ApiProxyLocal pour simuler un environnement GAE. Maintenant, GAE fournit un objet LocalServiceTestHelper, qui permet d’effectuer des tests utilisant le DataStore, le MemCache, ou encore les TaskQueues.

Un certain nombre de bugs, principalement liés au DataStore ont aussi été corrigés. Au final, cette nouvelle version apporte de réelles nouveautés et donne le sentiment que le projet GAE avance bien.

Refcardz Vaadin

Le framework Vaadin, que nous avons couvert dans de précédentes revues de presse (ici et ) arrive sur DZone avec une Refcardz qui lui est dédié (information relayée sur ce blog).
Au menu, plusieurs sections avec tout d’abord un petit overview du framework, suivi par un paragraphe de création d’application. Viennent ensuite les sections liées aux composants et aux layouts de composants ainsi qu’une partie sur les thèmes et une partie sur le data binding. Une dernière partie nous montre comment créer nos propres composants. Une refcardz très complète donc, qui nous donne en quelques pages un très bon aperçu du framework.
Et pour approfondir le sujet, vous pouvez vous rendre sur cette page et récupérer le book of Vaadin.

Sortie de EasyAnt 0.7.

EasyAnt, un système de build alternatif au très populaire Maven vient de sortir en version 0.7.

EasyAnt apporte un certain nombre de fonctionnalités au non moins populaire projet Ant sur lequel il repose. Il propose entre autre des conventions pour la structuration des projets, un système de gestion de dépendances (utilisant Ivy) ainsi qu’un cycle de vie du build (à l’aide de la notion de phases sur lesquelles viennent se brancher des targets).

Ce projet ressemble donc dans l’esprit fortement à Maven sur lequel EasyAnt à repris un certain nombre de bonnes idées. Néanmoins, là où Maven est particulièrement restrictif, EasyAnt est suffisamment souple pour permettre une migration relativement aisée de vos anciens projets même s’ils ne respectent pas les conventions préconisées. Il permet aussi de conserver les tâches Ant qui ont été précédemment développées et de les attacher aux différentes phases du build.
EasyAnt est encore relativement jeune par rapport aux mastodontes du build que sont Ant et Maven mais il apporte un réel intérêt pour des projets historiques construits avec Ant et pour lesquels on souhaite profiter de fonctionnalités proposées par Maven.

Les principales évolutions de la version 0.7 sont la possibilité de surcharger les targets et phases définies par défaut (pour une plus grande souplesse) et un meilleur support des projets multi-modules.

Le développement de ce projet est relativement actif. Nous suivrons avec intérêt l’évolution des prochaines versions.

2 commentaires

  • Sympa l’amélioration de GAE, mais toujours pas de gestion propre des héritages sous JPA/JDO :(

Laisser un commentaire