Wisej.NET
Eintrag zuletzt aktualisiert am: 19.02.2025
Wisej.NET
https://wisej.com ist das erste von vier
GUI-Frameworks in dieser Serie, das nicht von Microsoft stammt. Wisej.NET (von 2016 bis 2022 in den Versionen 1.x und 2.x nur Wisej genannt) ist ein
Rapid Application Development-Werkzeug für
HTML-basierte Web- und Hybridanwendungen der 1988 gegründeten amerikanischen Firma Ice Tea Group LLC mit Sitz in Washington DC
https://www.iceteagroup.com, welches aus der Ecke von Gupta/Centura stammt, sich aber seit vielen Jahren auf dem .NET-Ma
rkt etabliert hat.
Wisej.NET hat die gleiche Grundidee wie
Blazor Server, d.h. die Anwendung läuft auf dem Server, empfängt Benutzeraktionen und sendet Änderungen der
HTML-Oberfläche zum
Webbrowser. Der Chefentwickler von Wisej.NET, Gianluca Pivato, hält darauf sogar ein Patent unter dem Titel "Pixel perfect real-time web application framework"
https://patents.google.com/patent/US10409565B2/en, bei dem man sich fragen kann, ob
Blazor Server nicht dagegen verstößt.
Auf dem Server lief Wisej.NET in Version 1.0 und 2.0 nur auf dem klassischen
.NET Framework auf Windows, seit Version 3.0 ist auch das moderne .NET möglich mit Windows oder
Linux als Server. Der Serverprozess basiert dann auf
ASP.NET Core. Als
Programmiersprachen sind neben C# auch
Visual Basic .NET und F# möglich.
Auf der Clientseite setzt Wisej.NET auf das von der deutschen Firma 1&1 entwickelte
JavaScript-basierte
Webfrontendframework qooxdoo (gesprochen "kuckst du")
https://qooxdoo.org. Bei der Datenübertragung zwischen Server und Client ist neben WebSockets auch HTTP(S) möglich. Die Übertragung der DOM-Unterschiede vom Server zum Client ist effizienter als bei
Blazor Server. Allerdings wird initial beim ersten Seitenaufruf mehr in den Browser geladen. Genau wie
Blazor Server ist Wisej.NET aber nicht offline-fähig und alle Nutzer teilen sich die Serverressourcen. Wisej.NET kommt aber besser mit einem Reload im Browser klar als
Blazor Server.
Wisej.NET bietet bei der Entwicklung einen in
Visual Studio integrierten WYSWYG-Designer, der dem
Windows Forms-Designer sehr ähnlich ist und genau wie bei
Windows Forms wird Programmcode und kein Markup von dem Designer generiert. Tatsächlich gibt es auch die Möglichkeit, bestehende
Windows Forms-Anwendungen nach Wisej.NET zu migrieren, also klassische Windows-Desktop-Anwendungen in den Browser und auf Mobilgeräte zu bringen. Das zugehörige Werkzeug kann man aber nicht erwerben; die Migration wird als Dienstleistung angeboten, an deren Ende der Auftraggeber eine lauffähige Wisej.NET-Anwendung inklusive Quellcode erhält. In unseren Gefilden macht diese Migration die Firma Fecher GmbH
https://www.fecher.de. Auf der Website
https://www.modernizing-applications.de bietet Fecher die Migration nach Wisej.NET nicht nur von
Windows Forms, sondern auch von
WPF, Visual Basic 6,
Microsoft Access und Gupta an.
Wisej.NET liefert zahlreiche
Steuerelemente im Grundpaket (.NET-Namensraum Wisej.Web) oder als Extension, auch höherwertige
Steuerelemente wie ein editierbares Datagrid, verschiedene Diagrammtypen, einen Kalender, ein Ribbon, Anzeige von
Microsoft Office-Dokumenten sowie ein Theming. Die
Steuerelemente kann man sich auf einer webbasierten Demonstrationsseite ansehen:
https://wisej-demobrowser.azurewebsites.net/
Als Entwicklerinnen und Entwickler muss man sich bei der Webentwicklung mit Wisej.NET nicht mit
HTML und
CSS auseinandersetzen, denn man erhält eine komponentenbasierte Abstraktion von den Webtechniken, aus denen das Document Object Model generiert wird. Freilich kann man Inseln von
HTML erschaffen; dafür gibt es Wisej.NET-
Steuerelemente wie Html
Panel und einen
Extender für
JavaScript und
CSS. Entwicklerinnen und Entwickler können also auch selber
JavaScript schreiben.
Es gibt zwar keine dedizierte Drittanbieterkomponentenbibliothek für Wisej.NET, aber das
GUI-Framework kann beliebige Web-
Komponentenbibliotheken nutzen, die auf
HTML,
CSS und
JavaScript basieren (z.B.
jQuery, DevExpress
DevExtreme, Syncfusion EJ1/EJ2,
Telerik Kendo UI,
Infragistics Ignite UI und TextControl). Es gibt sogenannte Premium Extensions
https://docs.wisej.com/extensions/premium-extensions/overview, die auch hier die Integration vereinfachen. Genau wie Microsoft mit seinen Smart Components
https://devblogs.microsoft.com/dotnet/introducing-dotnet-smart-components arbeitet auch Wisej.NET an der KI-Integration in die
Steuerelemente:
https://wisej.ai
Beim Deployment bietet Wisej.NET neben dem Deployment auf einen
Webserver auch ein Self-Hosting als ausführbare Datei an.
AOT-Kompilierung ist bei Wisej.NET nicht möglich.
Genau wie Blazor kann man auch Wisej.NET in .NET
MAUI-Anwendungen einbetten und dann ohne
Webbrowser direkt auf Windows, macOS,
iOS, Android und
Tizen betreiben (Wisej.NET Hybrid, siehe
https://docs.wisej.com/hybrid). Alternativ gibt es auch noch ein älteres Wisej.NET Mobile zum Betrieb auf
iOS und Android ohne .NET
MAUI direkt mit Xcode und
Android Studio:
https://docs.wisej.com/mobile. Diese Wisej.NET-Anwendungen laufen dann auch offline ohne einen
Webserver.
Wisej.NET hat einige namhafte Kunden (siehe Case Studies unter
https://wisej.com/case-studies/ und
https://madewithwisej.com) und ist regelmäßig auf deutschen Entwicklerkonferenzen vertreten. Man braucht für jeden Entwickler und jede Entwicklerin eine Lizenz, die je nach Leistungsumfang zwischen 1.190 und 1.690 Dollar kostet, wobei es Mengenrabatte gibt. Für nicht-kommerzielle Zwecke gibt es eine kostenfreie Community-Lizenz. Für den Betrieb der Wisej.NET-Anwendung ist eine Serverlizenz erforderlich. Dabei reicht das Spektrum von einer kostenfreien Lizenz für bis zu 100 Clients ohne Premium Extensions und ohne Support bis hin zu einer Lizenz für rund 29.000 Dollar für bis zu 10.000 Clients. Details findet man unter
https://wisej.com/developer-licenses.
Versionen
Erste Version unter dem Namen Wisej: 2016
Version 3 unter dem Namen Wisej.NET seit April 2022
Eigenschaften:
- Server: .NET + C# + alle .NET APIs auf dem server
- Client: HTML, CSS + JavaScript + 1&1 Qooxdo Webframework
- Synchronisierung Client und Server
- Events vom Browser zum Server
- DOM diff vom Server zum Browser
- Protokoll: Web Sockets (WiseJ.NET: auch HTTP)
- Interop C# <-> JavaScript
- Auch kein Offline-Support
Patent
"Pixel perfect real-time web application framework" (
https://patents.google.com/patent/US10409565B2/en)