Heim > Backend-Entwicklung > C#.Net-Tutorial > Einführung in mehrere RIA-Technologien

Einführung in mehrere RIA-Technologien

巴扎黑
Freigeben: 2017-08-03 13:19:28
Original
2806 Leute haben es durchsucht



Rich Internet Application (RIA), eine neue Webanwendungsarchitektur, die die gute Benutzererfahrung von Desktop-Software mit der einfachen Bereitstellung von Webanwendungen kombiniert, gewann schnell die Gunst von Unternehmen. In den letzten Jahren haben große Anbieter von Entwicklungsplattformen nacheinander neue Technologien zur Unterstützung der RIA-Entwicklung auf den Markt gebracht, von Ajax bis SilverLight, von Apollo und AIR bis Flex und Flash, von JavaFX bis Laszlo sind verschiedene Technologien auf der Bühne erschienen und hoffen, die Aufmerksamkeit aller auf sich zu ziehen Fokus.

Als Anbieter von Anwendungssystementwicklungen, Entwicklungsteams und Entwickler ist jedoch die Frage, welche Art von Technologie wir wählen sollten, um RIA-Systeme besser zu bauen, im RIA-Trend zu einer Frage geworden, die wir sorgfältig prüfen müssen.

AJAX

Ajax verwendet tatsächlich neue Techniken, um einige alte Technologien zu kombinieren, um die WebApplication-Benutzeroberfläche interaktiver und erheblich verbessert zu machen.

In Ajax ist XMLHttpRequest der Kern und die Quelle der leistungsstarken Funktionen von Ajax. Dies ist der Unterschied zwischen Ajax und der herkömmlichen Webschnittstellentechnologie. Durch XMLHttpRequest werden das HTML (DHTML) im Browser und die serverseitigen Daten getrennt. Verwenden Sie JavaScript, um den Client so zu manipulieren, dass er auf den Server zugreift, um Daten abzurufen, und ändern Sie die HTML-Struktur, um die Daten anzuzeigen. Klassische Beispiele für die Verwendung von Ajax sind Gmail und Google Maps.

Flash/Flex/Laszlo

Flex ist ein Anwendungsframework, das für Anwendungen auf Unternehmensebene entwickelt wurde. Flex bietet standardbasierte, deklarative Programmiermethoden und -prozesse für die Entwicklung und Bereitstellung der Präsentationsschicht von Rich-Client-Anwendungen. Flex-Entwickler verwenden intuitives, XML-basiertes MXML, um umfangreiche Benutzeroberflächen zu definieren, und ActionScript (eine objektorientierte Skriptsprache), um Programmlogik zu schreiben.

Die Sprache wird vom Flex-Server in eine Clientanwendung im SWF-Format übersetzt, die im FlashPlayer ausgeführt wird. Derzeit hat Flex die Betaversion von Flex 3.0 veröffentlicht.

Laszlo ist eine Open-Source-RIA-Entwicklungsumgebung. Bei Verwendung der Laszlo-Plattform müssen Entwickler lediglich eine Beschreibungssprache namens LZX schreiben (die XML und JavaScript integriert), und die auf dem J2EE-Anwendungsserver ausgeführte Laszlo-Plattform kompiliert sie in eine Datei im SWF-Format und überträgt sie zur Anzeige an den Client . In zukünftigen Plänen kann Laszlo LZX auch in nativen Java- oder .NET-Code kompilieren und so die Betriebseffizienz erheblich verbessern. In der neuesten Version von Laszlo 4.0 können Entwickler wählen, ob Laszlo letztendlich als Flash oder DHTML angezeigt wird.

Aus Sicht des Betriebsstandorts sind Flex und Laszlo serverseitige Technologien, ähnlich den Betriebsmechanismen von ASP, ASP.NET, JSP und PHP, mit denen jeder vertraut ist. Es ist nur so, dass dynamische Webseiten-Technologien wie ASP Schnittstellenelemente in HTML analysieren und zur Anzeige an den Browser des Clients senden, während Flex und Laszlo Schnittstellenelemente in binäre SWF-Dateien analysieren und sie im FlashPlayer-Plug-in im Browser ausführen.

AIR

AIR war früher als Apollo bekannt: Es handelt sich um eine betriebsübergreifende Betriebsumgebung, die Entwicklern die Nutzung ermöglicht Nutzen Sie Ihre bisherigen Kenntnisse in der Webentwicklung, um eine Rich-Internet-Anwendung zu erstellen und diese zur Ausführung auf dem Desktop bereitzustellen. Im Allgemeinen bedeutet AIR, dass Adobe bestehende Technologien wie Flash, PDF, JavaScript, XML und ActionScript integriert und eine Client-Laufzeitumgebung bereitstellt, die es Entwicklern ermöglicht, Desktop-Programme zu entwickeln, die auf Internetressourcen zugreifen können. Im Wesentlichen handelt es sich bei AIR um eine Desktop-Anwendungsumgebung, die es ermöglicht, Flash (oder Ajax) unabhängig vom Browser auszuführen.

