web-dev-qa-db-fra.com

Commentaires sur l'utilisation de Google App Moteur?

Cherche à faire un très petit projet de côté sale et rapide. J'aime le fait que le moteur d'application Google s'exécute sur Python avec Django Construit in - me donne une excuse pour essayer cette plate-forme ... mais ma La question est la suivante:

Quelqu'un a-t-il utilisé le moteur de l'App pour autre chose qu'un problème de jouet? Je vois de bons exemple d'applications là-bas, alors je supposerais que cela conviendrait suffisamment pour la vraie affaire, mais je voulais obtenir des commentaires.

Toute autre notes de réussite/échec serait formidable.

125
agartzke

J'ai essayé le moteur d'application pour ma petite demande de surveillance Quake http:// pikewatch.appot.com/

Mon objectif était de voir les capacités du moteur App, alors voici les points principaux:

  1. il ne vient pas par défaut avec Django, il possède son propre cadre Web qui est Pythonic conteste URL Dispatcher comme Django et utilise des modèles Django si vous avez Django exp. Vous trouverez qu'il est facile d'utiliser
  2. Vous ne pouvez exécuter aucun processus de course à longueur sur le serveur, ce que vous faites est de répondre à la demande et qui devrait être rapide sinon appengine le tuera, donc si votre application nécessite beaucoup de traitement de backend appengine n'est pas la meilleure façon, sinon vous devrez faire le traitement. sur un serveur de votre propre
  3. Mon QuakeWatch App a une fonctionnalité d'abonnement, cela signifie que je devais envoyer des courriels les derniers trembles comme ils se produisent, mais je ne peux pas exécuter un processus d'arrière-plan dans l'App moteur pour surveiller la nouvelle solution de Quake ici consiste à utiliser un service de troisième partie comme Pingablity.com qui peut Connectez-vous à une de votre page et qui exécute le courriel de l'abonnement, mais vous devrez également veiller à ce que vous ne passez pas beaucoup de temps ici ou de casser la tâche en plusieurs morceaux.
  4. Il fournit Django comme des capacités de modélisation mais le backend est totalement différent mais pour un nouveau projet, cela ne devrait pas avoir d'importance.

Mais dans l'ensemble, je pense qu'il est excellent pour la création d'applications qui n'ont pas besoin de beaucoup de traitement des antécédents.

Edit: maintenant files de tâches peut être utilisée pour exécuter le traitement par lots ou les tâches planifiées

EDIT: Après avoir travaillé/création d'une demande réelle sur GAE pendant un an, mon Opnion est que, à moins que vous ne preniez une demande à l'échelle à un million et à un million d'utilisateurs, n'utilisez pas GAE. Maintenir et faire des tâches triviales dans GAE est un mal de tête dû à la nature distribuée, afin d'éviter que la date limite soit dépassée des erreurs, des entités compter ou des requêtes complexes nécessite un code complexe, une application complexe si petite doit rester à la lampe.

EDIT: Les modèles doivent être spécialement conçus compte tenu de toutes les transactions que vous souhaitez avoir à l'avenir, car les entités que dans le même groupe d'entité peuvent être utilisées dans une transaction et permettent de mettre à jour deux groupes différents un cauchemar par exemple. Transférer de l'argent de l'utilisateur1 à l'utilisateur2 dans la transaction est impossible à moins qu'ils soient dans le même groupe d'entité, mais ce qui en fait le même groupe d'entité peut ne pas être préférable à des fins de mise à jour fréquents .... Lisez ceci http: //blog.notdot. NET/2009/9/Distributed-Transactions-ON-App-Moteur

62
Anurag Uniyal

J'utilise GAE pour organiser plusieurs applications à forte trafic. Comme sur l'ordre de 50-100 req/sec. C'est génial, je ne peux pas le recommander assez.

Mon expérience précédente avec le développement Web était avec Ruby (rails/merb). L'apprentissage Python était facile. Je n'ai pas gâché avec Django ou pylônes ou tout autre cadre, vient de commencer par les exemples GAE et construit ce dont j'avais besoin de la bibliothèque de base WebApp fournie.

Si vous êtes habitué à la flexibilité de SQL, le magasin de données peut vous habituer. Rien de trop traumatique! Le plus gros ajustement s'éloigne des jointures. Vous devez renvoyer l'idée que la normalisation est cruciale.

Ben

36
mainsocial

L'une des raisons impérieuses que j'ai rencontrées pour utiliser Google App Moteur est son intégration avec Google Apps pour votre domaine. Essentiellement, il vous permet de créer des applications Web gérées personnalisées qui sont limitées aux connexions (contrôlées) de votre domaine.

