Eigenen Browser in C# Programmieren.



  • Hallo zusammen,

    ich habe mal darüber nachgedacht, wie ein Browser so funktioniert und wollte daher mal einen kleinen Browser, der lediglich html darstellt, programmieren.
    Habt Ihr vielleicht Links oder Erfahrungen.
    Ich habe bereits gegoogelt und leider nichts brauchbares gefunden
    Vielen Dank im voraus



  • Ein Browser besteht im Grunde aus drei Komponenten:

    1. Benutzerschnitstelle
    2. Komponente um uris aufzulösen und abzufragen
    3. Renderer für CSS, (X)HTML usw.

    Für 2. solltest du dir die HTTP RFC durchlesen. Für 3. solltest du dir die CSS Specs durchlesen, da du von dort ausgehend deinen Renderer bauen kannst.

    Mit Gecko, KHTML und Webkit (letzteres aus KHTML basierend), kannst du dir ja bestehende HTML Renderer angucken. Wobei die alle nicht sehr optimal sind.

    Der beste weg heutzutage einen Renderer zu implementieren ist vermutlich erstmal die (X)HTML Dokumente in ein DOM zu packen. Dann die Stylesheets auswerten. Also XSL Transformationen und CSS Attribute zuordnen. Von dort ausgehend, kannst du dann gucken was du wo mit welchen Attributen rendern musst.



  • Hi, das habe ich mir mal auch überlegt.
    Viele Browser nutzen z.B. Gecko (Firefox Renderer) um die Grafikausgabe zu machen.

    Aber wo kriegt man bitte Gecko her? Ich kann nur die Source von Firefox z.B. ziehen, aber ich sehe in den sources keinen Hinweis wo ich nun den Geckoteil finde.

    Gibts da vielleicht schon ein fertiges Paket wo ich das direkt in eigene Projekte integrieren kann? Würde gerne mal auch so einen eigenen Browser zusammenbasteln.

    Gruß





  • rüdiger schrieb:

    Ein Browser besteht im Grunde aus drei Komponenten:

    1. Benutzerschnitstelle
    2. Komponente um uris aufzulösen und abzufragen
    3. Renderer für CSS, (X)HTML usw.

    dateien herunterladen sollte ein browser übrigens auch können, achja von ssl etc. natürlich mal abgesehen.



  • ahnung von browsern schrieb:

    rüdiger schrieb:

    Ein Browser besteht im Grunde aus drei Komponenten:

    1. Benutzerschnitstelle
    2. Komponente um uris aufzulösen und abzufragen
    3. Renderer für CSS, (X)HTML usw.

    dateien herunterladen sollte ein browser übrigens auch können,

    gehört zum abfragen

    achja von ssl etc. natürlich mal abgesehen.

    Nö. Ist eher optional


Anmelden zum Antworten