web-dev-qa-db-fra.com

Quelles sont les différences entre le moteur Javascript de Firefox et le V8 de Chrome?

J'ai remarqué que Chrome et Firefox mettent différentes durées à rendre certaines choses. En général, Chrome a été plus rapide. Que devrais-je savoir sur les deux (et IE8/9 aussi, je suppose) lors de la construction d'une application Javascript/jQuery?

7
Jason

En fait, Spidermonkey (FF) et V8 (Chrome) sont très similaires dans l’API de base du moteur javascript, en ce sens qu’ils essaient d’être conformes aux normes. La principale différence est que Spidermonkey a tendance à ajouter des extras Nice à leur API s’ils le jugent nécessaire. Tout cela se trouve sur le Centre de développement de Mozilla (MDC) pour JavaScript et bien documenté s'il ne s'agit pas d'un standard. Sur une note de côté, je recherche personnellement le MDC comme source principale pour l'API JavaScript.

Cette histoire est totalement différente pour IE. Alors que la plupart des API principales telles que Math et String sont identiques, IE diffère grandement en ce qui concerne l'objet document, et toute manipulation y Je suis d’accord avec balexandre pour dire que jQuery fait un très bon travail en prenant soin de ce désordre pour vous.

La dernière chose que je mentionnerai est que chaque moteur traitera le code JavaScript différemment (certains plus rapidement, d'autres plus lentement, etc.), mais cela peut généralement être considéré comme une boîte noire et tout ce dont vous devriez avoir à vous soucier, ce sont les différences de Apis.

5
Mike

Si vous écrivez un application jQuery, vous n'avez rien à vous soucier de rien alors que vous développez un framework/une bibliothèque qui le fait (aujourd'hui) et continuera de le faire ( dans les futures versions) tout sous le capot.

si vous êtes en écrivant javascript, alors c'est tout un désordre :)

car vous n'avez pas besoin de développer votre application dans un navigateur, mais de tester dans tous les autres navigateurs, et des choses simples comme ouvrir des fenêtres et gérer les appels ajax varient d'un moteur à l'autre ...

alors ... s'il vous plaît, continuez de viser jQuery :) il fera le travail difficile pour vous;)

2
balexandre