URL: https://linuxfr.org/users/lolgzs/journaux/sortie-de-pharo-11 Title: Sortie de Pharo 1.1 Authors: laurent laffont Date: 2010年07月27日T01:19:13+02:00 Tags: pharo Score: 6 Journal en vue d'une dépêche, commentaires appréciés. Quatre mois après la version 1.0, voici Pharo 1.1. Comme c'est l'habitude dans la communauté Smalltalk, Pharo est à la fois un compilateur, une machine virtuelle et un environnement de développement. Pharo est sous licence MIT. Le livre Pharo by Example, sorti en fin d'année dernière, décrit le langage Smalltalk et les outils de l'environnement de développement. Il est disponible sous licence Creative Commons by-sa en version pdf et une version imprimée peut-être commandée. La suite de cette dépêche détaille les avancées de Pharo 1.1 par rapport à Pharo 1.0 Annonce de la version 1.0 : https://linuxfr.org/news/sortie-de-pharo-10 Site web du projet : `http://pharo-project.org/` Copies d'écran : `http://pharo-project.org/about/screenshots` Vidéos : `http://pharocasts.blogspot.com/` Livre Pharo by Example : `http://pharobyexample.org/` * Settings framework Settings est un nouveau framework modulaire de gestion des préférences. Il permet de s'abstenire d'avoir une classe Preference globale à laquelle toutes les classes qui veulent déclarer des préférences doivent faire référence. Avec Settings, les méthodes qui déclarent des préférences sont annotées avec le pragma <systemsettings>. Le framework lui-même se chargera de faire appel aux méthodes annotées pour construire l'interface utilisateur. * Nouveau World Menu A l'instar des préférences, les entrées de menus sont déclarées en utilisant des pragmas. Chaque package peut ainsi ếtendre facilement le menu. * Classes noyau La hiérarchie des collections a été remaniée. Set et Dictionary sont maintenant des sous-classes de HashedCollection, avec un meilleur identityHash distribué. StandardFilestream utilse maintenant un tampon en lecture, amenant un gain de performance important sur nombre d'opérations. "Object compileAll" prends par exemple deux fois moins de temps (provient de Squeak). Introduction d'une nouvelle hiérarchie extensible de parseurs de nombres depuis des chaînes de caractères et flux. * Variables Smalltalk globales et requêtes système Remaniement de SystemDictionary et SmalltalkImage. Smalltalk est maintenant une instance de SmalltalkImage, une façade pour les requêtes et actions globales du système. * Corrections et améliorations du compilateur Les sélecteurs peuvent maintenant contenir un caractère -. Certaines expressions mal formulées sont maintenant rejetées. * Nettoyage et simplifications Nettoyage du package Traits: 17 classes et 240 méthodes supprimées. Le code a été repackagé et mis à disposition sur SqueakSource. Un nouveau protocole de nettoyage a fait son apparition (cleanUp). Un paramètre indique si on désire un nettoyage aggressif qui implique des actions destructives ou seulement un nettoyage des caches et de la mémoire. * Amélioration de la modularité, image de production de taille moindre Plusieurs changements dans l'objectif d'obtenir une image minimale amorçable. Les packages stockant les icônes et les polices ont été remaniés. L'image résultante après évaluation de "ScriptLoader new cleanUpForProduction" fait 6.2 Mo. * Optimisation des performances Amélioration des hash, conversions d'encodages, collections, rendus des polices et éléments graphiques. La lecture des images PNG a vu ses performances multipliées de 50 à 200 fois selon les cas. * Exceptions Ajout de l'exception OutOfMemory signalée lorsque une allocation mémoire échoue. Amélioration de la méthode des closures #ensure: (provient de Squeak). * SUnit TestCase#assert: ne prends maintenant que des booléens. * CompilerMethodFormat L'implémentation des méta-informations des méthodes compilées a été clarifiée. * Support natif des menus sous Mac OSX Le world menu est disponible dans la barre des menus natifs. * Pourquoi utiliser Pharo ? Pharo est une implémentation moderne, libre et complète du langage Smalltalk et de son environnement. Il vise à offrir une plateforme stable, robuste, épurée et open source pour le développement de logiciels professionnels, la recherche dans le domaine des langages objets et environnement dynamique. Pharo est extrêmement portable (même sa machine virtuelle est entièrement écrite en Smalltalk) ce qui facilite son débogage, son analyse et les modifications à venir. Pharo est le véhicule de tout un ensemble de projets innovants, des applications multimédias et éducatives aux environnements de développement pour le web. Une communauté active contribue au développement de packages pour Pharo via la plateforme Squeaksource (`http://squeaksource.com/`). Quelques projets utilisant Pharo: Les framework web Seaside `http://seaside.st`, Illiad `http://www.iliadproject.org/` Les CMS Cmsbox `http://www.cmsbox.com/en/cms`, Pier `http://www.piercms.com/`, Odyssey `http://www.objectfusion.fr/pages/Odyssey-CMS` La suite d'analyse logicielle Moose `http://www.moosetechnology.org/` Le logiciel de géométrie interactive DrGeo? `http://www2.ofset.org/drgeo` L'application iPhone Call A Bike pour la réservation de vélos `http://2denker.de/callabike/` NdM: liens neutralisés car trop de liens cassés ou de domaines perdus