Laden...

Smart-/Webclient Hybrid

Erstellt von the_lmich vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.371 Views
the_lmich Themenstarter:in
248 Beiträge seit 2005
vor 15 Jahren
Smart-/Webclient Hybrid

Hallo zusammen,

in unserem Projekt fällt aktuell die Entscheidung, ob wir einen eigenen Client bauen oder eine Webanwendung zum Einsatz kommt. (RIA kommt nicht in Frage.)

Da der Client ein eigenes XML-Format interpretieren können soll (der Server soll das UI hochgenerisch erzeugen) und es zudem noch ein Web-UI für Endkunden geben soll, kommt die Frage auf, warum nicht alles direkt als WebApp entwickeln. (Die Entwicklung des Clients würde zudem viel Zeit in Anspruch nehmen.)

Da gibt es aber ein eindeutiges Knock-out für eine browserbasierte Lösung: In unserem Fall ist das das Ansprechen spezifischer Peripherie-Geräte, wie Drucker, Barcoderscanner, etc. Wir müssen weg vom Auswahldialog und die Drucker nach Konfiguration ansprechen.

Jetzt kommt mir grade der Gedanken, ob es nicht möglich wäre ein Webbrowser-Control in eine WinForm zu packen und die Druckaufträge der Webseite abzufangen und nach einer bestimmten Konfiguration zu handeln. Sozusagen den Webclient in einer Winform zu kapseln. Dann hätten wir auf der Serverseite nur eine UI-Engine, könnten die Kunden-Webs abfrühstücken und hätten noch eine stabile und fest definierte Laufzeitumgebung für unser HTML.

Was meint Ihr dazu? Kann das klappen?

Grüße
.-) Torsten

2.187 Beiträge seit 2005
vor 15 Jahren

Hallo the_lmich,

Es könnte gehen, ist aber umständlich und aufwendig.
Wäre es nicht besser, nur die Bussines-Schicht wiederzuverwen und nicht auch die UI (zur UI zählt auch die Periferie-Ansteuerung).
Eine Web-UI kann genauso an ein Business-Objekt gebunden werden, wie eine Windows-UI.

Mir scheint das vom Nutzen her ähnlich zu sein, nur mit weniger Aufwand.

Gruß
Juy Juka

the_lmich Themenstarter:in
248 Beiträge seit 2005
vor 15 Jahren

Hi JuyJuka,

grundsätzlich gebe ich Dir recht. Wir kennen unser Datenmodell aber nicht. Es wird teilweise zur Laufzeit generiert und das UI muss sich dem anpassen. Zudem kommt, dass unsere Vorstellungen von Binding über die von MS hinausgehen. Wir werden es also selbst implementieren.

Ich möchte den Aufwand nicht zweimal betreiben. Und wenn die Hybridlösung klappt, werde ich darauf bauen.

Danke und Grüße,
🙂 Torsten

2.760 Beiträge seit 2006
vor 15 Jahren

Das drucken würde ich über einen Webservice regeln, der ist vom Web und auch aus einer Windows-Anwendung heraus schön anzuprogrammieren.
Wenn der Rest in eine Webanwendung wandert dann könnte man wohl schon eine WinForms-Anwendung machen die spezielle Link/Button/Whatever-Clicks im WebBrowser-Control abfängt und dann die Windows-Implementierung mit Daten vom Webservice füttert wobei ich dir bei dem Punkt:

und hätten noch eine stabile und fest definierte Laufzeitumgebung für unser HTML Nicht so ganz zustimmen kann wenn du das WebBrowser-Control nutzen möchtest 😉

the_lmich Themenstarter:in
248 Beiträge seit 2005
vor 15 Jahren

Nicht so ganz zustimmen kann wenn du das WebBrowser-Control nutzen möchtest 😉

<g> -> Geht das auch präziser? 🙂

Grüße
🙂 Torsten

2.760 Beiträge seit 2006
vor 15 Jahren

Ich finde das Interface einfach schlecht. Das Control nur hat, meiner Meinung nach, lediglich 3 Sinnvolle Events:

  • DocumentCompleted
  • Navigated
  • Navigating

Auf den DOM zuzugreifen ist der Horror da es einfach nur ein (unvollständiger) Wrapper für IHTMLDocument ist.
Der IE kann schon in Version 6 XSLT, das WebBrowser Control wohl irgendwie nicht.
Und, und, und...
Man brauch sich eigentlich nur mal im Forum umschauen, da gibt es einige Leute die über dieses Control fluchen.

Allerdings kann man wohl auch relativ coole Sachen damit machen (zumindest sieht die Demo-Anwendung des folgenden Projekts danach aus): http://www.codeproject.com/KB/cs/DOL_HTML_Parser.aspx

[EDIT]

Allerdings kann man wohl auch relativ coole Sachen damit machen

Ich nehme alles zurück und behaupte das Gegenteil (Das WebBrowser-Control trägt dazu nichts außer dem Rendering der Seite bei) 😉

F
10.010 Beiträge seit 2004
vor 15 Jahren

Zu CAB/SCAF gibt es eine Demo, wo man innerhalb einer Anwendung
einen Webbrowser in einen WorkSpace einbaut, und über eine darin befindliche
JScript funktion mit dem SmartClient kommuniziert.

Wird die Seite ohne den SmartClient aufgerufen, sind die Funktionen eben nicht da.

Ansonsten habe ich noch keinen SmartClient/Webclient gesehen, der wirklich eine
"UI hochgenerisch" verarbeiten kann.

Selbst XAF ( mal bei DevExpress nachschauen ) kann das nicht ganz, und da
stecken Mannjahrzehnte drin.

CAB/SCAF und ähnliche Frameworks haben den Vorteil, das man die Module
nach und nach implementieren kann, und "einfach" zu den vorhandenen
dazulegt.