<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=JVx</id>
	<title>JVx - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=JVx"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=JVx&amp;action=history"/>
	<updated>2026-06-10T20:50:45Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=JVx&amp;diff=1824293&amp;oldid=prev</id>
		<title>imported&gt;Thomas Dresler: Kommasetzung</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=JVx&amp;diff=1824293&amp;oldid=prev"/>
		<updated>2025-10-11T21:11:00Z</updated>

		<summary type="html">&lt;p&gt;Kommasetzung&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
| Name                              =&lt;br /&gt;
| Logo                              = [[Datei:Jvx 2020.png]]&lt;br /&gt;
| Screenshot                        = &lt;br /&gt;
| Beschreibung                      = &lt;br /&gt;
| Maintainer                        = [https://www.sibvisions.com/ SIB Visions]&lt;br /&gt;
| AktuelleVersion                   = 3.1&lt;br /&gt;
| AktuelleVersionFreigabeDatum      = 7. Mai 2025&lt;br /&gt;
| Betriebssystem                    = [[Plattformunabhängigkeit|Plattformunabhängig]]&lt;br /&gt;
| Programmiersprache                = &amp;lt;!-- wikidata --&amp;gt;&lt;br /&gt;
| Kategorie                         = [[Framework]]&lt;br /&gt;
| Lizenz                            = &amp;lt;!-- wikidata --&amp;gt;&lt;br /&gt;
| Website                           = &amp;lt;!-- wikidata --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;JVx&amp;#039;&amp;#039;&amp;#039; ist ein [[quelloffen]]es [[Framework]] für die [[Java (Programmiersprache)|Java]] Plattform. Lizenziert ist es unter der [[Apache-Lizenz|Apache Lizenz]] 2.0. Es ermöglicht die Erstellung von grafischen [[Anwendungssoftware|Anwendungen]] vorrangig für relationale Daten die in [[Relationale Datenbank|Datenbanken]] gespeichert werden. Das Framework wird hauptsächlich von der Firma SIB Visions aus [[Wien]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
Das Kürzel JVx&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2012/05/09/what-does-jvx-stand-for/ JVx]&amp;lt;/ref&amp;gt; steht für Java Application extensions und ursprünglich war JAx angedacht. Da dieses Kürzel jedoch schon vergeben war, wurde kurzerhand aus dem A ein V gemacht.&lt;br /&gt;
&lt;br /&gt;
== Merkmale ==&lt;br /&gt;
&lt;br /&gt;
Eines der Hauptmerkmale von JVx ist die vollständige Umsetzung eines [[Schichtenmodell]]s. Aufbauend auf einer Drei-Schichtenarchitektur werden dem [[Softwareentwickler]] diverse Einsatzmöglichkeiten geboten.&lt;br /&gt;
&lt;br /&gt;
Die Drei Schichten sind:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Präsentationsschicht&amp;#039;&amp;#039;&amp;#039; (Darstellung der Anwendung im Browser, als App am Smartphone/Tablet oder als installierbare Desktop Anwendung)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Logikschicht&amp;#039;&amp;#039;&amp;#039; ([[Geschäftslogik]] und [[Sitzung (Informatik)|Sitzungsverwaltung]])&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Datenhaltungsschicht&amp;#039;&amp;#039;&amp;#039; ([[Relationale Datenbank]], [[Dateisystem]], [[Representational State Transfer|REST Schnittstellen]])&lt;br /&gt;
&lt;br /&gt;
Durch diese [[Softwarearchitektur|Architektur]] hat der [[Softwareentwickler]] auch die Möglichkeit einzelne Schichten auszutauschen ohne das komplette Framework zu Ersetzen.&lt;br /&gt;
&lt;br /&gt;
== Implementierungen ==&lt;br /&gt;
&lt;br /&gt;
Die einzelnen Schichten von JVx wurden [[Abstraktion (Informatik)|abstrakt]] definiert und sind dadurch Technologie unabhängig. Das erlaubt den Einsatz unterschiedlichster Technologien ohne die Anwendung neu zu entwickeln. Für die Präsentationsschicht gibt es bereits vollständige Implementierungen für die Technologien:&lt;br /&gt;
&lt;br /&gt;
* [[Swing (Java)]]&amp;lt;ref&amp;gt;[https://sourceforge.net/p/jvx/code/HEAD/tree/trunk/java/swing/ Swing UI]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[react]]&amp;lt;ref&amp;gt;[https://github.com/sibvisions/reactUI react UI]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Flutter (Software)|flutter]]&amp;lt;ref&amp;gt;[https://github.com/sibvisions/flutter_jvx Flutter UI]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Vaadin]]&amp;lt;ref&amp;gt;[https://sourceforge.net/p/jvx/code/HEAD/tree/trunk/java/vaadin Vaadin UI]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Implementierungen sind wie das Framework ebenfalls [[quelloffen]].&lt;br /&gt;
&lt;br /&gt;
Die Logikschicht ist zuständig für die Verwaltung der Geschäftslogik und diese wird für jede Anwendung speziell implementiert, da jede Anwendung eigene Abläufe hat. Das kann zum Beispiel die Berechnung von Summen oder die Überprüfung von Gültigkeiten sein. Diese Schicht wird nie ausgetauscht, sondern immer wieder neu verwendet.&lt;br /&gt;
&lt;br /&gt;
In der Datenhaltungsschicht existiert bereits mittels [[Java Database Connectivity|JDBC]] die Möglichkeit auf [[relationale Datenbank]]en zuzugreifen. Da diese Schicht ebenfalls abstrakt gehalten wurde, können die Daten auch von anderen Datenquellen bezogen werden.&lt;br /&gt;
&lt;br /&gt;
== Historie ==&lt;br /&gt;
&lt;br /&gt;
Das Framework wurde das erste Mal im März 2010 als 0.8 Beta&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2010/03/18/jvx/ JVx 0.8 Beta]&amp;lt;/ref&amp;gt; veröffentlicht. Die erste [[Grafische Benutzeroberfläche|GUI Technologie]] war [[Swing (Java)]]. Im Jahr 2010 hatte sich die Anwendungsentwicklung im Browser noch nicht vollständig etabliert und Desktop Technologien waren noch gefragt. Das war auch der Grund warum eine weitere Desktop Technologie mit QT implementiert&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2010/07/23/qt-jambi-ui-wird-vorgestellt/ QT UI]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2010/04/17/jvx-webui/ Swing UI vs. QT UI]&amp;lt;/ref&amp;gt; wurde.&lt;br /&gt;
&lt;br /&gt;
Ebenfalls im Jahr 2010 wurde parallel zur Desktop Technologie bereits die Umsetzung einer Web Technologie&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2010/04/17/jvx-web-user-interface/ GXT UI]&amp;lt;/ref&amp;gt; gestartet. Diese war jedoch äußerst exotisch mit [[Google Web Toolkit|GWT]] und der [[Ext JS]] Implementierung extGWT (GXT). Es gab auch Experimente mit Technologien wie [[Microsoft Silverlight|Silverlight]]&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2010/04/30/ein-erster-blick-auf-unseren-silverlight-showcase/ Silverlight UI]&amp;lt;/ref&amp;gt; oder [[JavaFX]]&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2015/06/22/jvx-javafxui-1-0/ JavaFX UI]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Version 1.0 von JVx wurde offiziell im Dezember 2011 veröffentlicht&amp;lt;ref&amp;gt;[https://sourceforge.net/projects/jvx/files/JVx%20%2B%20SwingUI/1.0/ JVx 1.0]&amp;lt;/ref&amp;gt;. Die Web Technologien wurden in dieser Zeit zunehmend wichtiger.&lt;br /&gt;
&lt;br /&gt;
Das war dann auch der Grund warum im Mai 2013 eine komplett neue Implementierung mit [[Vaadin]] 7 veröffentlicht wurde&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2013/05/30/jvx-vaadin-ui-1-0-is-code-complete/ Vaadin UI 1.0]&amp;lt;/ref&amp;gt;. Die Vaadin Version wurde im Jahr 2017 auf Vaadin 8 migriert&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2018/05/07/four-years-sib-visions-rzenz/ Vaadin UI mit Vaadin 8]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Als dann jedoch ebenfalls im Jahr 2017 bekannt gegeben wurde das mit Februar 2022 das [[End of Life|EOL]]&amp;lt;ref&amp;gt;[https://vaadin.com/blog/vaadin-framework-8-roadmap-2017-and-beyond Vaadin 8 EOL]&amp;lt;/ref&amp;gt; von [[Vaadin]] 8 erreicht sein wird, musste eine neue Web-Technologie angedacht werden. Das war dann der Beginn des [[react]] basierten reactUI&amp;lt;ref&amp;gt;[https://github.com/sibvisions/reactUI react UI Start]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Weiterentwicklung von JVx wurde unabhängig von den jeweiligen GUI Technologien vorangetrieben und im April 2014 wurde JVx 2.0&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2014/04/01/jvx-2-0/ JVx 2.0]&amp;lt;/ref&amp;gt; veröffentlicht. Dann wurden stets nur kleinere Aktualisierungen veröffentlicht bis letztendlich im Dezember 2024 die Version 3.0 veröffentlicht wurde&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2024/12/20/jvx-3-0-is-available/ JVx 3.0]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Bereits vor 2014 wurde an nativen Implementierungen für Android und iOS basierte Geräte gearbeitet und im Jahr 2014 wurden dann im Rahmen zweier [[Masterarbeit|Masterthesen]] ein [[Android (Betriebssystem)|Android]]&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2014/07/18/master-thesis-jvx-mobile-und-android/ Android UI]&amp;lt;/ref&amp;gt; sowie ein [[iOS (Betriebssystem)|iOS]] Client&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2014/07/20/master-thesis-jvx-mobile-und-ios/ iOS UI]&amp;lt;/ref&amp;gt; vorgestellt. Es handelte sich dabei aber um 2 unterschiedliche Code Basen und das war vermutlich auch der Grund warum im April 2020 ein komplett neuer Client für mobile Geräte angekündigt&amp;lt;ref&amp;gt;[https://blog.sibvisions.com/2020/04/09/visionx-5-4-is-on-the-way/ Flutter UI Start]&amp;lt;/ref&amp;gt; wurde. Dieser war [[Flutter (Software)|Flutter]] basierend und wurde im April 2021 erstmals als Version 1.1.0&amp;lt;ref&amp;gt;[https://github.com/sibvisions/flutter_jvx/releases/tag/v1.1.0 Flutter UI 1.1.0]&amp;lt;/ref&amp;gt; veröffentlicht. Die Version 2.0.0&amp;lt;ref&amp;gt;[https://github.com/sibvisions/flutter_jvx/releases/tag/v2.0.0 Flutter UI 2.0.0]&amp;lt;/ref&amp;gt; ließ jedoch über ein Jahr auf sich warten und wurde erst im November 2022 veröffentlicht. Doch ab diesem Zeitpunkt ging es rasant weiter und es wurde kontinuierlich aktualisiert.&lt;br /&gt;
&lt;br /&gt;
== Konkurrenz ==&lt;br /&gt;
&lt;br /&gt;
Das Framework ist schwer vergleichbar, weil es technologieunabhängig ist und für einen konkreten Anwendungsfall erstellt wurde. Aber ein Konkurrent ist ganz bestimmt [[Flutter (Software)|Flutter]] weil auch damit mit einer einzigen Code Basis die unterschiedlichsten Plattformen bespielt werden können. Bei JVx findet jedoch eine Spezialisierung auf datengetriebene Anwendungen statt und bei [[Flutter (Software)|Flutter]] gibt es diese Spezialisierung nicht.&lt;br /&gt;
&lt;br /&gt;
Zwei weitere Konkurrenten sind auch die [[Remote Application Platform]] (RAP) von [[Eclipse Foundation|Eclipse]] oder Codename One&amp;lt;ref&amp;gt;[https://www.codenameone.com/ CodenameOne]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das interessante an JVx ist, das die Konkurrenz verwendet wurde um unterschiedliche Präsentationsschichten zu implementieren.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://doc.sibvisions.com/jvx/home Projektseite]&lt;br /&gt;
* [https://doc.sibvisions.com/jvx/features Features]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:Jvx}}&lt;br /&gt;
[[Kategorie:Java-Bibliothek]]&lt;br /&gt;
[[Kategorie:GUI-Toolkit]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Thomas Dresler</name></author>
	</entry>
</feed>