web-dev-qa-db-fra.com

Quelqu'un utilise-t-il web2py?

Est-ce que quelqu'un là-bas * utilise web2py ?

Plus précisément:

  • En production?
  • Avec quelle base de données?
  • Avec Google Application Engine?

    • par "là-bas", je veux dire à stackoverflow.
63
Christopher Mahan

Vous êtes invités à poser la même question sur le groupe google . Vous y trouverez plus de 500 utilisateurs et certains d'entre eux sont des sociétés de développement construisant des projets pour leurs clients.

Mon impression est que la plupart d'entre eux utilisent postgresql (c'est ce que je fais) et que d'autres utilisent Google App Engine. En fait, web2py est le seul framework qui vous permet d'écrire du code une fois et le même code s'exécutera sur GAE, SQLite, MySQL, PostgreSQL, Oracle, MSSQL et FireBird (avec les limitations imposées par GAE).

Vous pouvez trouver l'appliance Reddish (clone reddit) avec le code source pour GAE ici

Ici vous pouvez trouver des liens vers certaines applications de productions. Certains fonctionnent sur GAE.

@Armin:

Rien n'est mal avec Django ou Pylons. Ce sont d'excellents frameworks. Je les ai utilisés avant de développer web2py. Il y a quelques choses que vous pouvez faire avec web2py que vous ne pouvez pas avec elles. Par exemple:

  • web2py effectue des transactions distribuées avec Postgresql, Armin a demandé cette fonctionnalité.
  • l'ORM Django ne fait pas les migrations nativement (voir Sud ), web2py le fait.
  • l'ORM Django n'autorise pas les sommes partielles (count (champ)) et les regrouper par, web2py le permet.
  • web2py peut se connecter à plusieurs bases de données à la fois, Django et Les pylônes doivent être piratés pour ce faire, et
  • web2py a un fichier de configuration au niveau de l'application, pas au niveau du projet, comme eux.
  • webp2y enregistre tous les suivis côté serveur pour l'administrateur, Django et Pylons ne le font pas.
  • les programmes web2py s'exécutent souvent sur GAE non modifiés.
  • web2py possède des services Web xmlrpc intégrés.
  • web2py est livré avec jQuery.

Il y a beaucoup de choses que web2py fait mieux (en utilisant une API plus cohérente) et plus rapidement (traitement des modèles et génération de SQL par exemple). web2py est également très compact (tous les modules tiennent dans 265 Ko) et il est donc beaucoup plus facile à entretenir que ces projets concurrents.

Il vous suffit d'apprendre Python et 81 nouvelles fonctions/classes (dont 50 ont les mêmes noms et attributs que les balises HTML correspondantes, BR, DIV, SPAN, etc. et 19 sont des validateurs, IS_IN_SET, IS_INT_IN_RANGE, etc.).

Quoi qu'il en soit, le problème le plus important est que web2py est plus facile que Django, Pylons, PHP et Rails.

Vous remarquerez également que web2py est hébergé sur Google Code et Launchpad et qu'il n'y a pas de tickets ouverts. Tous les problèmes passés ont été résolus en moins de 24 heures.

Vous pouvez également vérifier sur la liste de diffusion Google que tous les sujets (10056 messages aujourd'hui) se sont retrouvés avec une réponse de moi ou de l'un des autres développeurs dans les 24 heures.

Vous pouvez trouver un livre sur web2py sur Amazon.

Armin, je sais que tu es le développeur de Jinja. J'aime Jinja mais j'ai des philosophies de conception différentes. Les deux Django et Jinja définissent leurs propres langages de modèles (et Jinja en particulier a une excellente documentation) mais je préfère utiliser pur Python dans les modèles pour que mes utilisateurs Je n'ai pas du tout besoin d'apprendre un langage de modèle. Je connais bien les avantages et les inconvénients de chaque approche. Laissons les utilisateurs décider de ce qu'ils préfèrent. Pas besoin de se critiquer.

@Andre: db.table.field fait référence à l'objet champ. 'table.field' est un nom de champ. Vous pouvez toujours passer un objet champ lorsqu'un nom de champ est requis car str (db.table.field) est 'table.field'. Le seul cas où vous devez utiliser une chaîne au lieu d'un objet est lorsque vous devez référencer par nom un champ qui n'a pas déjà été défini ... peut-être devrions-nous déplacer cette discussion au bon endroit. ;-)

J'espère que vous déciderez d'essayer web2py et, que cela vous plaise ou non, j'aimerais connaître votre opinion.

105
massimo

