140 votes

Alternatives à JavaScript

Pour le moment, la seule langue prise en charge, et le standard de facto pour l'arbre DOM de la manipulation dans le navigateur est en JavaScript. On dirait qu'il a des problèmes de conception qui en font un champ de mines de bugs et de failles de sécurité pour le novice.

Connaissez-vous un existant ou prévu de l'initiative d'introduire une meilleure (rénové) de la langue de toute nature (pas de javascript) pour les DOM arbre de la manipulation et de requêtes HTTP dans la prochaine génération de navigateurs? Si oui, quelle est la feuille de route pour son intégration dans la, dire, Firefox, et si non, pour quelles raisons (à l'exception de l'interopérabilité) JavaScript doit être la seule langue prise en charge sur la plateforme de navigateur?

J'ai déjà utilisé jQuery et j'ai aussi lu "javascript: les bonnes parties". En effet, les suggestions sont bonnes, mais ce que je ne suis pas en mesure de comprendre, c'est pourquoi seul le javascript? Sur le côté serveur (votre favori-plate-forme os), nous pouvons manipuler une arborescence DOM avec toutes les langues, même fortran. Pourquoi le client (le navigateur de plate-forme) de support de javascript?

39voto

Keith Points 46288

Le problème avec le javascript n'est pas la langue elle-même - c'est une bonne parfaitement assemblé et dynamique de la langue. Si vous venez d'un OO arrière-plan il y a un peu d'une courbe d'apprentissage, mais ce n'est pas la langue de la faute.

La plupart des gens supposent que le Javascript est comme Java, car il a la même syntaxe et un nom similaire, mais en fait c'est beaucoup plus comme lisp. C'est en fait assez bien adapté à la manipulation du DOM.

Le vrai problème, c'est qu'il est compilé par le navigateur, ce qui signifie qu'il fonctionne de façon très différente selon les clients.

Non seulement le DOM différent selon le navigateur, mais il y a une énorme différence dans la performance et la mise en page.


Edit suite à la clarification de la question

Supposons que plusieurs langages ont été pris en charge - vous avez toujours les mêmes problèmes. Les différents navigateurs seraient encore en buggy et ont des DOMs.

En outre, vous devez disposer d'un interpréteur intégré dans le navigateur ou en quelque sorte installé comme un plug-in (que vous pouvez vérifier avant de vous servir de la page) pour chaque langue. Il a fallu une éternité pour obtenir Javascript cohérente.

Vous ne pouvez pas utiliser les langages compilés de la même façon, alors vous êtes l'introduction d'un fichier exécutable qui ne peuvent pas facilement être examinés pour ce qu'il fait. Beaucoup d'utilisateurs choisissent de ne pas le laisser s'exécuter.

OK, donc, qu'une sorte de bac à sable pour le code compilé? Les sons comme des Applets Java me. Ou ActionScript dans Flash. Ou C# Silverlight.

Ce sujet de certains types de IL la norme? Qui a le plus de potentiel. Développer dans la langue que vous voulez, puis de le compiler à l'IL, le navigateur, puis les Ece.

À l'exception, le Javascript est une sorte de déjà qu'IL - il suffit de regarder GWT. Il permet d'écrire des programmes en Java, mais de les distribuer comme HTML et JS.

27voto

joeytwiddle Points 3226

Pour une poitrine poilue et bananes plus, consulter GorillaScript, « une langue de compilation-à-JavaScript conçue pour permettent à l’utilisateur alors qu’il tentait d’empêcher certaines erreurs fréquentes. »

Il est même plus récente que LiveScript.

21voto

AlexanderN Points 5805

JavaScript doit être la seule langue prise en charge sur la plateforme de navigateur ?

Oui et non. Il existe une alternative là-bas appelé Dart par Google qui ne compile en JavaScript et tout comme jQuery, il essaie de faire de manipulation du DOM un peu plus facile. Il peut être amusant d'expérimenter, check it out.

À partir de Google voir La dart langue

À partir de Microsoft voir Tapuscrit de la langue

14voto

aleemb Points 12138

Il est vrai que le Javascript a été à un moment donné notoirement difficile à traiter mais la communauté de développement de web a parcouru un long chemin depuis. Au lieu de cela, je vous encourage à jeter un oeil à jQuery. Il est facile et résumés de loin tous les problèmes divers.

Et il n’ya vraiment aucune solution de rechange qui fonctionnent dans tous les domaines. Flash vient à l’esprit, mais qui est trop ECMA script et c’est sans doute plus de tuer pour la plupart des choses.

6voto

Marc Gravell Points 482669

À court terme, je voudrais utiliser des choses comme jQuery pour cacher les incompatibilités de navigateur. À long terme, des technologies comme Silverlight ou Adobe AIR peuvent en font un champ de mines très différente (mais toujours un champ de mines) dans l’avenir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X