Maison >développement back-end >Tutoriel C#.Net >Introduction à plusieurs technologies RIA

Introduction à plusieurs technologies RIA

巴扎黑
巴扎黑original
2017-08-03 13:19:282818parcourir



Rich Internet Application (RIA), une nouvelle architecture d'application Web, qui combine la bonne expérience utilisateur des logiciels de bureau avec le déploiement facile d'applications Web, a rapidement gagné la faveur des entreprises. Ces dernières années, les principaux fournisseurs de plateformes de développement ont successivement lancé de nouvelles technologies pour soutenir le développement de RIA, d'Ajax à SilverLight, d'Apollo et AIR à Flex et Flash, de JavaFX à Laszlo, diverses technologies sont apparues sur scène, dans l'espoir d'attirer l'attention de tous. se concentrer.

Cependant, en tant que fournisseurs de développement de systèmes d'applications, équipes de développement et développeurs, dans la tendance RIA, quel type de technologie devrions-nous choisir pour mieux construire des systèmes RIA est devenu une question que nous devons examiner attentivement.

AJAX

Ajax utilise en fait de nouvelles techniques pour combiner certaines technologies anciennes afin de rendre l'interface utilisateur de l'application Web plus interactive et grandement améliorée.

En Ajax, XMLHttpRequest est le cœur et la source des puissantes fonctions d'Ajax. C'est la différence entre Ajax et la technologie d'interface Web traditionnelle. Grâce à XMLHttpRequest, le HTML (DHTML) du navigateur et les données côté serveur sont séparés. Utilisez JavaScript pour manipuler le client afin d'accéder au serveur afin d'obtenir des données et modifiez la structure HTML pour afficher les données. Des exemples classiques d'utilisation d'Ajax sont Gmail et Google Maps.

Flash/Flex/Laszlo

Flex est un framework d'application lancé pour répondre aux applications de niveau entreprise. Flex fournit des méthodes et des processus de programmation déclaratifs basés sur des normes pour développer et déployer la couche de présentation des applications clientes riches. Les développeurs Flex utilisent MXML intuitif basé sur XML pour définir des interfaces utilisateur riches et ActionScript (un langage de script orienté objet) pour écrire la logique du programme.

La langue est traduite par le serveur Flex en une application client au format SWF, fonctionnant sous FlashPlayer. Actuellement, Flex a publié la version bêta de Flex 3.0.

Laszlo est un environnement de développement RIA open source. Lors de l'utilisation de la plateforme Laszlo, les développeurs n'ont qu'à écrire un langage de description appelé LZX (qui intègre XML et JavaScript), et la plateforme Laszlo exécutée sur le serveur d'applications J2EE le compilera dans un fichier au format swf et le transmettra au client pour affichage. . Dans les projets futurs, Laszlo pourra également compiler LZX en code natif Java ou .NET, améliorant ainsi considérablement l'efficacité opérationnelle. Dans la dernière version de Laszlo 4.0, les développeurs peuvent choisir si Laszlo est finalement affiché au format Flash ou DHTML.

Du point de vue de l'emplacement d'exécution, Flex et Laszlo sont des technologies côté serveur, similaires aux mécanismes d'exécution d'ASP, ASP.NET, JSP et PHP que tout le monde connaît. C'est simplement que les technologies de pages Web dynamiques telles que ASP analysent les éléments d'interface en HTML et les envoient au navigateur du client pour affichage ; tandis que Flex et Laszlo analysent les éléments d'interface en fichiers swf binaires et les exécutent dans le plug-in FlashPlayer du navigateur.

AIR

AIR était autrefois connu sous le nom d'Apollo. L'explication officielle d'Adobe est la suivante : il s'agit d'un environnement d'exploitation multi-opérationnel qui permet aux développeurs d'utiliser. Utilisez vos compétences antérieures en développement Web pour créer une application Internet riche et la déployer sur le bureau pour l'exécuter. De manière générale, AIR est Adobe intégrant des technologies existantes, telles que Flash, PDF, JavaScript, XML et ActionScript, et fournissant un environnement d'exécution client qui permet aux développeurs de développer des programmes de bureau pouvant accéder aux ressources Internet. Essentiellement, AIR est un environnement d'exécution d'applications de bureau qui permet à Flash (ou Ajax) de s'exécuter indépendamment du navigateur.

