Chce zrobić bardzo mały, szybki i brudny projekt poboczny. Podoba mi się fakt, że Google App Engine działa na Pythonie z wbudowanym Django - daje mi pretekst do wypróbowania tej platformy ... ale moje pytanie brzmi:
Czy ktoś wykorzystał silnik aplikacji do czegoś innego niż problem z zabawkami? Widzę kilka dobrych przykładowych aplikacji, więc zakładam, że jest to wystarczająco dobre dla prawdziwej transakcji, ale chciałem uzyskać informacje zwrotne.
Jakiekolwiek inne notatki o sukcesach / porażkach byłyby świetne.
python
django
google-app-engine
agartzke
źródło
źródło
Odpowiedzi:
Wypróbowałem silnik aplikacji dla mojej małej aplikacji zegarka quake http://quakewatch.appspot.com/
Moim celem było poznanie możliwości silnika aplikacji, więc oto główne punkty:
Ale ogólnie uważam, że jest doskonały do tworzenia aplikacji, które nie wymagają dużo przetwarzania w tle.
Edycja: teraz kolejki zadań mogą być używane do uruchamiania przetwarzania wsadowego lub zaplanowanych zadań
Edycja: po roku pracy / tworzenia prawdziwej aplikacji na GAE, teraz mam taką możliwość, że jeśli nie tworzysz aplikacji, która wymaga skalowania do milionów i milionów użytkowników, nie używaj GAE. Utrzymywanie i wykonywanie trywialnych zadań w GAE to ból głowy ze względu na rozproszony charakter, unikanie przekroczonych terminów błędów, liczenie jednostek lub wykonywanie złożonych zapytań wymaga złożonego kodu, dlatego mała złożona aplikacja powinna trzymać się LAMP.
Edycja: Modele powinny być specjalnie zaprojektowane z uwzględnieniem wszystkich transakcji, które chcesz mieć w przyszłości, ponieważ podmioty tylko z tej samej grupy podmiotów mogą być używane w transakcji i sprawia, że proces aktualizacji dwóch różnych grup jest koszmarem, np. Przelewanie pieniędzy od użytkownika 1 do użytkownika 2 w transakcji jest niemożliwe, chyba że są w tej samej grupie podmiotów, ale uczynienie ich tą samą grupą podmiotów może nie być najlepsze do częstych aktualizacji ... przeczytaj ten http://blog.notdot.net/2009/9/Distributed-Transactions- on-App-Engine
źródło
Używam GAE do obsługi kilku aplikacji o dużym natężeniu ruchu. Podobnie jak w przypadku rzędu 50-100 żądań / sek. Jest świetny, nie mogę go wystarczająco polecić.
Moje poprzednie doświadczenie z tworzeniem stron internetowych dotyczyło Rubiego (Rails / Merb). Nauka Pythona była łatwa. Nie zadzierałem z Django, Pylonami ani żadnym innym frameworkiem, po prostu zacząłem od przykładów GAE i zbudowałem to, czego potrzebowałem, z podstawowych bibliotek aplikacji internetowych, które są dostępne.
Jeśli jesteś przyzwyczajony do elastyczności SQL, przyzwyczajenie się do magazynu danych może zająć trochę czasu. Nic zbyt traumatycznego! Największą zmianą jest odejście od JOIN. Musisz odrzucić pogląd, że normalizacja jest kluczowa.
Ben
źródło
Jednym z najważniejszych powodów, dla których znalazłem zastosowanie Google App Engine, jest jego integracja z Google Apps w Twojej domenie. Zasadniczo umożliwia tworzenie niestandardowych, zarządzanych aplikacji internetowych, które są ograniczone do (kontrolowanych) loginów do domeny.
Większość mojego doświadczenia z tym kodem polegała na tworzeniu prostej aplikacji do śledzenia czasu / zadań. Silnik szablonów był prosty, a mimo to wielostronicowa aplikacja była bardzo przystępna. Interfejs API logowania / świadomości użytkownika jest podobnie przydatny. Udało mi się stworzyć paradygmat strony publicznej / prywatnej bez większego problemu. (użytkownik logowałby się, aby zobaczyć strony prywatne. Anonimowy użytkownik był pokazywany tylko na stronie publicznej).
Właśnie wchodziłem do części projektu związanej z magazynem danych, kiedy zostałem wciągnięty do „prawdziwej pracy”.
Udało mi się wiele osiągnąć (nadal nie jest to zrobione) w bardzo krótkim czasie. Ponieważ nigdy wcześniej nie korzystałem z Pythona, było to szczególnie przyjemne (zarówno dlatego, że był to dla mnie nowy język, jak i dlatego, że rozwój był nadal szybki, pomimo nowego języka). Napotkałem bardzo niewiele, co doprowadziło mnie do przekonania, że nie będę w stanie wykonać swojego zadania. Zamiast tego mam dość pozytywne wrażenie na temat funkcjonalności i możliwości.
To jest moje doświadczenie z tym. Być może nie jest to coś więcej niż niedokończony projekt zabawki, ale reprezentuje świadomy test platformy i mam nadzieję, że to pomoże.
źródło
Idea „App Engine z Django” jest nieco myląca. App Engine zastępuje całą warstwę modelu Django, więc przygotuj się na aklimatyzację z magazynem danych App Engine, który wymaga innego sposobu modelowania i myślenia o danych.
źródło
Użyłem GAE do zbudowania http://www.muspy.com
To trochę więcej niż projekt zabawki, ale też niezbyt skomplikowany. Nadal polegam na kilku kwestiach, które Google musi rozwiązać, ale ogólnie tworzenie strony było przyjemnym doświadczeniem.
Jeśli nie chcesz zajmować się problemami z hostingiem, administracją serwerami itp., Zdecydowanie mogę to polecić. Zwłaszcza jeśli znasz już Pythona i Django.
źródło
Myślę, że w tej chwili App Engine jest całkiem fajny dla małych projektów. Wiele można powiedzieć o tym, że nigdy nie musisz się martwić o hosting. Interfejs API popycha Cię również w kierunku tworzenia skalowalnych aplikacji, co jest dobrą praktyką.
źródło
Na to pytanie udzielono pełnej odpowiedzi. Który jest dobry. Ale być może warto wspomnieć o jednej rzeczy. Silnik aplikacji Google ma wtyczkę do zaćmienia ide, z którym praca jest przyjemnością.
Jeśli już rozwijasz swój rozwój z eclipse, będziesz z tego powodu bardzo szczęśliwy.
Aby wdrożyć go na stronie internetowej silnika aplikacji Google, wystarczy kliknąć jeden mały przycisk - z logo samolotu - super.
źródło
Spójrz na grę sql , jest bardzo stabilna i faktycznie przesunęła ograniczenia ruchu w pewnym momencie, tak że została dławiona przez Google. Widziałem tylko dobre wieści o App Engine, poza hostowaniem aplikacji na serwerach, które ktoś inny kontroluje.
źródło
Użyłem GAE do zbudowania prostej aplikacji, która akceptuje parametry, formaty i wysyła e-mail. To było niezwykle proste i szybkie. Przeprowadziłem również testy wydajności dla usług magazynu danych GAE i pamięci podręcznej ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Nie jest tak szybko. Moim zdaniem GAE to poważna platforma, która wymusza określoną metodologię. Myślę, że rozwinie się do prawdziwie skalowalnej platformy, gdzie złe praktyki są po prostu niedozwolone.
źródło
Użyłem GAE na mojej stronie z grami flash, Bearded Games . GAE to świetna platforma. Użyłem szablonów Django, które są o wiele łatwiejsze niż za dawnych czasów PHP. Posiada świetny panel administracyjny i daje naprawdę dobre dzienniki. Magazyn danych różni się od bazy danych, takiej jak MySQL, ale jest o wiele łatwiejszy w obsłudze. Zbudowanie witryny było łatwe i proste, a firma ma wiele pomocnych porad.
źródło
Użyłem GAE i Django do zbudowania aplikacji na Facebooku. Jako punkt wyjścia użyłem http://code.google.com/p/app-engine-patch, ponieważ obsługuje on Django 1.1. Nie próbowałem używać żadnego z poleceń manage.py, ponieważ zakładałem, że nie będą działać, ale nawet się do tego nie zaglądałem. Aplikacja miała trzy modele i również korzystała z pyfacebook, ale na tym polegała złożoność. Jestem w trakcie tworzenia znacznie bardziej skomplikowanej aplikacji, o której zaczynam pisać na http://brianyamabe.com .
źródło