Le blog d'Alti Expertease

jeudi 4 juin 2009

JavaOne - JavaFX 1.2, Glassfish V3 preview, Netbeans 6.7 RC1

La version 1.2 de JavaFX est disponible et ce pour Windows, Mac OS X, Linux et Solaris ! Cette version apporte une nette amélioration des performances, de nouveaux composants UI indépendant de Swing, des composants UI pour faire des diagrammes et bien d’autres chose…
Pour plus de détails, il faut lire ce document. Cette release est complétée par la première preview de JavaFX TV.

De plus, Larry Ellison, le CEO d’Oracle a annoncé lors de la Sun General Session à JavaOne que JavaFX était une priorité pour Oracle. Il a aussi annoncé la possibilité que Sun/Oracle produise des netbooks(1) et des téléphones portables utilisant la plateforme JavaFX. Un Authoring Tools pour JavaFX a aussi été présenté en version preview lors de la première journée de JavaOne.

Quant a Glassfish V3 qui implémente Java EE 6, il est téléchargeable en version Preview et la release devrait être disponible en Septembre … et Netbeans 6.7, lui, est téléchargeable en Release Candidate 1.

(1)Note : Oracle et Larry Ellison étaient les créateurs du concept de network computer un peu avant les années 2000. Ils étaient en gros les ancêtres des netbooks que l’on connaît aujourd’hui.

lundi 25 mai 2009

La conférence Open Source d’Alti au salon MedIt, Alger 2009

MED-IT est un Salon Professionnel sur les Technologies de l’Information (Informatique, Internet, Télécoms) d'envergure Méditerranéenne. Le salon se tient chaque année à Alger depuis 2004, sous le Haut Patronage du Ministère de la Poste, des Technologies de l'Information et de la Communication. Med-IT est labellisé par Ubifrance et bénéficie du soutien du Ministère Délégué au Commerce Extérieur français. A cet occasion, Alti animait une conférence sur l'Open Source et tenait un stand pour présenter son savoir faire auprès du marché local.

Lire la suite

L’offre « Monde Libre » d’Alti

Pour accompagner ses clients et garantir la réussite de leurs projets Open Source, Alti a lancé son offre « Monde Libre ».

Lire la suite

vendredi 22 mai 2009

Découvrir les Méthodes Agiles ou approfondir ses connaissances : liens utiles

Pour ouvrir le bal des billets sur l’agilité, quelques liens et références utiles pour démarrer sur le sujet, ou se rafraîchir les idées ! (bien sûr, vous trouvez tout ça et peut-être mieux en cherchant un peu… mais quand il n’y a qu’à cliquer c’est pas mal aussi :-) ).

Lire la suite

jeudi 21 mai 2009

Les entreprises à la conquête de l’open source

Pourquoi les entreprises s’intéressent-elles tant à l’Open Source aujourd’hui ? Ce n’est pas par idéologie mais plutôt pour des raisons d’efficacité, de coût, d’opportunité métier, de time to market et de création de valeur.

Lire la suite

lundi 30 mars 2009

Les contrôles DataGrid / ListBox et le DataBinding

Dans ce chapitre, nous allons voir une des parties essentielles d’une technologie, la présentation des données et la manière d’interagir avec celles-ci et l’utilisateur. Silverlight 2 met à notre disposition deux contrôles permettant d’afficher des données de type listes.

Lire la suite

mercredi 25 mars 2009

Le plein de vidéos pour se former à WPF, Linq, Visual Studio 2008 etc...

Le Site de référence WindowsClient.net pour les développement "client lourd" (comprendre Winforms et WPF) vient de mettre à disposition de tous plusieurs vidéos pour se former :

De quoi s'occuper pendant les longues nuits d'hiver (profitez-en vite, le printemps arrive la semaine prochaine !)

dimanche 22 mars 2009

Silverlight 3 beta 1 - On peut jouer avec

On y est, depuis le MIX 2009 de Las vegas qui s'est déroulé cette semaine, Microsoft a devoilé les outils et nouvelles fonctionnalités prévues dans Silverlight 3. Petite pause dans notre série d'articles sur Silverlight 2 pour parler de cette sortie.

Lire la suite

samedi 21 mars 2009

Silverlight 2 Overview - DeepZoom et l'application DepZoom Composer

DeepZoom est une des fonctionnalités intéressantes de Silverlight. Elle permet d’afficher des images et photos de haute qualité avec la possibilité de zoomer...

Lire la suite

Silverlight 2 Overview - Silverlight Streaming et le contrôle MediaElement

Silverlight Streaming est une solution proposée gratuitement par Microsoft afin d’exploiter les capacités de Silverlight...

Lire la suite

Silverlight 2 Overview - Layout et containers

Silverlight 2 nous offre quelques solutions intéressantes pour positionner nos contrôles dans l’interface utilisateur (UI).

Lire la suite

mercredi 18 mars 2009

JavaFX et la localisation

La localisation d'une application JavaFX est très simple et assez similaire à Java. Depuis une application écrite en JavaFX, on va chercher les valeurs localisées dans un fichier de properties.

La ou cela change, c'est que l'on utilise un fichier de properties JavaFX et que JavaFX permet de récupérer très simplement ces valeurs dans le bon fichier de properties correspondant à la locale.

Lire la suite

jeudi 12 mars 2009

JavaFX par l’exemple

Si vous voulez voir ce qu’on peut faire facilement en JavaFX, je vous recommande ces 3 sites :

http://jfxstudio.wordpress.com/
http://blogs.sun.com/rakeshmenonp/ , le blog de Rakesh Menon
http://learnjavafx.typepad.com/weblog/ , le blog de Jim Weaver

Ils sont remplis de démos et souvent avec le code source !!

mercredi 31 décembre 2008

Joyeuses fêtes !!!

On a à peine récupéré de Noël que la nouvelle année pointe déjà le bout de son nez... Le blog Alti Expertease vous souhaite à tous une excellente année 2009 !! Boooonne annéééééée ! :)

vendredi 28 novembre 2008

Le futur de C#

De nombreux blogs ont déjà relayé les nouvelles fonctionnalités de C# 4.0 (rapidement: le nouveau mot clé "dynamic", les paramètres nommés et optionnels, la co-variance et contra-variance...), je ne vais donc pas m'étaler davantage sur le sujet... Ce post a pour objectif de regarder un peu plus loin que cela, et de faire des hypothèses sur les futures-futures versions ! On sait déjà depuis la PDC 2008 (qui s'est déroulée fin Octobre) ce que seront les deux prochains thèmes du langage... Le premier thème sera le méta-programming: des exemples de ce qui pourrait apparaître ont déjà été dévoilés lors de la PDC08 à la fin de la présentation d'Anders Hejlsberg (que je vous conseille fortement de regarder si vous ne l'avez pas déjà fait).

Le second thème est la cible de cet article :)
Les membres de la C# Team nous en avaient parlé longuement, on regrettera donc l'absence de nouveautés dans C# 4.0 concernant "l'éléphant dans la pièce" (dixit Anders), j'ai nommé le parallélisme, qui auraient pu apparaître sous la forme de nouveaux mots clés pour spécifier l'isolation tels l'immutabilité ou la pureté (c'est aujourd'hui possible via des attributs disponibles publiquement dans la BCL à partir de .NET 4.0, mais ils ne sont pas utilisés à leur juste valeur: pas de vérification statique à la compilation par exemple).

Quel est le rapport entre le parallélisme et ces deux concepts me direz-vous ? Et bien pour pouvoir paralléliser une tâche il faut la découper pour pouvoir assigner chaque morceau à une unité de traitement (un processeur ou un "coeur"). Pour pouvoir découper une tâche il faut s'assurer que ces "morceaux" n'ont pas d'effets les uns sur les autres, autrement dit qu'ils n'ont pas d'effet de bords, et c'est là qu'entre en jeu la pureté et l'immutabilité. On dit d'une méthode qu'elle est pure quand son execution ne modifie pas l'instance de l'objet qui l'execute (qui a dit const ?). On dit d'un type qu'il est immutable lorsqu'aucun champ ni propriété d'une instance de ce type n'est modifiable. Par déduction un type immutable ne peut contenir que des méthodes pures. Par exemple imaginons une classe Point toute bête avec juste un X et un Y. Voici deux manières très différentes conceptuellement d'implémenter cette classe:

public struct Point
{
  public Point(double x, double y)
  {
      this.X = x;
      this.Y = y;
  }

  public double X { get; set; }
  public double Y { get; set; }

  public void Move(double dx, double dy)
  {
      this.X += dx;
      this.Y += dy;
  }
}
public struct Point
{
  readonly double x, y;

  public Point(double x, double y)
  {
      this.x = x;
      this.y = y;
  }

  public double X  { get { return x; } }
  public double Y  { get { return y; } }

  public Point Move(double dx, double dy)
  {
      return new Point(x + dx, y + dy);
  }
}

La première version est classique. La seconde l'est moins: aucun champ n'est modifiable. On créé un objet différent à chaque modification. On peut donc dire de ce type qu'il est immutable: une instance de ce type ne sera jamais modifiée. Cette seconde implémentation vient directement du monde des langages dits "fonctionnels" (dans un monde purement fonctionnel aucune affectation/mutation n'est permise). L'immutabilité et la pureté sont deux concepts qui demandent donc un effort de la part du développeur: un programme ne pourra jamais être parallelisé de manière automatique, avec un flag de compilation par exemple (si vous souhaitez avoir un aperçu de types immutables complexes, accrochez-vous et lisez cette suite de posts fabuleux d'Eric Lippert).

Un ou plusieurs nouveaux mots clés pourraient donc permettre au développeur, dans une future version hypothétique de C#, de spécifier explicitement sa volonté de rendre le code parallélisable pour qu'à la compilation des erreurs soient générées si les conditions de pureté et/ou d'immutabilité n'étaient pas rencontrées. Personnellement je pense que le mot clé "readonly" sera étendu aux classes et aux méthodes... en prends les paris ? Rendez-vous dans 4 ans... ou peut-être en 2009 puisqu'une nouvelle PDC a été annoncée pour 2009 ! Etrange quand on sait que les PDCs se déroulent normalement tous les 2 ans... On vit une époque formidable ;-)

Alti – Expertease

Crée en 2005, l’entité ALTI Expertease rassemble l’ensemble des experts et architectes du pôle technologies d’Alti.
Fort d'une trentaine de consultants, ALTI Expertease accompagne les clients d’Alti dans le choix et la mise en œuvre de technologies de plus en plus complexes.