Hey Community,
da ich im ersten Post das Ganze noch nicht so veranschaulicht habe, mache ich es nochmal:
Also heute wollte ich Euch zeigen, warum Ihr andere Browser Engines verwenden solltet und vor allem was Engines sind...
Was sind Engines?
Spoiler anzeigen
Zunächst kennen viele von euch wahrscheinlich HTML... Dies bedeutet: "Hyper Text MarkUp Language"
Es ist also eine Sprache, die unter Anderem zum Erstellen und einichten von Webseiten dient. Aber es wird auch verwendet, um visuelle Layouts zu erstellen und anzuzeigen. (Dies geschieht dann mit dem HTML-Rendering, auch unabhängig von WebBrowsern)...
Das HTML-Rendering ordnet auch einem Dokument eine visuelle Darstellung des Textes zu.
Dies ist also nicht nur bei Webseiten der Fall. Auch bei Beamern beispielsweise, kann dies verwendet werden.
Um nun alle Elemente einer Webseite korrekt anzuzeigen usw., verwenden WebBrower daneben aber auch noch CSS (Cascading Style Sheets).
Dies wird von fast jedem Browser hergenommen...
Per Voreinstellung liefert der Browser ein Standard-Stylesheet aus, das die meisten Elemente von Grund aus formatiert.
Die Vorteile von CSS sind zudem, dass es sehr flexibel ist. Es können also auch benutzerdefinierte Styles verwendet werden.
Das HTML-Rendering ist also ein Teilbereich eines Webbrowsers, der einer eher semantisch orientierten Dokumentenstruktur eine visuelle Darstellung zuordnet. Eine Layout-Engine interpretiert das Layoutmodell, das durch CSS definiert wurde, und füllt in dieses Layout den durch HTML semantisch angereicherten Text.
Also gibt CSS praktisch den Stylesheet vor und dieser wird dann von der Engine mit dem Text vom HTML-Rendering gekoppelt.
So funktioniert das Ganze dann grundlegend. Das ist dann sozusagen die Hauptaufgabe von Engines allgemein. Darum nennt man diese auch Rendering,- oder wie oben Layout-Engines.
Es gibt aber jedoch natürlich auch noch andere Teile, mit denen sich Engines auseinandersetzen...
Wer mal nachsehen will: Klick (Ist in Englisch)
Was hat das jetzt mit VB und den WebBrowser Controls zu tun?
Spoiler anzeigen
Also, natürlich verwendet wie erklärt fast jeder Browser eine eigene Engine...
Jeder von euch kennt den Internet Explorer...
Das Problem ist, das die Engine vom IE sehr ranzig und unsauber ist...
Dies führt zu schwächeren Leistungen in den Benchmarks, als auch zu dem Probem, dass bestimmte Inhalte nicht immer korrekt angezeigt werden.
(Diese Probleme haben viele im Forum)
Es gibt auch Fälle, bei denen sogar Flash beim neuesten IE (10) große Probleme bereitet, was aber nicht unbedingt genau darauf zurückführen muss!!!
Wie Ihr seht, sind alle diese Punkte nicht sehr schön und nicht gerade freundlich für den User!
Und da ist das Problem:
Denn die selbe Engine wie der IE, verwendet auch das WebBrowser Control in VB!
Jetzt könnt Ihr euch schon denken, warum es öfters Probleme mit dem Control gibt.
Und genau aus dem Grund empfehle ich Euch andere Engines zu verwenden! Siehe nächster Abschnitt...
Was gibt es für andere Engines?
Spoiler anzeigen
Also, natürlich gibt es auch Leute bzw. Gruppen, die eigene Engines erstellen, bzw. welche von besseren Browsern verwenden...
Es gibt klar die Möglichkeit eine eigene Engine zu erstellen, jedoch dauert dies Monate, wenn nicht noch länger!
Und dies ist auch wirklich eine Aufgabe für Gruppen an Vollprofis...
Also macht euch keine Mühe alleine.
Es gibt ja auch fertige Engines, die Ihr nutzen könnt!
Da wären die zwei:
GeckoFX und Webkit.
GeckoFX verwendet die Engine von Mozilla Firefox und Webkit die von Safari und Google Chrome!
Downloads findet Ihr unten!
Diese Engines sind um einiges sauberer und schnellerer als die des Standard-Webbrowser Controls in VB.
Wenn Ihr also einen Browser proggt, dann empfehle ich euch, wenn ihr schon sowas macht, immer eine von den beiden zu nehmen!
Probiert es einfach aus und Ihr werdet sehen, euer Browser wird viel flüssiger und besserer laufen...
Wie bekomme ich die Engines in VB?
Spoiler anzeigen
Dies ist eigentlich nicht schwer!
Alles was Ihr tun müsst, ist das Archiv auf dem Computer zu entpacken, z. B. mit WinRAR...
Dann seht Ihr viele .DLL-Dateien!
Diese sind Anwendungserweiterungen!
Um sie zu importieren, müsst Ihr nur darauf achten, was was ist!
Das Control für die Toolbox von GeckoFX ist beispielsweise: SkyBound_GeckoFX.dll
Und bei WebKit: WebKitBrowser.dll oder WebKit.dll
Geht in VB rein und wählt oben im Menü den Reiter "Extras".
Dann klickt auf "Toolboxelemente hinzufügen..."
Nun kommt ein neues Fenster (kann auch ein wenig dauern)
Dort klickt Ihr unten rechts auf "Durchsuchen..."
Nun navigiert Ihr zu dem entpackten Ordner und öffnet die Datei für das Control! Beispielsweise: "SkyBound_GeckoFX.dll"
Seid sicher, dass Ihr dann ein Häckchen gesetzt habt und dann klickt auf "OK".
Nun habt Ihr das Control in der Toolbox. Ich empfehle euch zusätzlich die anderen .DLLs im Ordner als Verweis hinzuzufügen, sodass alles wichtige vorhanden ist und keine Fehler erzeugt werden!
Dazu geht ihr in der Menüleiste oben (bzw. im MenuStrip) auf "Projekt" und dann auf "Verweis hinzufügen". Nun wählt Ihr im TabControl oben "Durchsuchen" und wählt alle anderen .DLLs im Ordner aus! Klickt wieder auf "Hinzufügen" bzw. "Öffnen" und setzt Häckchen!
Drückt "OK" und voilà, habt Ihr alles importiert und solltet die Controls nun problemlos nutzen können. Notfalls sind auch noch ReadMe-Dateien etc. enthalten...
Webkit gibt es auch für Mac OS X! Falls Ihr also in Xcode proggt...
Für GeckoFX benötigt Ihr noch den XULRunner.
eclipse.org/atf/old/downloads/…nualXulrunner_section.php
Downloads
So, ich hoffe ich konnte euch ein wenig weiter helfen!
Grüße, programmer71.
da ich im ersten Post das Ganze noch nicht so veranschaulicht habe, mache ich es nochmal:
Also heute wollte ich Euch zeigen, warum Ihr andere Browser Engines verwenden solltet und vor allem was Engines sind...
Was sind Engines?
Zunächst kennen viele von euch wahrscheinlich HTML... Dies bedeutet: "Hyper Text MarkUp Language"
Es ist also eine Sprache, die unter Anderem zum Erstellen und einichten von Webseiten dient. Aber es wird auch verwendet, um visuelle Layouts zu erstellen und anzuzeigen. (Dies geschieht dann mit dem HTML-Rendering, auch unabhängig von WebBrowsern)...
Das HTML-Rendering ordnet auch einem Dokument eine visuelle Darstellung des Textes zu.
Dies ist also nicht nur bei Webseiten der Fall. Auch bei Beamern beispielsweise, kann dies verwendet werden.
Um nun alle Elemente einer Webseite korrekt anzuzeigen usw., verwenden WebBrower daneben aber auch noch CSS (Cascading Style Sheets).
Dies wird von fast jedem Browser hergenommen...
Per Voreinstellung liefert der Browser ein Standard-Stylesheet aus, das die meisten Elemente von Grund aus formatiert.
Die Vorteile von CSS sind zudem, dass es sehr flexibel ist. Es können also auch benutzerdefinierte Styles verwendet werden.
Das HTML-Rendering ist also ein Teilbereich eines Webbrowsers, der einer eher semantisch orientierten Dokumentenstruktur eine visuelle Darstellung zuordnet. Eine Layout-Engine interpretiert das Layoutmodell, das durch CSS definiert wurde, und füllt in dieses Layout den durch HTML semantisch angereicherten Text.
Also gibt CSS praktisch den Stylesheet vor und dieser wird dann von der Engine mit dem Text vom HTML-Rendering gekoppelt.
So funktioniert das Ganze dann grundlegend. Das ist dann sozusagen die Hauptaufgabe von Engines allgemein. Darum nennt man diese auch Rendering,- oder wie oben Layout-Engines.
Es gibt aber jedoch natürlich auch noch andere Teile, mit denen sich Engines auseinandersetzen...
Wer mal nachsehen will: Klick (Ist in Englisch)
Was hat das jetzt mit VB und den WebBrowser Controls zu tun?
Also, natürlich verwendet wie erklärt fast jeder Browser eine eigene Engine...
Jeder von euch kennt den Internet Explorer...
Das Problem ist, das die Engine vom IE sehr ranzig und unsauber ist...
Dies führt zu schwächeren Leistungen in den Benchmarks, als auch zu dem Probem, dass bestimmte Inhalte nicht immer korrekt angezeigt werden.
(Diese Probleme haben viele im Forum)
Es gibt auch Fälle, bei denen sogar Flash beim neuesten IE (10) große Probleme bereitet, was aber nicht unbedingt genau darauf zurückführen muss!!!
Wie Ihr seht, sind alle diese Punkte nicht sehr schön und nicht gerade freundlich für den User!
Und da ist das Problem:
Denn die selbe Engine wie der IE, verwendet auch das WebBrowser Control in VB!
Jetzt könnt Ihr euch schon denken, warum es öfters Probleme mit dem Control gibt.
Und genau aus dem Grund empfehle ich Euch andere Engines zu verwenden! Siehe nächster Abschnitt...
Was gibt es für andere Engines?
Also, natürlich gibt es auch Leute bzw. Gruppen, die eigene Engines erstellen, bzw. welche von besseren Browsern verwenden...
Es gibt klar die Möglichkeit eine eigene Engine zu erstellen, jedoch dauert dies Monate, wenn nicht noch länger!
Und dies ist auch wirklich eine Aufgabe für Gruppen an Vollprofis...
Also macht euch keine Mühe alleine.
Es gibt ja auch fertige Engines, die Ihr nutzen könnt!
Da wären die zwei:
GeckoFX und Webkit.
GeckoFX verwendet die Engine von Mozilla Firefox und Webkit die von Safari und Google Chrome!
Downloads findet Ihr unten!
Diese Engines sind um einiges sauberer und schnellerer als die des Standard-Webbrowser Controls in VB.
Wenn Ihr also einen Browser proggt, dann empfehle ich euch, wenn ihr schon sowas macht, immer eine von den beiden zu nehmen!
Probiert es einfach aus und Ihr werdet sehen, euer Browser wird viel flüssiger und besserer laufen...
Wie bekomme ich die Engines in VB?
Dies ist eigentlich nicht schwer!
Alles was Ihr tun müsst, ist das Archiv auf dem Computer zu entpacken, z. B. mit WinRAR...
Dann seht Ihr viele .DLL-Dateien!
Diese sind Anwendungserweiterungen!
Um sie zu importieren, müsst Ihr nur darauf achten, was was ist!
Das Control für die Toolbox von GeckoFX ist beispielsweise: SkyBound_GeckoFX.dll
Und bei WebKit: WebKitBrowser.dll oder WebKit.dll
Geht in VB rein und wählt oben im Menü den Reiter "Extras".
Dann klickt auf "Toolboxelemente hinzufügen..."
Nun kommt ein neues Fenster (kann auch ein wenig dauern)
Dort klickt Ihr unten rechts auf "Durchsuchen..."
Nun navigiert Ihr zu dem entpackten Ordner und öffnet die Datei für das Control! Beispielsweise: "SkyBound_GeckoFX.dll"
Seid sicher, dass Ihr dann ein Häckchen gesetzt habt und dann klickt auf "OK".
Nun habt Ihr das Control in der Toolbox. Ich empfehle euch zusätzlich die anderen .DLLs im Ordner als Verweis hinzuzufügen, sodass alles wichtige vorhanden ist und keine Fehler erzeugt werden!
Dazu geht ihr in der Menüleiste oben (bzw. im MenuStrip) auf "Projekt" und dann auf "Verweis hinzufügen". Nun wählt Ihr im TabControl oben "Durchsuchen" und wählt alle anderen .DLLs im Ordner aus! Klickt wieder auf "Hinzufügen" bzw. "Öffnen" und setzt Häckchen!
Drückt "OK" und voilà, habt Ihr alles importiert und solltet die Controls nun problemlos nutzen können. Notfalls sind auch noch ReadMe-Dateien etc. enthalten...
Webkit gibt es auch für Mac OS X! Falls Ihr also in Xcode proggt...
Für GeckoFX benötigt Ihr noch den XULRunner.
eclipse.org/atf/old/downloads/…nualXulrunner_section.php
Downloads
So, ich hoffe ich konnte euch ein wenig weiter helfen!
Grüße, programmer71.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „programmer71“ ()