Jump to content

Draft:JVx Framework

From Wikipedia, the free encyclopedia
JVx Framework
Developer(s)SIB Visions GmbH
RepositoryJVx Repository
Written inJava
TypeFramework
LicenseApache License 2.0
Websitejvx.sibvisions.com

JVx is an open source framework for the Java platform. It is licensed under the Apache License 2.0. It enables the creation of graphical applications primarily for relational data stored in databases. The framework is primarily developed by the company SIB Visions from Vienna.

The name JVx.[1] stands for Java Application Extensions, and JAx was originally intended. However, since this name was already taken, the A was quickly changed to a V.

History

[edit]

The framework was first released in March 2010 as 0.8 Beta[2]. The first GUI technology was Swing (Java). In 2010, application development in the browser had not yet become fully established, and desktop technologies were still in demand.

Also in 2010, the implementation of a web technology was launched in parallel with the desktop technology. However, this was extremely exotic, using GWT and the Ext JS implementation extGWT (GXT). There were also experiments with technologies such as Silverlight or JavaFX.

Version 1.0 of JVx was officially released in December 2011[3]. Web technologies became increasingly important during this time.

This was also the reason why a completely new UI implementation with Vaadin 7 was released in 2013[4]. The Vaadin version was migrated to Vaadin 8 in 2017.

However, when it was announced in 2017 that the EOL[5] of Vaadin 8 would be reached in February 2022, a new web technology had to be considered. This was the beginning of the react UI[6].

The further development of JVx continued independently of the respective GUI technologies, and JVx 2.0[7] was released in April 2014. Subsequently, only minor updates were released until version 3.0 was finally released in December 2024[8]

Native implementations for Android and iOS-based devices were already being worked on before 2014, and in 2014, an Android and an iOS client were presented as part of two master's theses. However, these were two different code bases, and this was probably also the reason why a completely new client for mobile devices was announced in April 2020. This was Flutter based and was first released in April 2021 as version 1.1.0[9]. However, version 2.0.0[10] was developed more than year and was released in November 2022. But from then on things progressed quickly and there were constant updates.

Features

[edit]

One of the key features of JVx is the complete implementation of a multitier architecture. Based on a three-layer architecture, it offers the software developer a variety of possibilities.

The three layers are:

  • Presentation layer (use the application in the browser, as an app on a smartphone/tablet, or as an installable desktop application)

This architecture also allows the software developer to replace individual layers without replacing the entire framework.

Implementations

[edit]

The individual layers of JVx were defined abstractly and are therefore technology-independent. This allows the use of a wide variety of technologies without having to redevelop the application. For the presentation layer, there are already complete open source implementations for the following technologies:

The business layer is responsible for managing the business logic, and this is implemented specifically for each application, as each application has its own processes. This can include calculating totals or checking validity. This layer is never replaced but is always reused.

The data access layer already provides the ability to access relational databases using JDBC. Since this layer is also kept abstract, the data can also be retrieved from other data sources.

Further reading

[edit]

References

[edit]
[edit]