Um AIR-Anwendungen zu entwickeln, ist es auch sehr einfach. Es stehen zwei Technologien zur Auswahl: eine mit HTML+JS-Technologie und zwei mit Flex+Flash. Bei den Entwicklungstools, die verwendet werden können, handelt es sich um Tools zur Entwicklung der oben genannten Technologien, z. B.: Flexbuilder, Flash-IDE, Eclipse, Notepad usw.

Die Vor- und Nachteile der Verwendung von AIR zur Entwicklung von RIA ähneln denen von Flex. Der größte Vorteil besteht darin, dass es unabhängig vom Browser als unabhängiges Desktop-Programm ausgeführt werden kann und keinen Browser-Sicherheitsbeschränkungen unterliegt. Sie können mehr Berechtigungen für den Zugriff auf lokale Ressourcen erhalten.

Derzeit befindet sich AIR noch in der Testphase und viele Funktionen sind noch nicht vollständig. Ich glaube, dass es nach der Veröffentlichung der offiziellen Version weitere Funktionen geben wird, auf die wir uns freuen können.

WPF

Die Benutzeroberfläche einer Anwendung kann durchgehend mit unterschiedlichen Technologien entwickelt werden, von MFC bis VB, von Windows Forms bis HTML+JS. Für Entwickler bedeutet dies, dass sie unterschiedliche Schnittstellenentwicklungstechnologien für unterschiedliche Anwendungstypen verwenden müssen. Mit dem Aufkommen multimedialer 2D- oder 3D-Schnittstellen wie Flash gibt es immer mehr Auswahlmöglichkeiten. Wenn man mit einer Technologie Schnittstellen für verschiedene Anwendungen entwickeln möchte, ist das eine große Herausforderung.

Windows Presentation Foundation (WPF), ursprünglich mit dem Codenamen „Avalon“ und derzeit als Komponente von .NET 3.0 veröffentlicht, soll dieses Problem lösen.

WPF bietet eine gemeinsame Grundlage für Desktop-Clients und Browser-Clients und vereinfacht so die Anwendungsentwicklung für beide erheblich. WPF verfolgt einen moderneren Ansatz und unterstützt Videos, Animationen, 2D- oder 3D-Grafiken sowie verschiedene Arten von Dokumenten, sodass Benutzer Informationen auf völlig neue Weise verarbeiten können. Darüber hinaus bietet WPF eine gemeinsame Grundlage für Desktop-Clients und Browser-Clients und vereinfacht so die Anwendungsentwicklung für beide erheblich.

Als Microsofts Schnittstellentechnologie der nächsten Generation ist das größte Merkmal von WPF die Trennung von Schnittstellenlayoutbeschreibung und Schnittstellenlogikcode. WPF trennt die Arbeit professioneller Schnittstellendesigner von der Arbeit professioneller Anwendungsentwickler und erleichtert ihnen durch XAML (Extensible Application Markup Language, eine XML-basierte Sprache, die es ermöglicht, Benutzeroberflächen deklarativ statt im Code zu spezifizieren) die Zusammenarbeit bei der Entwicklung Anwendungen mit beeindruckenden Schnittstellen und leistungsstarken Funktionen.

Gleichzeitig stellt Microsoft verschiedene Tools für unterschiedliche Aufgaben bereit und bringt für Programmentwickler Visual Studio 2008 auf den Markt (RTM wird voraussichtlich Ende dieses Jahres veröffentlicht). ).

Durch die Bereitstellung einer leistungsfähigeren Grafikunterstützung ermöglicht WPF eine Reihe von Datenvisualisierungen, die mit Windows Forms oder anderen früheren Technologien nicht möglich waren. WPF bildet außerdem die Grundlage für die XML Paper Specification (XPS), die ein Standardformat zum Anzeigen, Verteilen und Drucken von Dokumenten mit festem Format definiert.

Silverlight

Silverlight hatte ursprünglich den Codenamen „WPF/E“, was bedeutet, dass WPF onEverywhere ausgeführt wird, und es ist eine Teilmenge von WPF. Silverlight ist in der Community als der von Microsoft produzierte Flash Killer bekannt.

