68 votes

Python peut-il être utilisé pour le développement web côté client ?

Si oui, y a-t-il des frameworks/tutoriels/tuyaux/etc recommandés ?

N00b à Python mais j'ai des tonnes d'expérience en PHP et je voulais élargir mon éventail de compétences.

Je sais que Python est excellent pour l'exécution côté serveur, mais je voulais juste savoir si c'était aussi le cas côté client.

6 votes

Côté client = navigateur ou côté client = soap / json ... ?

1 votes

Désolé, oui le navigateur. Comme .html .php par exemple.

4 votes

Je suis moi-même un Pythonista, mais j'ai trouvé CoffeeScript très agréable. Bien qu'il ne s'agisse pas de Python, il semble avoir adopté certaines des caractéristiques les plus agréables de Python et compile en JavaScript. Je ne suis pas sûr de savoir comment il se compare à Pyjamas, il faudra que je me renseigne.

47voto

easement Points 3468

Avez-vous vu Skulpt ?

Skulpt est un entièrement dans le navigateur de Python.

Aucun prétraitement, plugin ou support côté serveur n'est nécessaire. Il suffit d'écrire en Python et de recharger.

0 votes

Très bien Ma première pensée quand j'ai vu cette question est. NON, IL PEUT FONCTIONNER. Je suppose que j'avais tort.

0 votes

C'est possible, mais c'est terriblement lent.

4 votes

Utiliser un interpréteur javascript pour écrire un interpréteur python ! BRILLANT ! Je parie que c'était amusant à écrire au moins.

21voto

nikow Points 8887

Vous pouvez utiliser pyjama pour convertir le code Python en code JS qui s'exécute dans le navigateur (notez que pyjamas offre aussi beaucoup plus). Donc OUI, vous pouvez utiliser Python pour le développement web côté client.

Pyjamas est essentiellement un portage de l'application Boîte à outils Web de Google qui vous permet d'écrire du code côté client en Java.

0 votes

Mais c'est à peu près la même chose que python pour générer du HTML. Python n'est PAS du côté du client. Il est seulement utilisé pour générer du code côté client, dans ce cas js. Donc, je ne pense pas que cela s'applique

0 votes

Non, pas vraiment, mais ça aide. :)

17 votes

@Oscar : C'est un peu comme dire que le C++ ne fonctionne pas sur les ordinateurs, car il est d'abord compilé en code machine ;-)

8voto

steveha Points 24808

Python n'est pas vraiment utilisé pour le côté client, car aucun des principaux navigateurs web n'intègre Python.

Toutefois, au fil de son évolution, Javascript s'est rapproché de plus en plus de Python. Vous pourriez vouloir étudier Python et Javascript ensemble.

Jetez un coup d'œil à https://developer.mozilla.org/en/New_in_JavaScript_1.7 et remarquez la nature Python-like des nouvelles fonctionnalités. Les "compréhensions de tableaux" sont exactement comme les compréhensions de listes de Python ; les itérateurs et les générateurs sont directement issus de Python ; les "affectations de déstructuration" sont un idiome standard de Python.

Javascript est un peu comme Python avec des accolades. Il utilise un modèle d'héritage très différent, mais il existe des bibliothèques qui mettent en œuvre un système de classes plus proche de Python par-dessus le système intégré de Javascript.

1 votes

Oui, désolé, mais comme je ne suis pas encore à 125 rep, je devais montrer ma colère d'une manière ou d'une autre. Pourquoi Javascript n'est pas comme python ? J'aime faire référence à ça : destroyallsoftware.com/talks/wat

1 votes

D'accord, cette référence (qui était drôle !) montre que Javascript a d'horribles brisures bizarres. Cela signifie simplement que vous devez vous assurer que vous ne faites jamais aucune de ces choses cassées. C'est nul, mais si vous faites du scripting de navigateur, vous devez juste faire avec. Et mon affirmation initiale, que vous ne devriez pas prendre trop au sérieux, était que Javascript est "en quelque sorte" (sans le qualificatif de "hand-waving") comme Python avec des accolades, ce qui est clairement vrai, au moins pour certaines valeurs de "en quelque sorte". Et si vous lisez mon lien, vous verrez que JS a intentionnellement copié beaucoup de choses de Python.

3 votes

Je suis d'accord avec cela mais j'attends toujours que les navigateurs ajoutent enfin le support de Python côté client

7voto

Lennart Regebro Points 52510

Silverlight peut exécuter IronPython, ce qui vous permet de créer des applications Silverlight. Ce qui est du côté client.

0 votes

Je voulais l'exécuter dans le navigateur, merci.

9 votes

C'est dans le navigateur. Mais pas de la même manière que Javascript non. Mec ce serait génial si on pouvait utiliser Python au lieu de JS. <Rêves>

0 votes

Silverlight est un plugin (qui est déjà mort), donc techniquement il ne fonctionne pas nativement dans le navigateur.

-1voto

Byron Whitlock Points 29863

Non. Les navigateurs ne font pas tourner Python.

1 votes

Pourquoi le vote négatif, c'est absolument vrai ? Montrez-moi un navigateur grand public avec un interprète python natif.

9 votes

Je n'ai pas voté contre vous, mais d'autres personnes ont posté au moins deux façons d'exécuter Python dans un navigateur, en utilisant du code supplémentaire. Windows ne vous permet pas d'exécuter Python sans code supplémentaire, mais vous ne diriez pas "Windows ne fait pas fonctionner Python".

3 votes

Dans le contexte de la question originale, je pense que c'est toujours la bonne réponse. Aucun développeur sain d'esprit ne recommanderait à un nouveau développeur d'exécuter python dans le navigateur alors qu'il existe tant de meilleures alternatives. Malgré le battage médiatique, le navigateur n'est pas un système d'exploitation et vous êtes limité par la technologie disponible.

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