Domanda

Sto cercando di realizzare un progetto laterale molto piccolo, veloce e sporco. Mi piace il fatto che Google App Engine sia in esecuzione su Python con Django integrato - mi dà una scusa per provare quella piattaforma ... ma la mia domanda è questa:

Qualcuno ha fatto uso del motore dell'app per qualcosa di diverso da un problema con i giocattoli? Vedo alcune buone app di esempio là fuori, quindi suppongo che questo sia abbastanza buono per il vero affare, ma volevo ottenere un feedback.

Qualsiasi altra nota di successo / fallimento sarebbe ottima.

È stato utile?

Soluzione

Ho provato il motore dell'app per la mia piccola applicazione di monitoraggio di terremoti http://quakewatch.appspot.com/

Il mio scopo era quello di vedere le funzionalità del motore delle app, quindi ecco i punti principali:

  1. non viene fornito di default con django, ha un proprio framework web che è pitone ha un dispatcher di URL come django e usa modelli di django Quindi se hai django exp. lo troverai facile da usare
  2. Non è possibile eseguire alcun processo di lunga durata sul server, quello che fai è rispondere alla richiesta e che dovrebbe essere veloce altrimenti l'appengine lo ucciderà Quindi, se la tua app ha bisogno di molte applicazioni di elaborazione back-end non è il modo migliore in caso contrario dovrai eseguire l'elaborazione su un server tuo
  3. La mia app quakewatch ha una funzione di abbonamento, significa che ho dovuto inviare per e-mail gli ultimi terremoti mentre accadono, ma non riesco a eseguire un processo in background nel motore di app per monitorare i nuovi terremoti la soluzione qui è quella di utilizzare un servizio di terze parti come pingablity.com che può connettersi a una delle tue pagine e che esegue l'e-mail di abbonamento ma anche qui dovrai stare attento a non passare molto tempo qui o suddividere l'attività in più pezzi
  4. Offre funzionalità di modellazione simili a Django ma il backend è totalmente diverso ma per un nuovo progetto non dovrebbe importare.

Ma nel complesso penso che sia eccellente per la creazione di app che non richiedono molta elaborazione in background.

Modifica: Ora code attività possono essere utilizzate per eseguire l'elaborazione batch o attività pianificate

Modifica: dopo aver lavorato / creato una vera applicazione su GAE per un anno, ora la mia opinione è che a meno che tu non stia creando un'applicazione che deve ridimensionare a milioni e milioni di utenti, non usi GAE. Mantenere e svolgere attività banali in GAE è un mal di testa a causa della natura distribuita, per evitare la scadenza superata di errori, contare le entità o fare query complesse richiede un codice complesso, quindi un'applicazione piccola e complessa dovrebbe attenersi a LAMP.

Modifica: I modelli dovrebbero essere appositamente progettati considerando tutte le transazioni che desideri avere in futuro, poiché le entità solo nello stesso gruppo di entità possono essere utilizzate in una transazione e rende il processo di aggiornamento di due gruppi diversi un incubo, ad es. trasferire denaro da utente1 a utente2 nella transazione è impossibile a meno che non si trovino nello stesso gruppo di entità, ma renderle dello stesso gruppo di entità potrebbe non essere la migliore per scopi di aggiornamento frequente .... leggi questo http://blog.notdot.net/2009/9 / Distributed-Transazioni-on-App-Engine

Altri suggerimenti

Sto utilizzando GAE per ospitare diverse applicazioni ad alto traffico. Come nell'ordine di 50-100 req / sec. È fantastico, non posso raccomandarlo abbastanza.

La mia precedente esperienza con lo sviluppo web è stata con Ruby (Rails / Merb). Imparare Python è stato facile. Non ho fatto confusione con Django o Pylons o qualsiasi altro framework, ho appena iniziato dagli esempi GAE e ho creato ciò di cui avevo bisogno dalle librerie webapp di base fornite.

Se sei abituato alla flessibilità di SQL, l'archivio dati può richiedere un po 'di tempo per abituarsi. Niente di troppo traumatico! La più grande regolazione si sta allontanando dai JOIN. Devi abbandonare l'idea che la normalizzazione è cruciale.

Ben

Uno dei motivi convincenti che ho riscontrato per l'utilizzo di Google App Engine è la sua integrazione con Google Apps per il tuo dominio. Fondamentalmente ti consente di creare applicazioni web gestite personalizzate e limitate agli accessi (controllati) del tuo dominio.

La maggior parte della mia esperienza con questo codice è stata la creazione di una semplice applicazione di tracciamento tempo / attività. Il motore del modello era semplice e tuttavia ha reso molto accessibile un'applicazione multipagina. L'API di sensibilizzazione accesso / utente è altrettanto utile. Sono stato in grado di creare un paradigma di pagina pubblica / pagina privata senza troppi problemi. (un utente effettua l'accesso per visualizzare le pagine private. A un utente anonimo viene mostrata solo la pagina pubblica.)

Stavo entrando nella parte del datastore del progetto quando sono stato estratto per "lavoro reale".

Sono stato in grado di fare molto (ancora non è ancora stato fatto) in pochissimo tempo. Dato che non avevo mai usato Python prima, questo era particolarmente piacevole (sia perché era un nuovo linguaggio per me, sia perché lo sviluppo era ancora veloce nonostante il nuovo linguaggio). Mi sono imbattuto in ben poco che mi ha portato a credere che non sarei in grado di svolgere il mio compito. Invece ho un'impressione abbastanza positiva della funzionalità e delle caratteristiche.

Questa è la mia esperienza con esso. Forse non rappresenta altro che un progetto giocattolo incompiuto, ma rappresenta una prova informata della piattaforma, e spero che ti aiuti.

Il motore dell'app " con Django " l'idea è un po 'fuorviante. App Engine sostituisce l'intero livello del modello Django, quindi preparati a trascorrere un po 'di tempo ad abituarti al datastore di App Engine che richiede un modo diverso di modellare e pensare ai dati.

Ho usato GAE per creare http://www.muspy.com

È un po 'più di un progetto giocattolo ma non troppo complesso. Dipendo ancora da alcuni problemi che saranno affrontati da Google, ma lo sviluppo del sito Web nel complesso è stata un'esperienza piacevole.

Se non vuoi occuparti di problemi di hosting, amministrazione del server, ecc., Lo consiglio vivamente. Soprattutto se conosci già Python e Django.

Penso che App Engine sia piuttosto interessante per i piccoli progetti a questo punto. C'è molto da dire per non doversi preoccupare dell'hosting. L'API ti spinge anche nella direzione della creazione di app scalabili, il che è una buona pratica.

  • patch del motore dell'app è un buon livello tra Django e App Engine, che consente di utilizzare l'app di autenticazione e altro.
  • Google ha promesso uno SLA e un modello di prezzi entro la fine del 2008.
  • Le richieste devono essere completate in 10 secondi, le richieste secondarie ai servizi Web devono essere completate in 5 secondi. Ciò ti costringe a progettare un'applicazione veloce e leggera, scaricando l'elaborazione seria su altre piattaforme (ad esempio un servizio ospitato o un'istanza EC2).
  • Presto arriveranno altre lingue! Google non dirà che però :-). I miei soldi sono su Java dopo.

Questa domanda ha ricevuto una risposta completa. Che è buono. Ma forse vale la pena menzionare una cosa. Il motore dell'app di Google ha un plug-in per l'ide di eclissi che è una gioia lavorare con.

Se fai già il tuo sviluppo con Eclipse, ne sarai così felice.

Per implementare sul sito web del motore dell'app google tutto ciò che devo fare è fare clic su un piccolo pulsante - con il logo dell'aeroplano - super.

Dai un'occhiata al gioco sql , è molto stabile e ha effettivamente spinto i limiti del traffico a un certo punto in modo che venisse limitato da Google. Non ho visto altro che buone notizie su App Engine, oltre all'hosting dell'app su server che qualcun altro controlla completamente.

Ho usato GAE per creare una semplice applicazione che accetta alcuni parametri, formati e invia e-mail. È stato estremamente semplice e veloce. Ho anche fatto alcuni benchmark delle prestazioni sul datastore GAE e sui servizi memcache ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Non è così veloce. La mia opinione è che GAE sia una piattaforma seria che impone una certa metodologia. Penso che si evolverà in una piattaforma veramente scalabile, dove le cattive pratiche semplicemente non sono ammesse.

Ho usato GAE per il mio sito di giochi flash, Bearded Games . GAE è un'ottima piattaforma. Ho usato modelli Django che sono molto più facili rispetto ai vecchi tempi di PHP. Viene fornito con un ottimo pannello di amministrazione e ti dà registri davvero buoni. Il datastore è diverso da un database come MySQL, ma è molto più facile da lavorare. Costruire il sito è stato facile e diretto e hanno molti consigli utili sul sito.

Ho usato GAE e Django per creare un'applicazione Facebook. Ho usato http://code.google.com/p/app-engine-patch come punto di partenza in quanto ha il supporto Django 1.1. Non ho provato a usare nessuno dei comandi manage.py perché ho pensato che non avrebbero funzionato, ma non ci ho nemmeno guardato dentro. L'applicazione aveva tre modelli e utilizzava anche il pyfacebook, ma questa era l'estensione della complessità. Sto sviluppando un'applicazione molto più complicata di cui sto iniziando a scrivere un blog su http://brianyamabe.com .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top