Eigenen Browser erstellen?
Hallo Leute!
Ich wollte wissen, wie man einen eigenen Browser programmiert, der nicht über den Internet Explorer läuft. Die Methode mit Visual Basic habe ich schon probiert, aber ich will nicht, das der Browser über den Internet Explorer läuft.
Danke im Voraus. :)
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:
- ChakraEngine
- JavaScriptCore
- SpiderMonkey
- V8
- usw. ...
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.
Der Quellcode für einige Browser ist problemlos zu bekommen - beispielsweise unter https://dxr.mozilla.org/seamonkey/source/
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 :)
Gern, oder du modifizierst ein Firefox. Ist ja open Source. Wurde auch mit C++ und Javascript erstellt.
Ist Firefox Open Source?! Wusste ich ja garnich :D
Klar, hier kannste den Source Code saugen: https://developer.mozilla.org/de/docs/Mozilla/Developer_guide/Quelltexte/Mozilla_Quelltexte_herunterladen
Okay Danke :D Muss man den saugen??? Bin kein Staubsauger 😂😂😂😂
Sorry, downloaden natürlich :P "Saugen" hat man damals immer zu Warez-Downloads und Torrents gesagt. Also "illegales downloaden" = "saugen" ;D
Das war auch nur als Scherz gemeint :P Aber wartemal.... "illegales downloaden" = "saugen"??? :DDD
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
Okay, Danke :D Werde es versuchen :)