Vous cherchez à faire un très petit projet de côté rapide et sale. J'aime le fait que Google App Engine fonctionne sur Python avec Django intégré - me donne une excuse pour essayer cette plate-forme ... mais ma question est la suivante:
Quelqu'un a-t-il utilisé le moteur d'application pour autre chose qu'un problème de jouet? Je vois de bons exemples d'applications, donc je suppose que c'est assez bon pour la vraie affaire, mais je voulais obtenir des commentaires.
Toute autre note de succès / échec serait géniale.
python
django
google-app-engine
Agartzke
la source
la source
Réponses:
J'ai essayé le moteur d'application pour ma petite application de surveillance des tremblements de terre http://quakewatch.appspot.com/
Mon objectif était de voir les capacités du moteur d'application, voici donc les principaux points:
Mais dans l'ensemble, je pense que c'est excellent pour créer des applications qui ne nécessitent pas beaucoup de traitement en arrière-plan.
Modifier: les files d'attente de tâches peuvent désormais être utilisées pour exécuter le traitement par lots ou les tâches planifiées
Edit: après avoir travaillé / créé une vraie application sur GAE pendant un an, maintenant mon avis est qu'à moins que vous ne fassiez une application qui doit évoluer à des millions et des millions d'utilisateurs, n'utilisez pas GAE. La maintenance et l'exécution de tâches triviales dans GAE est un casse-tête en raison de la nature distribuée.Pour éviter les erreurs de dépassement des délais, compter les entités ou effectuer des requêtes complexes, il faut un code complexe, de sorte que les petites applications complexes doivent s'en tenir à LAMP.
Modifier: Les modèles doivent être spécialement conçus en tenant compte de toutes les transactions que vous souhaitez effectuer à l'avenir, car les entités uniquement dans le même groupe d'entités peuvent être utilisées dans une transaction et cela rend le processus de mise à jour de deux groupes différents un cauchemar, par exemple, transférer de l'argent de l'utilisateur1 à l'utilisateur2 en transaction est impossible à moins qu'ils ne soient dans le même groupe d'entités, mais en faire le même groupe d'entités peut ne pas être le meilleur pour des mises à jour fréquentes .... lire ceci http://blog.notdot.net/2009/9/Distributed-Transactions- sur App Engine
la source
J'utilise GAE pour héberger plusieurs applications à fort trafic. Comme de l'ordre de 50-100 req / sec. C'est génial, je ne saurais trop le recommander.
Mon expérience précédente avec le développement Web était avec Ruby (Rails / Merb). L'apprentissage de Python était facile. Je n'ai pas joué avec Django ou Pylons ou tout autre framework, j'ai juste commencé à partir des exemples GAE et construit ce dont j'avais besoin à partir des bibliothèques d'applications Web de base fournies.
Si vous êtes habitué à la flexibilité de SQL, la banque de données peut prendre un certain temps pour s'y habituer. Rien de trop traumatisant! Le plus gros ajustement consiste à s'éloigner des JOIN. Vous devez vous débarrasser de l'idée que la normalisation est cruciale.
Ben
la source
L'une des raisons convaincantes que j'ai rencontrées pour utiliser Google App Engine est son intégration avec Google Apps pour votre domaine. Il vous permet essentiellement de créer des applications Web personnalisées et gérées qui sont limitées aux connexions (contrôlées) de votre domaine.
La plupart de mon expérience avec ce code consistait à créer une simple application de suivi du temps / des tâches. Le moteur de modèles était simple et rendait pourtant une application multi-pages très accessible. L'API de connexion / de sensibilisation des utilisateurs est également utile. J'ai pu créer un paradigme de page publique / page privée sans trop de problèmes. (un utilisateur se connectait pour voir les pages privées. Un utilisateur anonyme ne voyait que la page publique.)
J'étais juste en train d'entrer dans la partie datastore du projet quand je me suis retiré pour du "vrai travail".
J'ai pu accomplir beaucoup (ce n'est pas encore fait) en très peu de temps. Comme je n'avais jamais utilisé Python auparavant, c'était particulièrement agréable (à la fois parce que c'était un nouveau langage pour moi, et aussi parce que le développement était encore rapide malgré le nouveau langage). J'ai rencontré très peu de choses qui m'ont amené à croire que je ne pourrais pas accomplir ma tâche. Au lieu de cela, j'ai une impression assez positive des fonctionnalités et des fonctionnalités.
C'est mon expérience avec ça. Peut-être que cela ne représente pas plus qu'un projet de jouet inachevé, mais cela représente un essai éclairé de la plate-forme, et j'espère que cela aidera.
la source
L'idée "App Engine exécutant Django" est un peu trompeuse. App Engine remplace l'ensemble de la couche de modèle Django, alors soyez prêt à passer du temps à vous acclimater au magasin de données App Engine, qui nécessite une manière différente de modéliser et de penser les données.
la source
J'ai utilisé GAE pour construire http://www.muspy.com
C'est un peu plus qu'un projet de jouet mais pas trop complexe non plus. Je compte toujours sur quelques problèmes à résoudre par Google, mais dans l'ensemble, le développement du site Web a été une expérience agréable.
Si vous ne voulez pas traiter de problèmes d'hébergement, d'administration de serveur, etc., je peux certainement le recommander. Surtout si vous connaissez déjà Python et Django.
la source
Je pense qu'App Engine est plutôt cool pour les petits projets à ce stade. Il y a beaucoup à dire pour ne jamais avoir à se soucier de l'hébergement. L'API vous pousse également à créer des applications évolutives, ce qui est une bonne pratique.
la source
Cette question a reçu une réponse complète. Ce qui est bon. Mais une chose mérite peut-être d'être mentionnée. Le moteur de l'application Google a un plugin pour l'ide d'éclipse, ce qui est un plaisir de travailler.
Si vous faites déjà votre développement avec eclipse, vous en serez très heureux.
Pour déployer sur le site Web du moteur d'application Google, tout ce que j'ai à faire est de cliquer sur un petit bouton - avec le logo de l'avion - super.
la source
Jetez un œil au jeu SQL , il est très stable et a en fait repoussé les limites de trafic à un moment donné, de sorte qu'il était limité par Google. Je n'ai vu que de bonnes nouvelles concernant App Engine, à part l'hébergement de votre application sur des serveurs que quelqu'un d'autre contrôle complètement.
la source
J'ai utilisé GAE pour créer une application simple qui accepte certains paramètres, formats et envoie des e-mails. C'était extrêmement simple et rapide. J'ai également réalisé quelques benchmarks de performances sur le datastore GAE et les services memcache ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Ce n'est pas si rapide. Mon opinion est que GAE est une plate-forme sérieuse qui applique une certaine méthodologie. Je pense que cela évoluera vers la plate-forme véritablement évolutive, où les mauvaises pratiques ne sont tout simplement pas autorisées.
la source
J'ai utilisé GAE pour mon site de jeux flash, Bearded Games . GAE est une excellente plateforme. J'ai utilisé des modèles Django qui sont tellement plus faciles que les anciens jours de PHP. Il est livré avec un excellent panneau d'administration et vous donne de très bons journaux. Le magasin de données est différent d'une base de données comme MySQL, mais il est beaucoup plus facile à utiliser. La construction du site a été simple et directe et ils ont beaucoup de conseils utiles sur le site.
la source
J'ai utilisé GAE et Django pour créer une application Facebook. J'ai utilisé http://code.google.com/p/app-engine-patch comme point de départ car il prend en charge Django 1.1. Je n'ai essayé d'utiliser aucune des commandes manage.py parce que je supposais qu'elles ne fonctionneraient pas, mais je ne l'ai même pas regardée. L'application avait trois modèles et utilisait également pyfacebook, mais c'était l'étendue de la complexité. Je suis en train de créer une application beaucoup plus compliquée dont je commence à bloguer sur http://brianyamabe.com .
la source