Die offizielle Definition lautet: „Silverlight ist ein browser- und plattformübergreifendes Plug-in, das die nächste Generation von .NET-basierten Medienerlebnissen und umfangreichen interaktiven Anwendungen in das Netzwerk bringt.“ Silverlight bietet ein flexibles Programmiermodell, unterstützt AJAX, VB, C#, Python, Ruby und andere Sprachen und ist in die bestehende WebAnwendung integriert, um auf die DOM-Informationen zuzugreifen. Dank der integrierten Multimedia-Technologieunterstützung können Mediendateien zu sehr geringen Kosten abgespielt werden.

Derzeit hat Silverlight zwei Versionen veröffentlicht, 1.0 Beta und 1.1Alpha. Kann auf Windows- und Mac-Plattformen ausgeführt werden. Gleichzeitig entwickelt das Mono-Projekt auch aktiv Moonlight, eine Silverlight-Implementierung unter Linux.

XUL

XUL ist eine XML-basierte Benutzeroberflächensprache aus Mozillas Open-Source-Projekt. Es kann zum Erstellen von Formularanwendungen verwendet werden, die nicht nur im Mozilla-Browser, sondern auch auf anderen Rendering-Engines wie Zulu (einer FlashMX-Komponente) und Thinleys (einer Java-Implementierung) ausgeführt werden können. XUL-Beschreibungs-Engines sind sehr klein (weniger als 100 KB) und können XML-Daten verwenden oder XML-Daten generieren. Ein großer Nachteil von XUL besteht darin, dass es derzeit nicht über die Unterstützung eines großen kommerziellen Unternehmens verfügt. Die größten Stärken von XUL sind die Integration in die Gecko-Engine (die die Tür zu einer Vielzahl von Webstandards öffnet) und die Tatsache, dass es sich im Vergleich zu den meisten anderen XML-Sprachen zur Beschreibung von Benutzeroberflächen um eine sehr ausdrucksstarke und prägnante Sprache handelt.

Derzeit kann XUL in den Mozilla- (oder FireFox-)Browser eingebettet werden und unabhängig vom Browser über eine XULRunner-Betriebsumgebung ausgeführt werden.

JavaFX

"JavaFX ist eine vollständige Laufzeitumgebung, die auf Java-Technologie basiert und für die Bereitstellung auf Desktops, Mobilgeräten und Rich Internet verwendet werden kann „Anwendungen (RIA) für Umgebungen wie Handheld-Geräte und Fernseher“, definiert SUN JavaFX. JavaFX ist die Entwicklungstechnologie von SUN, die in den RIA-Bereich einsteigt. Sie besteht aus zwei Teilen: JavaFXScript und JavaFX Mobile. Sie verwendet eine neue Skriptsprache, basiert auf der Java SE/ME-Laufzeit und verwendet Java2D und SwingAPI, um RIA auf Desktop- oder Mobilgeräten auszuführen . Anwendung.

Vergleich von drei Arten von RIA-Technologien

Durch die oben genannte Einführung verschiedener RIA-Entwicklungstechnologien können wir erkennen, dass ihre jeweiligen Konzepte unterschiedlich sind Auch die Betriebsumgebungen sind unterschiedlich. Im Allgemeinen ist die RIA-Entwicklungstechnologie in drei Kategorien unterteilt:

1. Browser-Kategorie: Die gesamte RIA läuft im Browser und basiert auf der traditionellen HTML+CSS+JavaScript-Technologie, um Schnittstellenleistung und -steuerung zu erreichen.

2. Browser-Plug-In-Klasse, RIA wird im Browser über Plug-Ins ausgeführt. Das laufende Programm hat ein herstellerspezifisches Laufformat und erfordert eine bestimmte Laufumgebung.

3. Desktop-Typ, RIA läuft direkt auf dem Desktop ohne Browser. Es ist herkömmlichen Desktop-Programmen sehr ähnlich, kann jedoch auf Internetressourcen zugreifen und zeichnet sich durch eine einfache Bereitstellung und einfache Aktualisierung aus.

Unter den drei Technologiekategorien ist die Browsertechnologie die direkteste Technologie für die Entwicklung von RIA. Diese Art von Technologie eignet sich für Softwareentwickler, die Webanwendungen erstellt haben.

Die neue Desktop-Technologie ist völlig neu, nutzt die Technologie, Fähigkeiten und Konzepte der Desktop-Entwicklung voll aus und kombiniert die Vorteile von WebApplication für eine einfache Bereitstellung und sofortige Installation. Diese Art von Technologie eignet sich für Entwickler von Windows-Anwendungen.

Browser-Plugins sind ein Kompromiss zwischen Browser-Technologie und neuen Desktops. Sie nutzen nicht nur neue Technologien, um umfangreiche Schnittstellen zu erreichen, sondern integrieren sich teilweise auch in bestehende Web-Technologien.

