Eigenen Browser erstellen?

4 Antworten

Zum einen kannst du WebView-Controls nehmen, die einige Frameworks / Bibliotheken bereits anbieten. So lässt sich in Windows Forms oder WPF (.NET) der Chromium-Browser via CefSharp einbinden oder Qt's WebView-Control nutzt diesen Browser ebenfalls bereits.

Grundsätzlich sind die Quelldateien für einige Browser-Projekte offen verfügbar:

Solltest du aber einen komplett eigenen Browser entwickeln wollen, müsstest du dich vorerst mit sehr vielen Themen beschäftigen.

  • Wie du Seiten aufrufen kannst (HTTP/S-Networking, bestenfalls auch WS-Support; Multiple-Connection-Handling)
  • Wie du deine GUI intuitiv gestaltest (GUI-Komponenten zusammenbauen, ein vernünftiges User Feedback bieten, ...)
  • Wie sich alle notwendigen Daten am besten herunterladen und interpretieren lassen (Handhabung verschiedener Content-Types mittels Mimetype)
  • Wie du die Daten in deinem Browser darstellen lässt.

Letzteres würde einen (XML-/HTML-)Parser verlangen, die gedeuteten Elemente müssten folgend gezeichnet werden. Für diesen Prozess wäre die Spezifikation des W3C eine deiner wichtigsten Quellen.

Einen interessanten Artikel, wie das funktionieren kann, findest du hier, von Tali Garsiel and Paul Irish: How Browsers Work: Behind the scenes of modern web browsers.

Aber das Parsen und Rendern von HTML würde nicht ausreichen. CSS fordert ebenfalls einer zügigen Interpretation und eine JavaScript-Engine ist vonnöten, welche Zugriff auf ein DOM hat, so wie es vom W3C beschrieben wird. Vielleicht könntest du in dieser Angelegenheit eine bereits vorhandene Engine bei dir einbauen:

Interessant wäre es an dieser Stelle natürlich, wenn du neue Features einbringen wolltest, bspw. einen nativen Java-Support o.ä.. Dies steht dir in dem Fall ja dann frei.

Da so ein Projekt ziemlich aufwendig ist und viel guter Planung fordert, würde ich dir, solltest du so etwas aufziehen wollen, eine mögliche Alternative für den Anfang vorschlagen: Ein einfacher textbasierter Browser (so wie Lynx). Bereits so ein Programm macht genügend Arbeit, aber für den Anfang spart es an bestimmten Aufwänden ein.

du musst den HTML-Code einlesen und als Grafig darstellen...

Kann man grundsätzlich in jeder Clientseitigen, angemessenen Sprache...

Dazu musst du halt erstmal HTML können. Wenn du noch mit CSS weitermachen willst wird es da schon wesentlich schwerer...

Lern C/C++ und schreib ne eigene Browser-Engine :)

HagugaMensch750 
Fragesteller
 13.06.2019, 16:48

Okay, Danke :D Werde es versuchen :)

0
user723998  13.06.2019, 16:49
@HagugaMensch750

Gern, oder du modifizierst ein Firefox. Ist ja open Source. Wurde auch mit C++ und Javascript erstellt.

1
HagugaMensch750 
Fragesteller
 13.06.2019, 16:54
@user723998

Okay Danke :D Muss man den saugen??? Bin kein Staubsauger 😂😂😂😂

0
user723998  13.06.2019, 16:56
@HagugaMensch750

Sorry, downloaden natürlich :P "Saugen" hat man damals immer zu Warez-Downloads und Torrents gesagt. Also "illegales downloaden" = "saugen" ;D

0
HagugaMensch750 
Fragesteller
 13.06.2019, 16:57
@user723998

Das war auch nur als Scherz gemeint :P Aber wartemal.... "illegales downloaden" = "saugen"??? :DDD

0
user723998  13.06.2019, 16:58
@HagugaMensch750

Schon verstanden :D

ja, so stehts nicht im Duden, aber auf den Foren und so, hat man immer "saugen" gesagt, wenn man pirated stuff (software, cracks, premium porn) GESAUGT hat ;P

0