La plupart de mes expériences avec ce code construisaient une application de suivi de temps/tâche simple. Le moteur de modèle était simple et fait une application multi-pages très abordable. L'API de connexion/utilisateur de la connexion est utile de la même manière. J'ai pu faire un paradigme de page public/page privée sans trop de problème. (Un utilisateur se connecterait pour voir les pages privées. Un utilisateur anonyme n'a été montré que la page publique.)

Je me faisais juste dans la partie Datastore du projet lorsque je me suis arrêté pour "travail réel".

J'ai pu accomplir beaucoup (cela n'est toujours pas encore fait) dans une très peu de temps. Depuis que je n'avais jamais utilisé Python auparavant, c'était particulièrement agréable (les deux parce que c'était une nouvelle langue pour moi, et aussi parce que le développement était toujours rapide malgré la nouvelle langue). J'ai couru dans très Peu ça m'a conduit à 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 elle. Peut-être que cela ne représente-t-il pas plus qu'un projet de jouet inachevé, mais il représente un essai éclairé de la plate-forme et j'espère que cela aide.

23
el2iot2

Le "moteur d'application exécutant Django" est un peu trompeur. Le moteur d'app remplace l'ensemble Django Couche de modèle est donc prêt à passer du temps à être acclimé avec le magasin de données de l'App moteur nécessitant une manière différente de modélisation et de réflexion sur les données.

12
sutee

J'ai utilisé GAE pour construire http://www.muspy.com

C'est un peu plus qu'un projet jouet mais pas trop complexe non plus. Je compte toujours sur quelques problèmes à prendre en compte par Google, mais l'élaboration globale du site Web était une expérience agréable.

Si vous ne voulez pas traiter avec les problèmes d'hébergement, l'administration du serveur, etc., je peux certainement le recommander. Surtout si vous savez déjà Python et Django.

7

Je pense que l'App moteur est assez cool pour de petits projets à ce stade. Il y a beaucoup à dire pour ne jamais avoir à craindre d'accueillir. L'API vous pousse également dans la direction de la construction d'applications évolutives, ce qui est une bonne pratique.

  • app-moteur-patch est une bonne couche entre Django et moteur d'app, permettant d'utiliser l'application authentifiée et plus encore.
  • Google a promis un SLA et modèle de tarification d'ici la fin de 2008.
  • Les demandes doivent être terminées en 10 secondes, sous-requêtes aux services Web requises pour terminer en 5 secondes. Cela vous oblige à concevoir une application rapide et légère, en offrant un traitement sérieux à d'autres plates-formes (par exemple un service hébergé ou une instance EC2).
  • Plus de langues vont bientôt à venir! Google ne dira pas ce que cependant :-). Mon argent est sur Java Suivant.
7
afternoon

Cette question a été entièrement répondue. Ce qui est bon. Mais une chose peut peut-être mentionner. Le moteur d'application Google a un plugin pour l'Eclipse IDE qui est une joie de travailler.

Si vous faites déjà votre développement avec Eclipse, vous allez être si heureux à ce sujet.

Pour déployer sur le site Web de Google App moteur Tout ce que vous devez faire est de cliquer sur un petit bouton - avec le logo de l'avion - Super.

6
rowly

J'ai utilisé Gae pour mon site de jeu flash, Jeux barbus . Gae est une excellente plate-forme. J'ai utilisé Django modèles qui sont tellement plus faciles que les anciens jours de PHP. Il est livré avec un excellent panneau d'administration et vous donne de bonnes bûches. Le DataStore est différent d'une base de données comme MySQL, Mais il est beaucoup plus facile de travailler avec. La construction du site était facile et directe et ils ont beaucoup de conseils utiles sur le site.

4
Josh Patton

J'ai utilisé GAE pour créer une application simple qui accepte certains paramètres, formats et envoyer un courrier électronique. C'était extrêmement simple et rapide. J'ai également fait des points de repère de performance sur les services GAE DataSore et Memcache ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Ce n'est pas si je suis rapide. Mon avis est que GAE est une plate-forme sérieuse qui appliquait certaines méthodologies. Je pense que cela évoluera vers la plate-forme vraiment évolutive, où de mauvaises pratiques sont tout simplement autorisées.

4
David Gruzman

Jetez un coup d'œil au Jeu SQL , il est très stable et effectivement poussé les limites de la circulation à un moment donné de pouvoir être étranglé par Google. Je n'ai rien vu que de bonnes nouvelles sur l'App moteur, autrement de vous héberger l'application sur les serveurs que quelqu'un d'autre contrôle complètement.

4
Joe Skora

J'ai utilisé GAE et Django pour créer une application Facebook. J'ai utilisé http://code.google.com/p/app-Engine-patch comme mon point de départ comme il a Django 1.1 SUPPORT. Je n'ai pas essayé d'utiliser l'une des commandes Gestion.py parce que j'ai supposé qu'ils ne fonctionnaient pas, mais je n'ai même pas regardé. le L'application avait trois modèles et également utilisé pyfacebook, mais c'est l'étendue de la complexité. Je suis en train de construire une application beaucoup plus compliquée que je commence à bloguer sur http: // Brianyamabe. com .

3
byamabe