Andere Browser-Renderingengines nutzbar?
Hi Leute,
WP8 supportet ja mittlerweile nativen Code bzw. C++
Und dazu kam mir mal ein interessanter Gedanke. Wäre es prinzipiell nicht möglich, zb die Gecko-Engine zu nehmen und iwie für Windows Phone 8 zu kompilieren? Wahrscheinlich wohl eher nicht, wegen den APIs, aber rein theoretisch müsste es doch damit gehen, sich irgendwie ne andere Engine zu compilen als Browserengine neben Trident (IE).
Wahrscheinlich kommt man damit wohl aber nich bei MS durch den Store oder?
Wäre mal interessant eure Meinung dazu zu hören, auch aufgrund der Tatsache, dass ich bisher die WP8-APIs noch nicht wirklich angeschaut hab.
LG
internetfreak
AW: Andere Browser-Renderingengines nutzbar?
Die Rendering-Engine sollte machbar sein, wobei da sicher Anpassungen nötig wären. Unter Windows wird ja jetzt auf Direct2D fürs Hardwarebeschleunigte Rendering zurückgegriffen, dass es so unter WP8 nicht gibt (Direct3D hingegen schon).
Das größere Problem (auch bei Windows RT) ist hingegen, dass sämtlicher Datenspeicher in Metro-Anwendungen, ebenso wie in WP8-Apps, nicht als ausführbar markiert werden kann (d.h. wenn ich mir ein Bild aus dem Netz lade in dem Schadcode steckt, kann das dann nicht als ausführbarer Code angesprungen werden). Damit fällt für die JavaScript-Engines die Möglichkeit flach von JavaScript nach Native Code zu übersetzen. Denn das müsste ja auch im Datenspeicherbereich des Browsers passieren. Dadurch wäre dann die JavaScript-Performance in keiner Weise konkurrenzfähig. Dafür sind aber C++ Anwendungen in WinRT/WP8 deutlich besser gegen Schadcode geschützt, da üblicherweise das markieren des Speichers als NoExecute dem Programmierer überlassen ist und das dann halt einfach meistens nicht passiert, weil zusätzlicher Aufwand.
Unter den Vorraussetzungen bringen Mozilla und Google ihre Browser nicht auf Windows RT und bei Windows Phone 8 wird die Situation wohl nicht anders aussehen.
Die Zertifizierung von Microsoft schließt alternative Browser oder Rendering Engines nicht aus (anders als das bei Apple der Fall ist). Der Nokia Express Browser arbeitet ja auch nicht mit der IE-Engine (wobei dort ein Teil des Renderings auf Servern erfolgt). Was aber jedenfalls nicht möglich ist, ist unter WP8 einen anderen Browser als Standard festzulegen.
AW: Andere Browser-Renderingengines nutzbar?
Danke Stevie für die Antwort. So genau kenne ich mich leider ja nich aus mit der Materie, daher konnte ich mir das nicht so wirklich alles vorstellen.
Schade eigentlich, dass man sich nicht mal eben seine Engine selbst portieren und dann nutzen kann. Das mit den Standardbrowsern weiß ich ja, war ja unter WP7 auch nich anders.
dann wollen wir mal hoffen, dass das noch anders wird, weil ein alternativer Browser könnte schon helfen, wenn man Webentwickler ist und mal eben keine anderen mobilen Geräte hat, die man testen kann. Als normaler Nutzer wäre es natürlich auch nich schlecht, auf alternative Browser zurückzugreifen, wobei ich persönlich mit dem IE nicht unzufrieden bin, für meine mobilen Surfaktivitäten reicht er.
AW: Andere Browser-Renderingengines nutzbar?
Na ja, tendenziell hast du es einfacher wenn du am PC entsprechende Browser hast. In den Entwicklertools gibt's in den Desktop-Browsern ja teilweise Einstellungen um die mobile Version zu simulieren und damit zu testen.
Wegen der Sache mit den Speicherbereichen: ich kann ja irgendwie nachvollziehen, dass sie da gerade auch im Hinblick auf Native-Code-Support einen Weg gewählt haben, der die Ausnutzbarkeit von Sicherheitslücken reduziert. So nebenbei ist das bei WebKit unter iOS ähnlich. Da steht die schnelle JavaScript-Engine außerhalb von Safari auch nicht zur Verfügung (wenn man also die WebView in einer iOS App nutzt). Da werden ebenfalls Sicherheitslücken als Bergründung ins Feld geführt.
Unterm Strich glaube ich da momentan also weniger, dass wir Portierungen anderer Engines auf WP sehen werden aber warten wir mal ab.