Remote Application Platform
| {{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}
{{#if: | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{#if: Eclipse-Plug-in, Ajax-Framework | Eclipse-Plug-in, Ajax-Framework }}| }} | ||||||||
| Basisdaten
{{#if: | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: Eclipse Foundation | | |||||||
| Entwickler | Eclipse Foundation |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: 3.22 | KEINE_ANGABE || {{#if: 3.22 | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | 14. September 2022 | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: Java VM |
| |||||||
| Betriebssystem | Java VM |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: | | |||||||
| Programmiersprache |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: Eclipse Plugin | | |||||||
| Kategorie | Eclipse Plugin
}}{{#if: Eclipse Public License | | |||||||
| Lizenz | Eclipse Public License |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: nein | | |||||||
| deutschsprachig | faculty|nein}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: www.eclipse.org/rap | | |||||||
www.eclipse.org/rap |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with |]]
}} | |||||||
Die Remote Application Platform (kurz RAP, vormals Rich Ajax Platform) ist ein Eclipse-Plug-in, zur Entwicklung von Web-2.0-Anwendungen (Ajax) auf Basis der Programmiersprache Java.
Die Entwicklung einer Remote-Application-Platform-Anwendung weicht vom traditionellen Modell der Entwicklung einer Web-2.0-Anwendung dahingehend ab, dass der Programmierer keinerlei HTML-, JavaScript- und XML-Kenntnisse besitzen muss, sondern ein ausschließlich auf Java basierendes Programm entwirft. Dazu kann auf viele Java- und Eclipse-Bibliotheken und Frameworks zurückgegriffen werden.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20080115170655
| {{#ifeq: 20080115170655 | *
| {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20080115170655}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20080115170655}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }} ({{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: RAP Insights Blog: Introducing „RAP Insights“ | {{#invoke:WLink|getEscapedTitle|RAP Insights Blog: Introducing „RAP Insights“}} | {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}} }}
}}}}}}}}{{#if:2019-05-09 19:22:23 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20080115170655|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html}}
|| {{#if: || }}
}}{{#if: RAP Insights Blog: Introducing „RAP Insights“
| {{#if: {{#invoke:WLink|isBracketedLink|RAP Insights Blog: Introducing „RAP Insights“}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://rapblog.innoopract.com/2007/10/introducing-rap-insights.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}}</ref><ref>Eclipse Rich Ajax Platform 1.0 verfügbar. Golem News</ref>
Des Weiteren kann der bestehende Rich-Ajax-Platform-Quelltext mit geringem Mehraufwand für eine Desktopanwendung angepasst und als solche kompiliert werden.
Geschichte
RAP wurde unter dem Namen „Rich Ajax Platform“ von der auf die Entwicklung von Eclipse-Plugins spezialisierten Karlsruher Firma Innoopract Informationssysteme entwickelt und steht unter der Eclipse Public License als Open Source zur freien Verfügung. Mit Erscheinen der Version 2.0 wurde RAP in „Remote Application Platform“ umbenannt, um den universeller gewordenen Charakter der Platform deutlich zu machen.
Technischer Hintergrund
Ajax
Web-2.0-Anwendungen basieren auf Ajax, welches kurz für „Asynchrones JavaScript und XML“ steht. Ajax ist eine Kombination aus bereits seit längerem bekannten Techniken für die Darstellung und Automatisierung von Webseiten. Das Zusammenspiel all dieser Technologien ermöglicht das asynchrone Nachladen von Inhalten innerhalb einer Webseite, ohne sie komplett neu laden zu müssen. Dies ermöglicht die Entwicklung von interaktiven Webseiten, die denselben Funktionsumfang wie eine Desktopanwendung besitzen. Ein bekanntes Beispiel ist der Web-2.0-Texteditor Google Docs.
Um eine solche Web-2.0-Anwendung zu entwickeln, muss zunächst ein rudimentäres HTML-Gerüst erstellt werden, welches für die Anordnung aller visuellen Elemente zuständig ist. Um das so erstellte Layout zu formatieren, wird ein Cascading Style Sheet eingebettet. Somit ist es möglich, die Webseite auf verschiedenen Geräten und für Benutzer mit eingeschränkten Wahrnehmungsfähigkeiten barrierefrei darzustellen.
Nun werden mit Hilfe von JavaScript und XML interaktive Elemente eingebunden. So kann die Webseite Daten entgegennehmen und senden, diese lokal verarbeiten und den Inhalt entsprechend manipulieren. Sollten externe Inhalte benötigt werden, so kann JavaScript diese per XMLHttpRequest von einem entfernten Server herunterladen. Für Operationen, die über den Funktionsumfang von JavaScript hinausgehen, können serverseitig höhere Programmiersprachen wie PHP, Perl oder Java eingebunden werden.
Rich Client Platform
Die Remote Application Platform versucht, den Vorgang der Web-2.0-Programmierung zu erleichtern. Um diesen Prozess besser zu verstehen, ist zunächst das Verständnis einiger Grundlagen notwendig.
Eclipse baut auf dem Prinzip des Rich Client auf. Dieser basiert wiederum auf dem sogenannten Fat Client. Der Fat Client unterteilt sich oberflächlich betrachtet in zwei Schichten: Auf der untersten Schicht findet die lokale Datenverarbeitung des Programms statt. Auf der darüberliegenden Schicht befindet sich meist eine grafische Benutzeroberfläche (GUI). Zur Anbindung an eine Programmiersprache bietet der Rich Client eine Programmierschnittstelle (API).
Wie bereits erwähnt ist der Rich Client eine Erweiterung des Fat Client. Zur Datenverarbeitungs- und GUI- kommt eine Pluginschicht hinzu. Ein Plug-in ist eine einfache Möglichkeit die Funktionalität einer bestehenden Plattform zu erweitern.
In der Theorie:
- arbeiten verschiedene Plugins konfliktfrei parallel miteinander
- sind Plugins anwendungs- und plattformunabhängig
- sind Plugins einfach zu warten
Auf Grundlage dieser Paradigmen entstand die Rich Client Platform (kurz RCP) von Eclipse. Die RCP ist eine Sammlung vieler logischer, sowie visueller Bestandteile, die der Entwicklung von Java-Programmen dienen. So bietet die RCP beispielsweise das Standard Widget Toolkit (kurz SWT), welches der Erstellung nativer visueller Oberflächen dient, fertige Hilfe- und Update-GUIs, XML-Werkzeuge und vieles mehr.<ref>Rich Client Platform FAQ Eclipse Wiki</ref><ref>Rich Client Platform. Eclipse Wiki</ref> Zudem steht die RCP mit der Eclipse Public License als Open Source zur freien Verfügung und wird stetig weiterentwickelt.
Remote Application Platform
Die Remote Application Platform (kurz RAP) vereinigt das Beste aus den Welten von Ajax und der Rich Client Platform. Es bietet Java-Programmierern ein mächtiges, einheitliches Framework zur Erstellung von Web-2.0-Anwendungen.
RAP basiert auf einer Client-Server-Struktur. Auf der Serverseite befindet sich ein Applikationsserver wie z. B. Apache Tomcat, Jetty etc. der das Javaprogramm ausführt und die Daten an den Client (d. h. an einen Browser) sendet. Für den Browser werden die vorhandenen SWT-Oberflächenelemente durch RWT (Qooxdoo), also HTML und Ajax ersetzt.<ref>RAP About von Eclipse Projects</ref>
Installation
Ist Eclipse bereits installiert, gestaltet sich die Installation von RAP denkbar einfach per Update-Site. Alternativ gibt es fertige Packages auf der RAP-Webseite.
Implementierung
Es folgt ein illustratives Beispiel zur Entwicklung einer RAP-Anwendung auf Basis von SWT.
Innerhalb Eclipse wird zur Plugindevelopment Perspektive gewechselt und ein neues Projekt per: „New Project > Plugin Project > RAP Hello World“ angelegt.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20080318161249
| {{#ifeq: 20080318161249 | *
| {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20080318161249}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20080318161249}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }} ({{#if: {{#if: 2019-05-09 19:22:23 InternetArchiveBot | 2019-05-09 19:22:23 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: Videos zur RAP Installation und Demoerstellung. | {{#invoke:WLink|getEscapedTitle|Videos zur RAP Installation und Demoerstellung.}} | {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}} }}
}}}}}}}}{{#if:2019-05-09 19:22:23 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20080318161249|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html}}
|| {{#if: || }}
}}{{#if: Videos zur RAP Installation und Demoerstellung.
| {{#if: {{#invoke:WLink|isBracketedLink|Videos zur RAP Installation und Demoerstellung.}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.thescreencast.com/2007/10/first-look-at-eclipse-rich-ajax.html }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}} The Screencast Blog</ref>
In der Klasse „Application“ wird nun folgende Methode geschrieben: <syntaxhighlight lang="java"> // Hello World in RAP public Text txt;
public Display createUI() { Display display = new Display();
Shell shell = new Shell(display); // Neues Fenster anlegen shell.setSize(320, 240); // Größe des Fensters festlegen
txt = new Text(shell, SWT.SIMPLE); // Textfeld erstellen txt.setLocation(shell.getClientArea().x + 10, shell.getClientArea().y + 40); // Textfeld positionieren und skalieren
Button button = new Button(shell, SWT.PUSH); // Button erstellen button.setText("Hello World!"); // Button-Text festlegen button.setBounds(shell.getClientArea().x + 10, shell.getClientArea().y + 10, shell.getClientArea().width - 20, 20); // Button positionieren und skalieren button.addSelectionListener(new SelectionListener(){ // Listener zum Button hinzufügen, um den Klick darauf abzufangen public void widgetDefaultSelected(SelectionEvent e) {} public void widgetSelected(SelectionEvent e) { txt.setText("Hello World!"); // Bei Klick "Hello World!" im Textfeld ausgeben } });
shell.open(); // Fenster öffnen
return display; } </syntaxhighlight>
Einsatz auf anderen Plattformen
Auf der Remote Application Platform aufbauend können mit Frameworks wie beispielsweise Tabris Java-Applikationen derart implementiert werden, dass ihre Benutzerinteraktionen auf Plattformen wie Android oder iOS ausgeführt werden. Der Code für die Darstellung und Benutzerinteraktion läuft dabei nativ auf den jeweiligen Plattformen, die Kommunikation mit dem Server erfolgt über JSON.<ref>Tabris – native iOS und Android Apps mit Java und RAP</ref> Damit ist es möglich in Java-Applikationen für Plattformen zu schreiben, die selbst Java nicht unterstützen.
Weblinks
- Eclipse: Offizielle Seite der Remote Application Platform
- Eclipse: Rich Ajax Platform Update-Site
- The Screencast Blog: Videos zur RAP Installation und Demoerstellung
- „RAP bringt RCP-Anwendungen in den Browser“ – Interview mit RAP Co-Lead Rüdiger Herrmann
Einzelnachweise
<references />
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- Eclipse-Zusatzmodul
- Java-Programm
- Web-Entwicklung