Eigenen Browser programmieren

Diskutiere Eigenen Browser programmieren im Developer Network Forum im Bereich Hardware & Software Forum; Hallo ich möchte gerne einen eigenen Browser programmieren Meine Frage: Welche Kenntnisse werden benötigt und wo soll ich anfangen ? lg...
  • Eigenen Browser programmieren Beitrag #1
S

steve46

Gesperrter User
Dabei seit
22.08.2008
Beiträge
209
Reaktionspunkte
0
Ort
Bad Hall
Hallo ich möchte gerne einen eigenen Browser programmieren

Meine Frage:

Welche Kenntnisse werden benötigt und wo soll ich anfangen ?

lg steve46
 
  • Eigenen Browser programmieren Beitrag #2
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Da nimmst du dir aber einiges vor!
Als erstes würde ich noch nicht an das schöne Fensterchen denken, sondern erstmal überlegen, wie du die html-Datei vom Server runterlädst (über Port 80) und temporär speicherst. Dann wird das schwierigste sein, die Dateien zu parsen. Du musst ja Tausende Tags (beispielsweise <I>, <B>, <U>, um nur auf ein paar einzugehen) "übersetzen".
Erst wenn du das geschafft hast, kannst du mal ans Darstellen denken!

An deiner Stelle würde ich mir erstmal die Mozilla-Source überfliegen, um einen ersten Eindruck zu bekommen und gleichzeitig das gesamte Projekt im Keim zu ersticken...;)
 
  • Eigenen Browser programmieren Beitrag #3
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
HAHA hengste so mit deinem Browsergame fest, das du dir dafür extra noch einen Browser programmieren musst? :D
 
  • Eigenen Browser programmieren Beitrag #4
bummelbum

bummelbum

Bekanntes Mitglied
Dabei seit
18.04.2009
Beiträge
946
Reaktionspunkte
0
mh bei C++ gibts eine Browser Komponente.
Einfach auf die Form ziehen, dann noch ein Eingabefeld und ein button.
Zwei zeilen quellcode und fertig :)
 
  • Eigenen Browser programmieren Beitrag #5
P

PeBe

Bekanntes Mitglied
Dabei seit
11.12.1999
Beiträge
1.229
Reaktionspunkte
0
lern erstmal programmieren und ueberleg dir dann was fuer programme du gebrauchen koenntest.
 
  • Eigenen Browser programmieren Beitrag #6
MagicMatze

MagicMatze

Bekanntes Mitglied
Dabei seit
23.11.2006
Beiträge
1.227
Reaktionspunkte
0
Ort
Nordbaden
  • Eigenen Browser programmieren Beitrag #7
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
HAHA hengste so mit deinem Browsergame fest, das du dir dafür extra noch einen Browser programmieren musst? :D
YMMD!:lach::goil:

mh bei C++ gibts eine Browser Komponente.
Einfach auf die Form ziehen, dann noch ein Eingabefeld und ein button.
Zwei zeilen quellcode und fertig :)
Hmm. Da halte ich nichts davon. Entweder alles selbst entworfen, oder nichts. Aber wenn du schon den kompletten Browser fertig in Form von Source-Code daliegen hast, kannst du ja gleich Mozilla Firefox kompilieren...:rolleyes:

lern erstmal programmieren und ueberleg dir dann was fuer programme du gebrauchen koenntest.
Du meinst den Browser zerlegen? 1.Download; 2.Parser; 3.Rendern; 4.Bildschirmausgabe, etc.. Gute Idee. Anders wohl sowieso nicht machbar.

Bei Windows dürfte das dann wohl die Internet Explorer Render Engine sein - also kein eigens entworfener Browser.

Aber im Großen und Ganzen sicherlich ein sehr großes Unterfangen und sehr schwer umzusetzen.

http://de.wikipedia.org/wiki/Lynx_(Browser)
Sehr sehr schwer. Ohne längere Programmiererfahrung wohl eher ein sinnloses Unterfangen. Ja, Lynx währe noch eher machbar, ich habe auch schon dran gedacht.
 
  • Eigenen Browser programmieren Beitrag #8
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Hmm. Da halte ich nichts davon. Entweder alles selbst entworfen, oder nichts.
Das hältst Du aber nicht lange durch. Warum das Rad neu erfinden, wenn es schon gute Komponenten gibt.