Pour développer des applications AIR, c'est également très simple. Vous avez le choix entre deux technologies : une, utilisant la technologie HTML+JS, et deux, utilisant Flex+Flash. Les outils de développement pouvant être utilisés sont des outils permettant de développer les technologies ci-dessus, tels que : flexbuilder, flash IDE, Eclipse, Notepad, etc.

Les avantages et les inconvénients de l'utilisation d'AIR pour développer RIA sont similaires à ceux de Flex. Le plus grand avantage est qu'il peut s'exécuter indépendamment du navigateur en tant que programme de bureau indépendant et n'est pas soumis aux restrictions de sécurité du navigateur. peut avoir plus d’autorisations pour accéder aux ressources locales.

Actuellement, AIR est encore en phase de test et de nombreuses fonctionnalités ne sont pas encore complètes. Je pense qu'après la sortie de la version officielle, nous pourrons nous attendre à d'autres fonctionnalités.

WPF

Depuis le début, l'interface utilisateur d'une application peut être développée avec différentes technologies, du MFC au VB, de Windows Forms au HTML+JS. Pour les développeurs, cela nécessite d’utiliser différentes technologies de développement d’interfaces pour différents types d’applications. Avec l'émergence des interfaces multimédia 2D ou 3D comme Flash, les choix se multiplient. Si vous souhaitez utiliser une technologie pour développer des interfaces pour diverses applications, cela constituera un défi de taille.

Windows Présentation Foundation (WPF), initialement nommé « Avalon » et actuellement publié en tant que composant de .NET 3.0, est conçu pour résoudre ce problème.

WPF fournit une base commune pour les clients de bureau et les clients de navigateur, simplifiant considérablement le développement d'applications pour les deux. WPF adopte une approche plus moderne et prend en charge la vidéo, l'animation, les graphiques 2D ou 3D et divers types de documents, permettant aux utilisateurs de traiter les informations de manière complètement nouvelle. De plus, WPF fournit une base commune pour les clients de bureau et les clients de navigateur, simplifiant considérablement le développement d'applications pour les deux.

En tant que technologie d'interface de nouvelle génération de Microsoft, la plus grande fonctionnalité de WPF est la séparation de la description de la disposition de l'interface et du code logique de l'interface. WPF sépare le travail des concepteurs d'interfaces professionnels de celui des développeurs de programmes professionnels et leur facilite la tâche grâce au XAML (Extensible Application Markup Language, un langage basé sur XML qui permet aux interfaces utilisateur d'être spécifiées de manière déclarative plutôt que dans le code). applications avec des interfaces époustouflantes et des fonctions puissantes.

Dans le même temps, Microsoft propose différents outils pour différentes tâches. Pour les concepteurs d'interfaces, il lance Expression Studio ; pour les développeurs de programmes, il lance Visual Studio 2008 (RTM devrait être publié d'ici la fin de cette année). ).

En fournissant une prise en charge graphique plus puissante, WPF rend possible une gamme de visualisation de données qui n'était pas possible avec Windows Forms ou d'autres technologies antérieures. WPF fournit également la base de la spécification XML Paper (XPS), qui définit un format standard pour l'affichage, la distribution et l'impression de documents au format fixe.

Silverlight

Silverlight portait à l'origine le nom de code "WPF/E", ce qui signifie que WPF s'exécute partout, et il s'agit d'un sous-ensemble de WPF. Silverlight est connu par la communauté sous le nom de Flash Killer produit par Microsoft.

La définition officielle est la suivante : "Silverlight est un plug-in multi-navigateurs et multiplateforme qui apporte à Internet la nouvelle génération d'expériences multimédias basées sur .NET et d'applications interactives riches." Silverlight fournit un modèle de programmation flexible, prend en charge AJAX, VB, C#, Python, Ruby et d'autres langages, et est intégré à l'application Web existante pour accéder aux informations DOM. La prise en charge de la technologie multimédia intégrée permet de lire des fichiers multimédias à un coût très faible.

Actuellement, Silverlight a publié deux versions, 1.0 bêta et 1.1alpha. Peut fonctionner sur les plates-formes Windows et Mac. Parallèlement, le projet Mono développe également activement Moonlight, une implémentation Silverlight sous Linux.

XUL

XUL est un langage d'interface utilisateur basé sur XML issu du projet open source de Mozilla. Il peut être utilisé pour créer des applications de formulaires pouvant s'exécuter non seulement sur le navigateur Mozilla, mais également sur d'autres moteurs de rendu, tels que Zulu (un composant FlashMX) et Thinleys (une implémentation Java). Les moteurs de description XUL sont très petits (moins de 100 Ko) et peuvent utiliser des données XML ou générer des données XML. Un inconvénient majeur de XUL est qu’il ne bénéficie pas actuellement du support d’une entité commerciale majeure. Les plus grandes forces de XUL sont son intégration avec le moteur Gecko (ouvrant la porte à une multitude de standards Web) et le fait qu'il s'agit d'un langage très expressif et concis comparé à la plupart des autres langages de description d'interface utilisateur XML.

Actuellement, XUL peut être intégré au navigateur Mozilla (ou FireFox) et s'exécuter indépendamment du navigateur via un environnement d'exploitation XULRunner.

JavaFX

"JavaFX est un environnement d'exécution complet construit sur la technologie Java qui peut être utilisé pour fournir des ordinateurs de bureau, des appareils mobiles, un Internet riche Applications (RIA) pour les environnements tels que les appareils portables et les téléviseurs", SUN définit JavaFX. JavaFX est la technologie de développement de SUN qui entre dans le domaine du RIA. Elle comprend deux parties, JavaFXScript et JavaFX Mobile, elle utilise un nouveau langage de script, s'appuie sur le runtime Java SE/ME et utilise Java2D et SwingAPI pour exécuter RIA sur des ordinateurs de bureau ou des appareils mobiles. . application.

Comparaison de trois types de technologies RIA

Grâce à l'introduction des différentes technologies de développement RIA ci-dessus, nous pouvons voir que leurs concepts respectifs sont différents Les environnements d'exploitation sont également différents. De manière générale, la technologie de développement RIA est divisée en trois catégories :

1. L'ensemble de la catégorie Navigateur s'exécute dans le navigateur et s'appuie sur la technologie HTML+CSS+JavaScript traditionnelle pour obtenir les performances et le contrôle de l'interface.

2. Classe de plug-in de navigateur, RIA s'exécute dans le navigateur via des plug-ins. Le programme en cours d'exécution a un format d'exécution spécifique au fabricant et nécessite un environnement d'exécution spécifique.

3. De type bureau, RIA s'exécute directement sur le bureau sans le navigateur. Il est très similaire aux programmes de bureau courants, mais peut accéder aux ressources Internet et présente les caractéristiques d'un déploiement facile et de mises à jour simples.

Parmi les trois catégories de technologies, la technologie des navigateurs est la technologie la plus directe pour développer RIA. Ce type de technologie convient aux développeurs de logiciels qui ont créé des applications Web.

La nouvelle technologie de bureau est complètement nouvelle, exploitant pleinement la technologie, les compétences et les concepts du développement de bureau, et combinant les avantages de WebApplication pour un déploiement facile et une installation instantanée. Ce type de technologie convient aux développeurs d'applications Windows.

Les plug-ins de navigateur sont un compromis entre la technologie des navigateurs et les nouveaux bureaux. Ils utilisent non seulement les nouvelles technologies pour créer des interfaces riches, mais s'intègrent également partiellement aux technologies Web existantes.