Welche RIA-Technologie ist für Sie geeignet?

RIA ist eine wichtige Richtung für die zukünftige Entwicklung von Anwendungssystemen. Viele Softwareentwicklungsunternehmen, Entwicklungsteams und Entwickler Jeder hofft, in Zukunft eine Technologie zu finden, die zu ihm passt, um mit halbem Aufwand das Doppelte des Ergebnisses zu erzielen und gleichzeitig die Entwicklungseffizienz zu verbessern und die Entwicklungskosten zu senken, aber auch Softwaresysteme mit umfangreicher Erfahrung und vollständigen Funktionen an Kunden liefern zu können .

Obwohl wir oben verschiedene Technologien und ihre Vor- und Nachteile vorgestellt und klassifiziert haben, um die Frage „Welche sollten wir wählen?“ zu beantworten, müssen wir auch die folgenden Situationen berücksichtigen?

Zuerst unsere eigene Situation:

◆ Derzeit liegen Ihre technischen Fähigkeiten hauptsächlich in der Webentwicklung oder Windows-Entwicklung?

◆ Ist der Funktionstyp der Anwendung, die Sie entwickeln, derzeit auf die Präsentation von Inhalten oder die Verarbeitung von Transaktionen ausgerichtet?

◆ Welche Hersteller- oder Organisationstechnologie nutzen Sie derzeit hauptsächlich? .NET oder JAVA oder andere Webtechnologien?

◆ Entwickeln Sie derzeit RIA oder etwas Ähnliches?

◆ Welche Art von RIA-Entwicklungstechnologie verwenden Sie derzeit?

Die zweite besteht darin, die Auswahlkriterien der Technologie zu berücksichtigen:

◆ Lernkosten, Entwicklungseffizienz

◆ Eignung für den Anwendungstyp

◆ Bereitstellung der Betriebsumgebung Kosten

◆ Betriebseffizienz

◆ Vollständige Funktionsmerkmale

◆ Kosten für Technologielizenzierung und Serverbereitstellungskosten, Open Source, kostenlos oder kostenpflichtig

◆ Offiziell und Technischer Support durch die Community

◆ Komplette Entwicklungstools

◆ Komplette UI-Komponenten

◆ Plattformübergreifende Funktionen

Schließlich stützen wir unsere Bemühungen auf unsere spezifische Umstände und Kriterien für die Auswahl von Technologien, die eine Positionierung und Rangfolge dieser Technologien ermöglichen können.

Vergleich basierend auf den Bereitstellungskosten der technischen Betriebsumgebung:

Ajax > Silverlight > AIR >

In Bezug auf die Technologielizenzkosten:

Zu den Open-Source-Produkten gehören: Ajax, Laszlo, Es gibt: Flex

Aus Sicht des technischen Supports: Es besteht kein Zweifel daran, dass Silverlight und WPF den besten offiziellen Support erhalten werden. Auch die offizielle Technologie von Flex wird verbessert, und andere Technologien sind hauptsächlich auf Community-Support angewiesen.

Was die Entwicklungstools betrifft: Silverlight und WPF können als die leistungsstärksten Tools verwendet werden, Flex, AIR und Laszlo verfügen ebenfalls über hervorragende IDEs. Die Entwicklungstools von JavaFX sind noch nicht klar und Ajax hängt davon ab Bei der konkreten Implementierung kommen die Entwicklungstools für XUL jedoch nur langsam voran.

Soweit die UI-Komponenten verwendet werden können: WPF und Silverlight müssen selbst erweitert werden oder Drittanbieter verwenden. Flex, AIR und Laszlo bieten alle einen umfangreichen Satz an UI-Komponenten, und XUL selbst verfügt über einen Satz JavaFX verfügt über grundsätzlich ausreichende UI-Komponenten und basiert auf der UI-Toolbox, die mit JRE geliefert wird.

Für plattformübergreifende Funktionen und Kompatibilität können wir auch ein Ranking erstellen:

Flex/Laszlo > JavaFX > >Kurz gesagt: Um eine RIA-Entwicklungstechnologie auszuwählen, die zu Ihnen passt, müssen Sie alle Aspekte abwägen. Sie müssen sich nicht nur über Ihre Situation im Klaren sein und Ihre zukünftigen Bedürfnisse berücksichtigen, sondern Sie müssen auch mit den Unterschieden, Vor- und Nachteilen jeder Technologie vertraut sein, damit Sie die richtige finden können.

Das obige ist der detaillierte Inhalt vonEinführung in mehrere RIA-Technologien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage