Ich möchte ein sehr kleines, schnelles und schmutziges Nebenprojekt machen. Ich mag die Tatsache, dass die Google App Engine auf Python läuft und Django direkt eingebaut ist - gibt mir eine Entschuldigung, diese Plattform auszuprobieren ... aber meine Frage lautet:
Hat jemand die App-Engine für etwas anderes als ein Spielzeugproblem verwendet? Ich sehe einige gute Beispiel-Apps da draußen, daher würde ich davon ausgehen, dass dies für das eigentliche Geschäft gut genug ist, wollte aber ein Feedback erhalten.
Alle anderen Erfolgs- / Misserfolgsnotizen wären großartig.
python
django
google-app-engine
Agartzke
quelle
quelle
Antworten:
Ich habe die App-Engine für meine kleine Bebenüberwachungsanwendung http://quakewatch.appspot.com/ ausprobiert.
Mein Ziel war es, die Funktionen der App Engine zu sehen. Hier sind die wichtigsten Punkte:
Aber insgesamt denke ich, dass es hervorragend zum Erstellen von Apps geeignet ist, die nicht viel Hintergrundverarbeitung benötigen.
Bearbeiten: Jetzt können Aufgabenwarteschlangen zum Ausführen der Stapelverarbeitung oder für geplante Aufgaben verwendet werden
Bearbeiten: Nachdem ich ein Jahr lang an einer echten Anwendung auf GAE gearbeitet / diese erstellt habe, ist meine Meinung jetzt, dass Sie GAE nicht verwenden, es sei denn, Sie erstellen eine Anwendung, die auf Millionen und Abermillionen von Benutzern skaliert werden muss. Das Verwalten und Ausführen trivialer Aufgaben in GAE bereitet aufgrund der verteilten Natur Kopfschmerzen. Um Fehler zu vermeiden, die die Frist überschreiten, Entitäten zu zählen oder komplexe Abfragen durchzuführen, ist komplexer Code erforderlich. Daher sollte eine kleine komplexe Anwendung bei LAMP bleiben.
Bearbeiten: Modelle sollten unter Berücksichtigung aller Transaktionen, die Sie in Zukunft wünschen, speziell entworfen werden, da Entitäten nur in derselben Entitätsgruppe in einer Transaktion verwendet werden können und das Aktualisieren von zwei verschiedenen Gruppen zu einem Albtraum wird, z. B. Geld von Benutzer1 zu Benutzer2 zu überweisen Eine Transaktion ist nur möglich, wenn sie sich in derselben Entitätsgruppe befinden. Für häufige Aktualisierungszwecke ist es jedoch möglicherweise nicht am besten, sie zu derselben Entitätsgruppe zu machen. Lesen Sie diese http://blog.notdot.net/2009/9/Distributed-Transactions- On-App-Engine
quelle
Ich verwende GAE, um mehrere Anwendungen mit hohem Datenverkehr zu hosten. Wie in der Größenordnung von 50-100 req / sec. Es ist großartig, ich kann es nicht genug empfehlen.
Meine bisherigen Erfahrungen mit der Webentwicklung habe ich mit Ruby (Rails / Merb) gemacht. Python zu lernen war einfach. Ich habe mich nicht mit Django oder Pylons oder einem anderen Framework angelegt, sondern nur mit den GAE-Beispielen begonnen und aus den bereitgestellten grundlegenden Webapp-Bibliotheken das erstellt, was ich brauchte.
Wenn Sie an die Flexibilität von SQL gewöhnt sind, kann der Datenspeicher etwas gewöhnungsbedürftig sein. Nichts zu traumatisch! Die größte Anpassung ist die Abkehr von JOINs. Sie müssen die Idee ablegen, dass Normalisierung entscheidend ist.
Ben
quelle
Einer der zwingenden Gründe für die Verwendung von Google App Engine ist die Integration in Google Apps für Ihre Domain. Im Wesentlichen können Sie damit benutzerdefinierte, verwaltete Webanwendungen erstellen, die auf die (kontrollierten) Anmeldungen Ihrer Domain beschränkt sind.
Der größte Teil meiner Erfahrung mit diesem Code bestand darin, eine einfache Zeit- / Aufgabenverfolgungsanwendung zu erstellen. Die Template-Engine war einfach und machte eine mehrseitige Anwendung dennoch sehr zugänglich. Die Anmelde- / Benutzererkennungs-API ist ähnlich nützlich. Ich konnte ein Paradigma für öffentliche und private Seiten ohne allzu große Probleme erstellen. (Ein Benutzer würde sich anmelden, um die privaten Seiten anzuzeigen. Einem anonymen Benutzer wurde nur die öffentliche Seite angezeigt.)
Ich war gerade im Datenspeicher des Projekts, als ich für "echte Arbeit" weggezogen wurde.
Ich konnte in sehr kurzer Zeit viel erreichen (es ist noch nicht getan). Da ich Python noch nie zuvor verwendet hatte, war dies besonders angenehm (sowohl weil es eine neue Sprache für mich war, als auch weil die Entwicklung trotz der neuen Sprache immer noch schnell war). Ich bin auf sehr wenig gestoßen, was mich glauben ließ, dass ich meine Aufgabe nicht erfüllen könnte. Stattdessen habe ich einen ziemlich positiven Eindruck von der Funktionalität und den Merkmalen.
Das ist meine Erfahrung damit. Vielleicht ist es nicht mehr als ein unvollendetes Spielzeugprojekt, aber es ist ein informierter Test der Plattform, und ich hoffe, das hilft.
quelle
Die Idee "App Engine mit Django" ist etwas irreführend. App Engine ersetzt die gesamte Django-Modellebene. Seien Sie also darauf vorbereitet, sich mit dem Datenspeicher von App Engine vertraut zu machen, der eine andere Art der Modellierung und des Denkens über Daten erfordert.
quelle
Ich habe GAE verwendet, um http://www.muspy.com zu erstellen
Es ist ein bisschen mehr als ein Spielzeugprojekt, aber auch nicht allzu komplex. Ich bin immer noch auf einige Probleme angewiesen, die von Google angegangen werden müssen, aber insgesamt war die Entwicklung der Website eine erfreuliche Erfahrung.
Wenn Sie sich nicht mit Hosting-Problemen, Serveradministration usw. befassen möchten, kann ich es auf jeden Fall empfehlen. Vor allem, wenn Sie Python und Django bereits kennen.
quelle
Ich denke, App Engine ist zu diesem Zeitpunkt ziemlich cool für kleine Projekte. Es gibt viel zu sagen, wenn man sich nie um das Hosting sorgen muss. Die API bringt Sie auch in die Richtung, skalierbare Apps zu erstellen, was eine gute Praxis ist.
quelle
Diese Frage wurde vollständig beantwortet. Was gut ist. Aber eines ist vielleicht erwähnenswert. Die Google App Engine verfügt über ein Plugin für die Eclipse-Idee, mit dem es eine Freude ist, zu arbeiten.
Wenn Sie Ihre Entwicklung bereits mit Eclipse durchführen, werden Sie sich darüber sehr freuen.
Um auf der Website der Google App Engine bereitzustellen, muss ich nur auf eine kleine Schaltfläche klicken - mit dem Flugzeuglogo - super.
quelle
Schauen Sie sich das SQL-Spiel an , es ist sehr stabil und hat tatsächlich die Verkehrsbeschränkungen an einem Punkt verschoben , so dass es von Google gedrosselt wurde. Ich habe nur gute Nachrichten über App Engine gesehen, außer dass Sie Ihre App auf Servern hosten, die jemand anderes vollständig kontrolliert.
quelle
Ich habe GAE verwendet, um eine einfache Anwendung zu erstellen, die einige Parameter, Formate akzeptiert und E-Mails sendet. Es war sehr einfach und schnell. Ich habe auch einige Leistungsbenchmarks für die GAE-Datenspeicher- und Memcache-Dienste erstellt ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Es ist nicht so schnell. Meiner Meinung nach ist GAE eine seriöse Plattform, die bestimmte Methoden durchsetzt. Ich denke, es wird sich zu einer wirklich skalierbaren Plattform entwickeln, auf der schlechte Praktiken einfach nicht erlaubt sind.
quelle
Ich habe GAE für meine Flash-Gaming-Site Bearded Games verwendet . GAE ist eine großartige Plattform. Ich habe Django-Vorlagen verwendet, die so viel einfacher sind als die alten Zeiten von PHP. Es kommt mit einem großartigen Admin-Panel und gibt Ihnen wirklich gute Protokolle. Der Datenspeicher unterscheidet sich von einer Datenbank wie MySQL, ist jedoch viel einfacher zu bearbeiten. Das Erstellen der Website war einfach und unkompliziert und sie haben viele hilfreiche Ratschläge auf der Website.
quelle
Ich habe GAE und Django verwendet, um eine Facebook-Anwendung zu erstellen. Ich habe http://code.google.com/p/app-engine-patch als Ausgangspunkt verwendet, da es Django 1.1-Unterstützung bietet. Ich habe nicht versucht, einen der Befehle "manage.py" zu verwenden, da ich davon ausgegangen bin, dass sie nicht funktionieren würden, aber ich habe mich nicht einmal damit befasst. Die Anwendung hatte drei Modelle und verwendete auch Pyfacebook, aber das war das Ausmaß der Komplexität. Ich bin gerade dabei, eine viel kompliziertere Anwendung zu erstellen, über die ich auf http://brianyamabe.com zu bloggen beginne .
quelle