J'utilise web2py pour une petite application web. Il exécute les HIT sur un projet Mechanical Turk et me donne une interface pour les contrôler et les visualiser. J'ai commencé sur Google App Engine, mais j'en ai eu marre des petits désagréments de ne pas avoir d'accès direct à la base de données et d'avoir à attendre indéfiniment chaque fois que je veux télécharger mon code, et j'ai déménagé sur un serveur local avec postgres. GAE rend la plupart des choses plus difficiles afin de faciliter certaines choses de mise à l'échelle ... restez à l'écart sauf si vous avez vraiment besoin de leur aide à la mise à l'échelle.

J'aime beaucoup web2py. Comparé à Django et Ruby on Rails, c'est BEAUCOUP plus facile à apprendre et à démarrer. Tout est simple. Vous faites les choses rapidement. Massimo résout partout votre problèmes (même sur ce conseil haha).

15
toomim

J'ai commencé à utiliser web2py il y a environ 6 mois. Je l'ai choisi, car je voulais passer de PHP à Python, pour avoir une approche plus orientée objet en raison des caractéristiques du langage de python.

L'approche tout-en-un de web2py est vraiment incroyable et rend le démarrage très rapide.

En tant qu'ancien utilisateur de symfony, j'ai rapidement commencé à manquer des composants et des formulaires qui ne dépendent pas de la structure de la table.

Juste avec un simple formulaire d'inscription, je n'ai pas trouvé de moyen de faire le formulaire DRY. Pour moi, le vrai bug était la validation du formulaire. J'ai oublié les détails, mais j'ai fini par avoir la validation du formulaire dans les formulaires eux-mêmes. Parce que quelque chose n'a pas fonctionné autrement.

De plus, le concept de dénomination des mots en majuscule avec ce lot de caractères répétés n'est tout simplement pas mon truc.

dba.users.name.requires=IS_NOT_EMPTY()
dba.users.email.requires=[IS_EMAIL(), IS_NOT_IN_DB(dba,'users.email')]
dba.dogs.owner_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.dogs.name.requires=IS_NOT_EMPTY()
dba.dogs.type.requires=IS_IN_SET(['small','medium','large'])
dba.purchases.buyer_id.requires=IS_IN_DB(dba,'users.id','users.name')
dba.purchases.product_id.requires=IS_IN_DB(dba,'products.id','products.name')
dba.purchases.quantity.requires=IS_INT_IN_RANGE(0,10)

Parfois, les noms doivent être entre guillemets, parfois pas ... et si je regarde les exemples ou les sites déjà créés avec web2py, je ne vois vraiment pas ce grand pas en avant en utilisant php.

Je vous recommande: regardez si web2py fonctionne pour vous. Ce serait bien, car la communauté et surtout massimo (le créateur) sont très serviables et gentils.

Vous avez également un démarrage beaucoup plus rapide qu'avec Django, un déploiement plus facile et moins de tracas si vous modifiez vos modèles de base de données.

13
Andre Bossard

Comme Massimo le souligne ci-dessus, l'équipe de tenthrow utilise web2py pour tenthrow.com

Nous avons effectué la plupart de nos travaux de développement en 2009. Notre pile utilise cherokee, web2py, postgresql et Amazon s3. Nous avions fait de nombreuses implémentations Web python avant cela sur une variété de frameworks et de backends. Dire que nous n'aurions tout simplement pas pu faire un essai aussi rapidement et facilement sans web2py est un euphémisme. C'est le meilleur gardé secret dans le développement web.

12
David Watson

J'évalue les frameworks web depuis longtemps maintenant. J'ai écrit mes propres frameworks (non ouverts) en Perl et en PHP. Eh bien, PHP a une impasse intégrée et toute l'infrastructure est encore assez pauvre, mais je ne voulais pas revenir à Perl, j'ai donc vérifié Python et le Python Web Frameworks comme Django, Turbogears, Pylon et web2py. Il y a beaucoup de choses à penser, si vous voulez choisir une pile de codes qui n'est pas la vôtre et vous vous gratterez souvent la tête parce que il n'y a toujours pas de "bonne façon" de programmer les choses. Cependant, web2py est mon préféré actuel, parce que l'auteur, bien qu'étant un "vrai programmeur", garde les choses faciles! Il suffit de regarder la comparaison sur le site web2py - je me demandais pourquoi = python frameworks comme Django ou turbogears ont dû introduire une telle redondance et une syntaxe compliquée dans leur code - web2py montre qu'il IS en fait possible de garder votre syntaxe propre et facile!

