Michael Vogel: Browser als Anwendungsprogramm-Frontend?

Moin!

Ich bin gerade in den ersten Ueberlegungen zu einem Browser-basierten Anwendungsprogramm. Hierbei soll der Server praktisch die gesamte Arbeit machen (Datenabfrage ...), der Client, sprich der Browser, soll die Darstellung machen.

Dazu ein paar Fragen:
-Ich denke, ich werde um Javascript nicht herumkommen, wrde aber gerne ohne Java laufen.
-Kann ich mit Javascript den Browser so reduzieren, dass der Benutzer ihn nicht mehr als Browser erkennt? Ich denke ja, oder?
-Kann ich interaktiv auf Tastendruecke reagieren? Der normale Benutzer wird garantiert mehr mit der Tastatur als mit der Maus arbeiten.
-Wie schnell (von der Ablaufgeschwindigkeit her) kann ich eine solche Applikation machen? Ist es vom Protokoll-Overhead her ueberhaupt machbar?
-Wie kann ich drucken? (Wenn es z.B. darum geht, Rechnungen auszudrucken.) Kann ich von den Clients aus die Drucker ansprechen und denen gezielte Informationen senden?
-Kann ich eigene Menueleisten bauen?
-Geht das alles auch mit Netscape? (Ich moechte den Server unter Linux "fabrizieren", die Clients sollen unter beliebigen Systemen laufen)
Zur Klarstellung: Ja, ich weiss, das klauen der Buttonleiste ist ein Unding im Internet, aber da es eine reine Intranet-Loesung werden soll, wo der Browser mir lediglich die Prorammierung der Client-Seite abnehmen soll)
Mir reichen bei den Fragen schon die Antworten, ob soetwas moeglich ist und wo ich mich informieren kann. Ich kann zur Zeit noch kein Javascript, deswegen helfen mir detaillierte Infos nicht besonders viel weiter.

Danke!

Michael

  1. Hallo Michael,

    Ich weiß ja nicht, was der Zahnarzt seiner Familie empfiehlt ...
    Ich empfehle:
    Runterladen, durchlesen, nachbauen, Hobbys suchen:

    Orginal unter:

    http://www.little-idiots.de/mysql

    Mirrors:

    http://www.php-center.de/mirrors/mysql/mysql.zip

    http://www.xsl.de/mysql/mysql.zip

    http://www.php-homepage.de/mysql/mysql.zip

    Auf diesem Server stehen auch mySql - Server zur Miete bereit:

    http://www.rent-a-database.de/mysql/mysql.zip

    Ist alles, was Du benötigst, wurde aber auch schon hier weiter unten erwähnt.

    Interessant und wichtig auch die Firewall Dokumentation vom gleichen Autoren.

    Grüße
    Christoph

  2. Agrhhhh, ich hatte eine schöne lange ausfürhliche Antwort zusammen und dann einen Browserabsturz <knurr>

    Sorry Michael,

    alles noch einmal zu schreiben, dafür bin ich ehrlich zu faul.
    Also nur kurz:

    Ich bin gerade in den ersten Ueberlegungen zu einem Browser-basierten Anwendungsprogramm. Hierbei soll der Server praktisch die gesamte Arbeit machen (Datenabfrage ...), der Client, sprich der Browser, soll die Darstellung machen.

    Das ist durchaus für viele Anwendungen - nicht alle - sinnvoll. Und das wurde schon öfters realisiert. Warenkorbsysteme sind ein gutes Beispiel dafür.

    -Ich denke, ich werde um Javascript nicht herumkommen, wrde aber gerne ohne Java laufen.

    Im Interesse Deiner Anwender solltest Du Javascript einsetzen, um Benutzereingaben zu checken. Willst Du das auch serverseitig erledigen, muß für jede kleine 'diese Taste ist hier nicht erlaubt' Meldung ein Antwortdokument vom Server übertragen werden.

    -Kann ich mit Javascript den Browser so reduzieren, dass der Benutzer ihn nicht mehr als Browser erkennt? Ich denke ja, oder?

    Wie schlau sind Deine Anwender ? :-)
    Mit gutem Design und einigen Tricks läßt sich viel machen. Es ist aber auch viel Arbeit.

    -Kann ich interaktiv auf Tastendruecke reagieren? Der normale Benutzer wird garantiert mehr mit der Tastatur als mit der Maus arbeiten.

    Ja. Mit JavaScript: http://screenExa.net/sonst/event/

    -Wie schnell (von der Ablaufgeschwindigkeit her) kann ich eine solche Applikation machen? Ist es vom Protokoll-Overhead her ueberhaupt machbar?

    Die Performance kommt auf mehrere Faktoren an: Den Client-Rechner, die Verbindung, den Web-Server, die Server Applikation, die Einbindung der serverseitigen Applikation in den WebServer, ...
    Da kann man ganze Romane zu schreiben. Um es kurz zu machen: Eine gute Performance ist keine Hexerei.

    -Wie kann ich drucken? (Wenn es z.B. darum geht, Rechnungen auszudrucken.) Kann ich von den Clients aus die Drucker ansprechen und denen gezielte Informationen senden?

    Mit secure Java (selbst nicht ausprobiert) kann man die Windows-Druckersteuerung ansprechen. So genau, weiß ich da nicht Bescheid. Ansonsten ist man auf die bescheidenen Fähigkeiten der Browser angewiesen. Schau mal ins Archiv. Dazu gibt es etliche Threads.

    -Kann ich eigene Menueleisten bauen?

    Ja, mittels geeignetem Design, mittels Java z.B. (das Du nicht benutzen möchtest) oder mit dem MSIE5 und HMTL-Applications.

    -Geht das alles auch mit Netscape? (Ich moechte den Server unter Linux "fabrizieren", die Clients sollen unter beliebigen Systemen laufen)

    Je nach Komplexität der Aufgabe ist der Aufwand möglicherweise recht hoch. Aber unmöglich ist es nicht.

    Gruß
    Kess

  3. -Kann ich mit Javascript den Browser so reduzieren, dass der Benutzer ihn nicht mehr als Browser erkennt? Ich denke ja, oder?

    Was spricht dagegen, daß die Anwender alle Kenntnisse ihrer bisherigen Browser-Erfahrungen auf die neue Anwendung übertragen dürfen?
    Mach es ihnen doch nicht schwerer als notwendig - das ist eine Frage der Akzeptanz der Anwendung.

    -Kann ich interaktiv auf Tastendruecke reagieren? Der normale Benutzer wird garantiert mehr mit der Tastatur als mit der Maus arbeiten.

    Mit JavaScript-Events müßte das gehen.

    -Wie schnell (von der Ablaufgeschwindigkeit her) kann ich eine solche Applikation machen? Ist es vom Protokoll-Overhead her ueberhaupt machbar?

    Wenn Clients, Netz und Server nicht zu mickerig sind, geht es großartig schnell. Es muß ja nicht mit einem Ballerspiel konkurrieren, oder? ;-)

    -Wie kann ich drucken? (Wenn es z.B. darum geht, Rechnungen auszudrucken.) Kann ich von den Clients aus die Drucker ansprechen und denen gezielte Informationen senden?

    Hm, das ist ein dunkler Punkt, denke ich. Die Qualität und das Aussehen der Ausdrucke hängen von vielen Faktoren ab.
    In CSS 2.0 soll es Möglichkeiten geben, das genauer zu beschreiben, aber einige Dinge ("grenzenloses" HTML vs. DIN-A*-Papiergrößen) passen einfach nicht gut zueinander.

    -Kann ich eigene Menueleisten bauen?

    Klar: <../../tq.htm> ;-)

    -Geht das alles auch mit Netscape? (Ich moechte den Server unter Linux "fabrizieren", die Clients sollen unter beliebigen Systemen laufen)

    Ja.

    Ja, ich weiss, das klauen der Buttonleiste ist ein Unding im Internet, aber da es eine reine Intranet-Loesung werden soll, wo der Browser mir lediglich die Prorammierung der Client-Seite abnehmen soll)

    Kein Grund, dem Anwender seine Erwartungshaltung zu stören. Wenn Du ihm die Buttonleiste nimmst, mußt du damit rechnen, daß er die Tastatutkombinationen durchprobiert usw., nur um die gewohnten Standardoperationen wiederzufinden. Wozu der ganze Aufwand?

  4. Hallo Namensvetter,

    den Browser als Front-end ist eine gute Idee. Ich mache es auch ganz gerne so. Die Netzwerkfähigkeit und Programmierzeit (ähm naja je nachdem welche Ansprüche man stellt an die Oberfläche) sind ja die Vorteile dabei. Für den Nutzer ist zudem noch vorteilhaft, daß er sofort losarbeiten kann, ohne irgendwas installieren zu müssen.

    1.Ich denke, ich werde um Javascript nicht herumkommen, würde aber gerne ohne Java laufen.
    Wenns eh fürs Intranet ist, dann spricht eigentlich nichts gegen Java. Das erweitert die Möglichkeiten des Client ungemein.

    2.Kann ich mit Javascript den Browser so reduzieren, dass der Benutzer ihn nicht mehr als Browser erkennt? Ich denke ja, oder?
    Kannst Du. Beispielsweise ein neues Browserfenster öffnen, indem Menü's usw. abgeschaltet sind. Mit dem InternetExplorer ließe sich sogar die ganze Oberfläche einverleiben. :-)

    3.Kann ich interaktiv auf Tastendruecke reagieren? Der normale Benutzer wird garantiert mehr mit der Tastatur als mit der Maus arbeiten.
    Ja.

    4.Wie schnell (von der Ablaufgeschwindigkeit her) kann ich eine solche Applikation machen? Ist es vom Protokoll-Overhead her ueberhaupt machbar?
    Kommt darauf an, was Du machen willst. Irgendein 3D-Grafik-Power-Game, da würde ich von der Browservariante eher abraten, aber sonst sehe ich nicht so große Probleme (zudem habt ihr in eurem Intranet sicherlich nicht alle Modems *g*)

    5.Wie kann ich drucken? (Wenn es z.B. darum geht, Rechnungen auszudrucken.) Kann ich von den Clients aus die Drucker ansprechen und denen gezielte Informationen senden?
    Ja ich denke, daß ließe sich machen (z.B. die zu druckenden Daten als Grafik oder wie auch immer in einem "unsichtbaren" Frame ablegen und den Browser den Befehl zum drucken geben).

    6.Kann ich eigene Menueleisten bauen?
    Mit Javascript (also DHTML) kein Problem. Hab ich selbst schon gesehen

    7.Geht das alles auch mit Netscape? (Ich moechte den Server unter Linux "fabrizieren", die Clients sollen unter beliebigen Systemen laufen)
    Ich denke schon. Auch wenn da einiges anders realisiert ist als beim IE. Aber Crossbrowservarianten sind möglich.

    Ich kenne zwar nicht Deine genaue Anwendung, aber für viele Sachen ist sowas also durchaus denkbar und auch realisierbar.

    Gruß
      Michael

  5. -Kann ich eigene Menueleisten bauen?

    Hi Michael,

    ich kann dir ein script, welches eine Menusteuerung realisiert zur Verfügung stellen.

    Es hat allerdings noch einen großen Nachteil: es läuft nur im IE4 und IE5.

    Es ist komplett in Javascript geschrieben.

    Es lässt sich als fast vollwärtiges (in Entwicklung) Menusystem, wie man es in jedem Anwendungsprogramm kennt, einsetzten.

    Zur Zeit sind beliebig lange Untermenüstruckturen, anklickbare Menueinträge und Zwischenräume möglich.

    Ich arbeite noch an Icons, verschiedenen Formatierungsmöglichkeiten und Tastaturbedienbarkeit.

    Die Menueinträge werden in einer seperaten, externen Javascriptdatei gespeichert, und sind somit leicht zu editieren.

    Das Menu geht über jegliches Seitenlayout drüber, ohne es zu beeinflussen.

    Maile mir, wenn du das Script gebrauchen kannst und ich werde es dir geben. man müsste sich natürlich über die Administration des selben unterhalten.

    ALEX