eFace, XAML et WPF pour JAVA
8 novembre 2008Que est ce que WPF ?
WPF (Windows Presentation Foundation) de Microsoft est le système graphique windows Vista. C’est une couche qui fait partie du framework .NET chargé de gérer les interfaces graphiques nouvelles générations (exucuses au anti-Microsoft, mais il faut bien avouer que le framework .NET est une prouesse technologique).
Le but de WPF est de fournir un système unique de description d’interfaces entre applications standards (bureau) et applications web (navigateur, grâce à Silverlight). Ceci permet notamment de faire des interfaces très plaisantes comparés à ce qu’on peut faire grâce aux WinForms et WebForms.
Les interfaces WPF sont décrites grâce à un nouveau langage de description d’interfaces, le XAML de Microsotf – eXtensible Application Markup Language -.
Le problème :
Personnellement, je trouve que XAML nous permet de décrire des interfaces très riches et très attrayantes (imaginez un genre de Flash pour applications bureau), mais je me suis toujours trouvé face au problème de la portabilité. Bien que Microsoft détienne plus de 90% des parts de marchés mondial des OS et que je soit un utilisateur Multi-OS (principalement MAC OS), une application portable entre les différents systèmes sans avoir à refaire tout le code est de loin la meilleure solution.
La solution, eFace :
JAVA est de loin le meilleur langage pour développer des applications portables entre OS. XAML est un langage de description d’interfaces très intéressant (surtout grâce à des outils tes que Microsoft Expression Blend), pourquoi ne pas utiliser les deux ?
C’est désormais possible, grâce à eFace : Un framework de présentation indépendant de la plateforme et de la technologie. Le cœur de eFace est nommé UPF Unified Presentation Framework, où vous décrivez vos interfaces grâce à un langage de balises XML compatible à 100% avec XAML de Microsoft (mais pas le contraire). Votre application aura donc le même code source mais sera affiché grâce au moteur de rendu spécifique de la plateforme ou elle s’exécute (WPF pour Windows, Swing ou SWT pour JAVA …).
Ceci parait trés intéréssant, reste à savoir jusqu’à quel point les interfaces WPF seront compatibles avec eFace ?

Chargement ...


softgine
le 10 novembre 2008 à 10:22Merci riad pour l’info,
.
sans oublié que eface est Un framework de présentation indépendant de la plateforme et de la technologie « car il s’agit d’une solution 100% Java qui est de son tour un framework indépendant »
D’après les Screenshots, j’ai remarqué que les comparaisons du rendu d’affichage ne traitent que la « WPF .Net 3″ avec le « SWT ». sans oublié aussi que le « SWT » est une approche intermédiaire qui utilise autant que possible les composants du système (SWT est écrit en Java mais il utilise la technologie JNI pour appeler les composants natifs donc on peut dire qu’il dépend du système).
Donc, comme tu la déjà dit riad dans le dernier paragraphe. il fallait tester eface avec swing ( presque exclusivement écrite en Java) et la WPF. à tester !! .
C’est très intéressant. Merci une 2ème fois riad
.
youknowriad
le 10 novembre 2008 à 12:55@SoftGine Bain ya pas de quoi mon ami, je suis la pour ça lol. Et sinon vu que je sais que tu es un mordu de JAVA, si jamais tu teste eFAce, n’hésite pas à nous faire part de ton expérience.
Tema
le 10 novembre 2008 à 23:27Toujours intéressants tes articles. Comme tu l’as déjà dit WPF et un framework de présentation unifié qui a su réduire l’écart qui existait entre le développement WEB et le développement des applications Windows et c’est bel et bien grâce a la puissance de la programmation déclarative (XAML) au développement d’interface Windows. Et a fin de permettre une meilleure collaboration entre les designers et les développeurs Microsoft a fourni une gamme de produits: la gamme Expression . Reste le problème de portabilité alors si eFace arrive à le résoudre ça sera géniale :bien: .
bassim
le 11 novembre 2008 à 18:43salut,
j’ai essayé le truc, et ça marche bien pour un exemple basique, mais dès que j’ai voulu intégrer une image sur un bouton, ça ne marche plus. La technologie est encore jeune mais elle promet beaucoup, quand à WPF il offre des perspectives énormes pour les graphistes, rien à voir avec Swing qui est difficilement personnalisable. quand je vois le couple WPF/XAML, je me dis que JavaFx « sera » déjà à sa sortie vraiment à la traine.
Sinon petite précision, il semblerait que eFace utilise son propre moteur de rendu qui vient se mettre au dessus de la couche SWT (et non WPF pour Windows, à confirmer)
salut Tema, eFace ne va pas résoudre le problème de la portabilité de .Net puisque il est fait pour Java.
Merci pour l’info Riad
bassim
le 11 novembre 2008 à 19:00Petit rectificatif: SWT est dépendant de la plateforme, donc je retire ce que j’ai dit
par contre, pour Swing je vois pas comment ils vont faire, puisque il est pratiquement indépendant de la plateforme
Tema
le 11 novembre 2008 à 23:52Salut bassim, je voulais pas insinuer le problème de la portabilité de .NET (peut être que je me suis mal exprimé ) sinon merci
softgine
le 12 novembre 2008 à 10:58salut,
Puisque eface n’utilise que SWT qui dépend du système et aussi la WPF pour le windows , donc eface ne fonctionne (actuellement) que sur windows et elle utilise le rendu de la WPF avec celle de SWT (sur windows). Alors eface n’est pas indépendante (actuellement), je vois que eface sera efficace (et indépendante) avec la disponibilité du .Net sur les autres plateforme autrement dit « soit indépendante » et qu’elle utilise le swing comme un moteur de rendu qui représente le plus un moteur de rendu indépendant.
bassim
le 12 novembre 2008 à 11:35Salut Softgine,
Puisque Windows Vista intègre WPF par défaut (WinFS), y aura pas de problème de ce coté là. Maintenant, sur Linux, s’il faut installer Java et Mono pour faire marcher une application graphique, je doute que ça plaise aux développeurs java (moi en premier), et j’imagine les problèmes de performance.
youknowriad
le 12 novembre 2008 à 14:12@Bassim et Softgine eFace utilise WPF concernant Windows mais concernant les autres OS, il se base sur SWT qui lui même se base sur les OS donc il n y a pas à installer mono pour faire marcher l’appli, il suffit d’installer la machine virtuelle comme tout appli JAVA. Mais comme j’ai déja dit, pour pouvoir juger de la performance il faut voir à quel point les fonctionnalités offertes par la WPF sont intégré dans la UPF.