@Armin: pourriez-vous s'il vous plaît préciser vos critiques? Où voyez-vous exactement web2py "en contournant Python sémantique"? Je ne comprends pas ce que vous voulez dire. Je dois admettre que je ne suis pas si profondément dans python en ce moment, mais je ne vois aucun problème avec le code web2py - en fait, je pense qu'il est génial et l'un des meilleurs frameworks disponibles aujourd'hui.

11
Snaky Love

J'utilise web2py à des fins académiques. Il y a environ un an, j'ai publié sur pythonanywhere un digital manuel pour la grammaire allemande .

La ressource nécessite une authentification et ressemble à un petit LMS avec des rôles, des activités et des notes. C'était ma première expérience de ce genre. Et ce fut un succès car PHP était trop difficile pour moi, et seul web2py pouvait fournir un moyen clair de gérer une base de données. Avec Python je pouvais facilement résoudre mes problèmes comme par exemple l'analyse de texte et le téléchargement de rapports.

Mes étudiants aiment le design et la façon dont tout fonctionne. Je suis donc très satisfait des résultats et je vais développer d'autres applications intéressantes pour mon université.

Je pense que web2py est très bon pour les linguistes appliqués et les professeurs de L2, qui ne sont pas aussi expérimentés en informatique que les programmeurs. C'était donc mon humble avis.

7
Alexey Gorozhanov

Nous l'utilisons avec notre site Web qui enseigne le chinois, www.dominochinese.com . Notre hôte est pythonanywhere.com et nous aimons sa simplicité. Je travaille sur la construction de trucs au lieu de souhaiter pouvoir travailler. J'ai travaillé avec Django pendant 1,5 ans et je l'ai détesté. Dans un sens, je pense que web2py est le PHP mais en python. Cela permet aux gens de faire rapidement des choses sans entrer dans la programmation orientée objet, ce qui peut être très déroutant pour les débutants aux programmeurs intermédiaires.

6
user2566926

Je vote pour Web2py. Je n'ai que le temps de développer des trucs petits mais utiles pour mon propre usage.

Si tout va bien le mois prochain j'aurai un vide pour créer une application qui est parfaite pour Web2py et fonctionner sur le moteur d'application Google.

Web2py = bouffée d'air frais!

6
afewtips.com

Je commence à l'utiliser avec Postgresql. Mais loin de la production ... J'ai aussi joué avec Zope V2 et Ruby on Rails et j'adore vraiment l'approche de web2py.

6
sparklewhiskers

Certains utilisateurs sont répertoriés ici: http://mdp.cti.depaul.edu/who .

6
benefactual

Je n'utilise pas web2py. Mais j'ai regardé le code source et c'est horrible pour tant de raisons. D'une part, les définitions de base de données ainsi que les vues et modèles et je ne sais pas quoi, sont évalués par rapport à un dictionnaire global de valeurs. Cela ressemble à PHP à cet égard (il contourne Python sémantique dans le comportement des noms) et est très inefficace et je pourrais imaginer que c'est difficile à maintenir.

Je n'ai aucune idée d'où vient tout ce flou sur web2py, mais je ne vois vraiment pas pourquoi quelqu'un voudrait l'utiliser.

Quel est le problème avec Django ou Pylons? Que fait web2py que vous ne pouvez pas faire avec Django en quelques lignes de code avec de meilleures performances, un code qui est plus facile à lire et sur une plate-forme établie où des tonnes de développeurs vont intervenir et résoudre les problèmes en un rien de temps s'ils apparaissent. (Eh bien, il y a des exceptions, je dois l'admettre, mais en général, les développeurs résolvent les problèmes rapidement)

5
Armin Ronacher

J'utilise web2py depuis 2 ans, ce framework web est génial et unique. Facile à utiliser, accepte beaucoup de bases de données, mais la meilleure base de données prise en charge est postgres. J'ai créé 2 projets avec web2py et j'aime vraiment à quel point c'est facile. 1 projet est une gestion financière et un autre un tracker mail, les deux dans les systèmes de production (4 linux lpar avec postgres) qui fonctionnent bien. web2py est un bon choix

[petite application créée avec web2py 2.5.1] mise à jour

http://freitasmgustavo.pythonanywhere.com/calculoST/

5
sharkguto

J'évalue les frameworks Web depuis un certain temps maintenant. Je préfère web2py car il est facile à suivre, compact mais puissant.

4
frank

En fait, il utilise MySQL, mais il pourrait passer à postgresql à un moment donné, car web2py est si diversifié :)

4
C J

Je l'aime parce qu'il est si petit que je peux facilement le distribuer avec mon application.

4
Zhe Li

Nous avons commencé à utiliser Web2py il y a 7 mois. Nous avons déjà une application en production au El Prado (Musée National d'Espagne). Nous avons développé une application pour vérifier et automatiser tous les systèmes, faire des statistiques de serveurs, des statistiques d'accès, etc.

4
Jose de Soto Garcia

Je l'utilise en production sur Google Appengine pour www.crowdgrader.org . Je stocke les données comme suit:

  • Les métadonnées de base, où j'ai besoin d'ACID, sont stockées dans Google Cloud SQL, qui fonctionne très bien pour moi. Pour les grands champs de texte, je stocke dans Google Cloud SQL la clé et dans la banque de données la valeur-clé.
  • Le texte tapé par les utilisateurs est stocké dans la banque de données Google, voir ci-dessus, avec la clé stockée dans Cloud SQL.
  • Les téléchargements de fichiers vont dans le blobstore.

Je migre lentement plus de stockage vers le magasin de données, pour obtenir plus de bande passante en écriture pour les choses qui ne nécessitent pas de requêtes complexes et peuvent gérer un peu de cohérence éventuelle.

Je suis très content de web2py + appengine + Google Cloud SQL + Datastore + Blobstore.

4
Luca

J'ai utilisé web2py pour de petits projets jusqu'à présent, mais j'espère l'introduire dans mon entreprise. C'est mon framework web préféré.

Mon blog fonctionne sur GAE avec web2py.

J'ai également une application facebook fonctionnant sur web2py: My Top 10 Gift

3
uolter

J'utilise web2py en production avec postgres sur webfaction, et aussi sur le GAE.

3
hoju

J'utilise web2py avec gae et google datastore dans la production de application personnalisée , c'est un très bon framework.

J'ai fait quelques corrections mineures pour un bon travail sur GAE, un travail rapide et stable, j'ai publié les changements de version de Web2Py sur mon github soyharso.

Les téléchargements sur GAE sont rapides, le moteur d'application de contrôle de version est sécurisé, l'offre de niveau gratuit google pour régler votre code est excellente, le coût mensuel est adéquat

2
Harold Sarmiento

J'utilise Web2py avec Google App Engine en production. Voir https://www.nittiolearn.com .

Pour le stockage des données, Google Datastore (accessible via web2py DAL) est utilisé, sauf pour le stockage de grandes ressources où Google Cloud Storage est utilisé. J'ai effectué plusieurs mises à niveau de version web2py sur l'environnement de production au cours des 5 dernières années sans aucun problème majeur.

Le moteur d'application Google a également été pratiquement sans friction au fil des ans.

Mais ni Web2py ni le moteur d'application Google n'ont été largement adoptés comme je l'avais pensé il y a 5-6 ans. Si je démarre un nouveau projet, il est peu probable que j'aille avec web2py ou le moteur d'application car le nombre de développeurs qui seront ravis de travailler sur ces technologies est limité.

2
Aravindan RS

Eh bien, j'utilise Web2Py de manière professionnelle, avec PostgreSQL et sous Linux. Je travaille sur mon réseau social nommé " Ourway ". Vous aimerez peut-être certaines de ses fonctionnalités comme la partie " Blog ".

1
Farsheed

J'utilise web2py en production. Actuellement, au début de la production, nous développons avec SQLite parce que c'est facile et qu'il sort de la boîte, mais plus tard, nous passerons probablement à MySQL. Je ne pense pas qu'il soit prévu d'utiliser Google App Engine.

1
Ryan Cori

http://www.noobmusic.com utilise Google App Engine.

1
Chris Hawkes

Ce sont des réponses assez anciennes, mais je vais quand même y participer. En 2008, c'était peut-être un excellent choix, ainsi que Django/Flask. Et ça pourrait encore être bon. Mais de nos jours, les gens veulent des résultats instantanés, avec une courbe d'apprentissage beaucoup moins.

Le web2py n'est pas intuitif pour être juste.

Dois-je étudier les concepts MVC pour travailler avec MS Access? Je me fiche du routage d'URL, j'ai juste besoin d'afficher quelques tableaux sur le web, de préférence avec une certaine validation. Plus une certaine authentification.

C'est là que le framework comme http://jam-py.com/ brille! Non seulement vous ne serez pas perdu, mais cela rappelle Access qui a dirigé les bureaux pendant des décennies. Et règne toujours en 2019. Pourquoi? Presque aucune courbe d'apprentissage.

0
Ljudva