Quelle technologie RIA vous convient

RIA est une direction importante pour le développement futur de systèmes d'applications de nombreuses sociétés de développement de logiciels, équipes de développement et. développeurs Tout le monde espère trouver une technologie qui lui convient à l'avenir, afin d'obtenir deux fois le résultat avec la moitié de l'effort. Tout en améliorant l'efficacité du développement et en réduisant les coûts de développement, ils peuvent également fournir aux clients des systèmes logiciels dotés d'une expérience riche et de fonctions complètes. .

Bien que nous ayons présenté ci-dessus diverses technologies ainsi que leurs avantages et inconvénients, et que nous les ayons classées, pour répondre à la question « Laquelle devrions-nous choisir ? », nous devons également considérer les situations suivantes ?

Tout d'abord, notre propre situation :

◆ Actuellement, vos capacités techniques sont-elles principalement en développement Web ou en développement Windows ?

◆ Le type de fonction de l'application que vous développez actuellement est-il principalement axé sur la présentation de contenu ou le traitement de transactions ?

◆ Quelle technologie de fabricant ou d’organisation utilisez-vous actuellement principalement ? .NET ou JAVA ou d'autres technologies Web ?

◆ Développez-vous actuellement RIA ou quelque chose de similaire à RIA ?

◆ Quel type de technologie de développement RIA utilisez-vous actuellement ?

La seconde consiste à considérer les critères de sélection de la technologie :

◆ Coût d'apprentissage, efficacité du développement

◆ Adéquation au type d'application

◆ Déploiement de l'environnement d'exploitation Coût

◆ Efficacité opérationnelle

◆ Fonctionnalités fonctionnelles complètes

◆ Coût des licences technologiques et coût de déploiement du serveur, open source, gratuit ou payant

◆ Officiel et Support technique de la communauté

◆ Outils de développement complets

◆ Composants d'interface utilisateur complets

◆ Fonctionnalités multiplateformes

Enfin, nous basons nos efforts sur notre circonstances et critères spécifiques de sélection des technologies, qui peuvent permettre un positionnement et un classement de ces technologies.

Comparaison basée sur les coûts de déploiement de l'environnement d'exploitation technique (de faible à élevé) :

Ajax > Flex/Laszlo> XUL >WPF >

En termes de coûts de licence technologique :

Les open source incluent : Ajax, Laszlo, XUL, JavaFX

Les gratuits incluent : Silverlight, WPF, AIR

Payant ceux Il y a : Flex

Du point de vue du support technique : Il ne fait aucun doute que Silverlight et WPF bénéficieront du meilleur support officiel. La technologie officielle de Flex s'améliore également et d'autres technologies reposent principalement sur le support de la communauté.

En ce qui concerne les outils de développement : Silverlight et WPF peuvent être utilisés comme les outils les plus puissants, Flex, AIR et Laszlo disposent également d'excellents IDE. Les outils de développement de JavaFX ne sont pas encore clairs et Ajax en dépend. sur l'implémentation spécifique. Cependant, les outils de développement pour XUL ont mis du temps à progresser.

En regardant les composants d'interface utilisateur qui peuvent être utilisés : WPF et Silverlight doivent être étendus par eux-mêmes ou utiliser des composants tiers ; Flex, AIR et Laszlo fournissent tous un riche ensemble de composants d'interface utilisateur, et XUL lui-même en a un ensemble de composants d'interface utilisateur fondamentalement suffisants, JavaFX s'appuie sur la boîte à outils d'interface utilisateur fournie avec JRE.

Pour les fonctionnalités multiplateformes et la compatibilité, nous pouvons également obtenir un classement :

Flex/Laszlo > XUL > AIR> >En bref, pour choisir une technologie de développement RIA qui vous convient, il faut peser tous les aspects. Non seulement vous devez être clair sur votre situation et réfléchir à vos besoins futurs, mais vous devez également connaître les différences, les avantages et les inconvénients de chaque technologie afin de pouvoir trouver celle qui vous convient.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn