Où devriez-vous commencer à coder un navigateur Web?
Dis que je veux créer un Navigateur Web.
Pas le Formulaire Windows /de Haut Niveau Toolkit genre où il y a déjà un Contrôle WebBrowser /Widget qui vous suffit d'ajouter dans votre Application. Dire que je veux en créer un comme Mozilla Firefox et Google Chrome avec son propre code Html /CSS de l'Analyseur (bien que Chrome utilise webkit) etc. Où dois-je Commencer à coder ça? Combien Dois-Je En Code?
Je n'ai bien évidemment pas l'intention de créer un "from SCRATCH" e.g début avec un faible niveau gfx api, l'écriture de mes propres widgets, puis à la main de codage de tous les analyseurs et de l'ensemble de la côté client et toute autre chose. Je ne veux pas simplement d'intégrer un pré-construit navigateur web de contrôle et de l'appeler mon propre navigateur web. Par conséquent, je ne l'intention d'utiliser toutes les bibliothèques tierces. Alors, Comment dois-je code et Où Dois-je commencer? Ce que les Bibliothèques et Api peut être utile?
source d'informationauteur ApprenticeHacker
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas.
Sérieusement, Netscape a décidé de faire exactement ce à quoi vous faites référence ici pour Netscape 6.
Il a fallu une équipe d'ingénieurs de trois ans à réaliser et le résultat était toujours inutilisable ordures. Et c'était il ya une décennie, avant que nous ayons HTML 5 de même.
Google a un bazillion de dollars et une tonne de programmeurs et de même qu'ils ont été assez intelligent pour utiliser une base de code existante (Webkit).
Sérieusement, il y a juste trop de choses à vous soucier de commencer à coder à partir de zéro sur ce qui est essentiellement un problème résolu. Webkit coule de partout.
Je vais commencer par répondre à votre question par une autre question.
La question est: que voulez-vous accomplir par l'écriture d'un navigateur web?
Lorsque Google a écrit Chrome, ils ont (apparemment) avait un couple de choses à l'esprit -- un grand était amélioration de l'exécution de Javascript, de sorte qu'ils ont construit leur propre Javascript mise en œuvre (V8), mais utilisé de composants existants (principalement WebKit) pour la plupart du reste.
Je conseille de faire à peu près la même: pensez à ce que vous essayez d'accomplir, et le code en conséquence, si un composant existant pouvez faire le travail, les chances sont que l'utilisation, il sera plus facile que d'écrire une nouvelle pour accomplir la même. Dans la mesure du possible, d'écrire votre propre code que lorsque/quand/si vous pensez que vous avez besoin (et peut) faire beaucoup plus de travail que les composants existants.
En fin de compte, cependant, les pièces que vous écrivez doit être régie par pourquoi que vous voulez faire en premier lieu. Puisque vous n'avez pas dit que nous, il est difficile (impossible) de donner des conseils plus spécifiques.
A fallu un certain temps avant que je trouve suffisamment de renseignements pour vraiment répondre à cette question sans faire exploser avec une désinvolture répondre. J'ai frappé cette même page plusieurs fois dans mes recherches sur ce sujet de la programmation et je voulais laisser une meilleure réponse que j'ai trouvé.
L'une des meilleures amorces j'ai jamais trouvé est Matt se trouve ici.
http://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html
Ce n'est pas un ensemble de navigateur ou même particulièrement complète, mais il devrait être suffisant pour obtenir vos pieds se déplaçant sur le droit chemin.
Maintenant la lourde partie de l'wc3 HTML 5.1 spec trouve ici.
http://www.w3.org/TR/html51/
Rappelez-vous il suffit de prendre une seule tâche à la fois. Si vous le code du début à la fin, vous devriez avoir plus d'un navigateur. Dans un an ou deux.................
Thérapie Existentielle :
Vous ne vous attendiez pas un livre de recettes pied-à travers étiez-vous? HTML 5 est l'objectif actuel de (2015) et le Navigateur de projets devrait vraiment viser pour que la norme plutôt que toutes les précédentes pour la plus grande longévité. En difficulté va un Navigateur Web, c'est dans la difficulté extrême de gamme parce que vous aurez besoin de maîtriser plusieurs bibliothèques sur le dessus de HTML. Plus personne ne met à jour son contenu en plus, ils sont contraints à il y a donc beaucoup de contenu obsolète code que vous avez à traiter correctement.
Choses à l'Étude de HTML5, PHP, CSS, JavaScript, Flash, DOM et COM.
P. S. Un bon moyen de commencer à étudier par la compilation de Firefox à partir de la c'est le code source. Par le temps que vous le gérez vous le saurez au prochain niveau questions que vous devez vous poser.
Je n'ai jamais codé un navigateur web, mais je voudrais suggérer quelques petites choses:
Fondamentalement, le problème avec votre question est ce que Steve Jessop identifie - nous ne pouvons pas lire dans votre esprit quant à ce que vous voulez absolument le code, et de ce que vous ne voulez pas.
Cela dit, même si nous le savions, vous devez déterminer pourquoi vous voulez le faire. Si vous voulez juste un meilleur navigateur, puis de contribuer à l'un des projets existants.
Si vous ne voulez pas seulement un meilleur navigateur, commencer à travailler sur l'un des projets existants. Ce sera (un) vous donner une idée de ce qui se trouve sous le capot; et (b) signifie que vous pouvez simplement modifier la base de code existante pour l'adapter à vos besoins, ou de la manière dont vous écrivez un plugin ou quoi que ce soit.