Aber wenn du schon den kompletten Browser fertig in Form von Source-Code daliegen hast, kannst du ja gleich Mozilla Firefox kompilieren...:rolleyes:
Webkit wäre auch eine Alternative ( http://webkit.org/ ). Google Chrome basiert darauf.

Sehr sehr schwer. Ohne längere Programmiererfahrung wohl eher ein sinnloses Unterfangen. Ja, Lynx währe noch eher machbar, ich habe auch schon dran gedacht.
Für einen Anfänger ist das, was man heute unter einem Webbrowser versteht, nicht machbar. Selbst Google greift auf vorhandene Komponenten zurück.
Einen einfachen HTML-Viewer zu programmieren sollte aber drin sein (CSS, JavaScript usw. mal außenvorgelassen).
 
  • Eigenen Browser programmieren Beitrag #9
genten

genten

Bekanntes Mitglied
Dabei seit
26.09.2007
Beiträge
135
Reaktionspunkte
0
Wozu brauchst du den denn ? Also welche Funktionen muss der haben?
 
  • Eigenen Browser programmieren Beitrag #10
H

Hackmack

Bekanntes Mitglied
Dabei seit
04.04.2009
Beiträge
47
Reaktionspunkte
0
Um zu lernen ist es sinnvoll alles selber zu machen.
Will man ein brauchbares Produkt bekommen, gilt es, soviel wie möglich auf gute, fertige Komponenten zurückgreifen.

Grundlage eines Browsers ist das HTTP Protokoll. Dieses musst du möglichst vollständig implementieren. HTTP ist ein ASCII Protokoll, die Anfragen lassen sich daher recht einfach und nachvollziehbar zusammenbauen.
Beispiel: der Nutzer tippt www.google.de in die Adresszeile. Du setzt folgenden Request ab:
Code:
GET / HTTP/1.1
Host: www.google.de
User-Agent: myBrowser deluxe
Accept: text/html
Accept-Language: de-de
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Du bekommst idR. eine Antwort vom Server. Einige Headerinformationen und die Payload, die oft aus (x)html Code besteht. (x)html ist eine kontextfreie Sprache, die du mit einem CFG-Parser parsen kannst. Die daraus gewonnene Baumstruktur kannst du dann entsprechend analysieren und das Ergebnis häppchenweise der Renderengine übergeben, die die verschiedenen Elemente geeignet darstellt. Referenzierte Elemente (Bilder, scripte, css etc.) musst du zuvor natürlich mit seperaten HTTP Anfragen nachladen und die Informationen hieraus entsprechend anwenden. Für css brauchst du einen seperaten Parser. Ich glaube css ist bereits regulär, was bedeutet, dass du den Parsevorgang mit einigen Regex abgrasen kannst.

Und das ist erst der Anfang. Ist nen Haufen Arbeit, viel Spass.
 
  • Eigenen Browser programmieren Beitrag #11
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Wenn es dir nur um den Browser geht, würde ich mir einen USB-Stick mit Linux (am besten Ubuntu, das ist gut für Windows-User) basteln und darunter Gambas installieren. Dann Gambas lernen xD und einen Browser bauen.

Wenn du das Rad neu erfinden willst, ist das nicht gut, das habe ich früher auch immer gemacht.

Wenn du programmieren lernen willst, machst du am besten alles in Assembler von Grund auf xD :iro:
Nee nee, besser in C++, diese Sprache macht nämlich Sinn.
 
  • Eigenen Browser programmieren Beitrag #12
Max11.111

Max11.111

Bekanntes Mitglied
Dabei seit
12.06.2008
Beiträge
2.416
Reaktionspunkte
0
Um zu lernen ist es sinnvoll alles selber zu machen.
Will man ein brauchbares Produkt bekommen, gilt es, soviel wie möglich auf gute, fertige Komponenten zurückgreifen.

Grundlage eines Browsers ist das HTTP Protokoll. Dieses musst du möglichst vollständig implementieren. HTTP ist ein ASCII Protokoll, die Anfragen lassen sich daher recht einfach und nachvollziehbar zusammenbauen.
Beispiel: der Nutzer tippt www.google.de in die Adresszeile. Du setzt folgenden Request ab:
Code:
GET / HTTP/1.1
Host: www.google.de
User-Agent: myBrowser deluxe
Accept: text/html
Accept-Language: de-de
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Du bekommst idR. eine Antwort vom Server. Einige Headerinformationen und die Payload, die oft aus (x)html Code besteht. (x)html ist eine kontextfreie Sprache, die du mit einem CFG-Parser parsen kannst. Die daraus gewonnene Baumstruktur kannst du dann entsprechend analysieren und das Ergebnis häppchenweise der Renderengine übergeben, die die verschiedenen Elemente geeignet darstellt. Referenzierte Elemente (Bilder, scripte, css etc.) musst du zuvor natürlich mit seperaten HTTP Anfragen nachladen und die Informationen hieraus entsprechend anwenden. Für css brauchst du einen seperaten Parser. Ich glaube css ist bereits regulär, was bedeutet, dass du den Parsevorgang mit einigen Regex abgrasen kannst.

Und das ist erst der Anfang. Ist nen Haufen Arbeit, viel Spass.
Es muss ja nicht gleich 1.1 der Request vom Firefox sein. Um es nicht noch komplizierter zu machen: Es sollte für den Anfang auch reichen nur
Code:
GET / HTTP/1.1\r\n
Host: www.google.de\r\n\r\n
via Socket an Google zu senden. Allerdings sollte man nicht vergessen, "\r\n" als Zeilenvorschub zu verwenden. Un die zwei Leerzeilen sind auch beabsichtigt.


Wenn es dir nur um den Browser geht, würde ich mir einen USB-Stick mit Linux (am besten Ubuntu, das ist gut für Windows-User) basteln und darunter Gambas installieren. Dann Gambas lernen xD und einen Browser bauen.
Warum einfach, wenns auch kompliziert geht?
Wenn du programmieren lernen willst, machst du am besten alles in Assembler von Grund auf xD :iro:
Nee nee, besser in C++, diese Sprache macht nämlich Sinn.
Was hast Du gegen Assembler? Wenn Du meinst, C++ könne alles ohne Probleme: Schreib mir bitte nen Bootloader bzw. ein kleines OS komplett in C++.
Du musst ja nur "Hallo Welt" ausgeben - Viel Spaß!:hal:
 
  • Eigenen Browser programmieren Beitrag #13
Cheddar

Cheddar

Bekanntes Mitglied
Dabei seit
05.04.2009
Beiträge
453
Reaktionspunkte
0
Ort
Cheddar (Somerset)
Code:
...
if(OS!=Browser)
{
realität=true;
return 0;
}
...

Ich denke nur, dass es keinen Sinn macht einen Browser in Assembler zu schreiben, also stelle ich dir folgende Aufgabe:
Schreibe mir in weniger als einem Jahr einen Browser, der nur aus Assemblercode besteht. Jedes "mov", "org", "sinn" und "los" gibst du selbst ein, sonst zählt's nicht.
 
Thema:

Eigenen Browser programmieren

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben