Polecany artykuł:

mar 12

GAE 3rdparty libs

Zamieszczony przez jarek.zgoda 2009-03-12 o 12:34 | | »

Google AppEngine jest ubogie w biblioteki (poza nieco zubożoną biblioteką standardową Pythona dostępne tylko PyYaml, WebOb i Django-0.96), więc każdy kto robi aplikację na to środowisko musi dołączać do aplikacji wszystko, co jest mu potrzebne. Jeżeli aplikacja jest jedna, to pół biedy, da się to utrzymać. Jeżeli jest kilka, to wypadałoby zadbać jakoś o synchronizację. Ta potrzeba doprowadziła mnie do wynalazku, który nie ma nazwy, tylko funkcjonalność — repozytorium bibliotek, których używam na AppEngine. Od repozytoriów źródłowych różni się to tym, że w u mnie biblioteki są w formie takiej, że nic tylko wrzucać i jechać — powycinane są z nich wszystkie te moduły, które nie są potrzebne lub nie mają szansy zadziałać na AppEngine, a w kilku przypadkach zostały odchudzone lub przerobione, żeby nie stanowić nadmiernego obciążenia dla GAE.

W chwili obecnej zawartość repozytorium przedstawia się następująco (w nawiasie opis zmian względem oryginału, brak podanej wersji oznacza wersję rozwojową):

  • babel, wersja 0.9.4 (tylko funkcje l10n, zawiera lokalizacje dla en, en_US, en_GB, de, de_DE, de_AT, pl i pl_PL);
  • jinja2 (usunięte moduł z przyspieszaczami w C i wsparcie dla IronPythona);
  • openid, wersja 2.2.1 (tylko consumer);
  • pytz, wersja 2009a (wraz z ułatwiaczem dla AppEngine, zawiera wszystkie strefy czasowe!);
  • werkzeug (usunięte parę contribów, które nie mają szans zadziałać na AppEngine);
  • wtforms (bez dodatków dla Django).

Wszystkie biblioteki są aktualizowane na bieżąco w miarę pojawiania się nowych wydań lub zmian w repozytoriach źródłowych, co może oznaczać, że incydentalnie mogą się w nich pojawiać błędy, a także (w przypadku wersji rozwojowych) mogą pojawiać się zmiany interfejsu bibliotek. Repozytorium jest trzymane w SVN, więc żądni adrenaliny mogą je dołączyć przez svn:externals. Bardziej stateczni mogą sobie po prostu ściągnąć i porobić symlinki.

No i czas wreszcie na zaspokojenie apetytu. URL repozytorium to http://gae-3rdparty-libs.googlecode.com/svn/trunk/ — repozytorium jest publiczne, więc możliwy jest anonimowy checkout, bez konieczności zakładania konta Google.

Na koniec jeszcze konieczny disklajma: używasz tego na własną odpowiedzialność. Staram się nie umieszczać tam kodu, który jest zepsuty, ale nie gwarantuję poprawnego działania.

Ostatni wpis w blogu:

kwi 8

Java na AppEngine

Zamieszczony przez jarek.zgoda 2009-04-08 o 21:39 | | Komentarzy: 4 »

Nasi bracia mniejsi (niektórzy mówią na nich javowce, ale ja jestem tolerancyjny i wcale nie uważam ich za podludzi) dostali swoje — Google ogłosiło, że kolejnym językiem dostępnym na GAE będzie Java. Jakkolwiek dziwnie to brzmi, nie jest to takie ani dziwne, ani złe. W końcu Java stanowi znaczący odsetek corporate programming efforts, więc użytkowników płacących może być całkiem sporo... Oczywiście, o ile dostaną to, czego potrzebują do zrobienia aplikacji, a na razie na to nie wygląda. Z paru ostatnich postów na nowo powstałej grupie dla użytkowników Javy wynika, że jest to zbyt egzotyczne i ludzie nie dają sobie z tym rady (pewnie za jakiś czas posmak nowego zniknie i wszystko wróci do normy).

Gratuluję nowego języka, cieszę się z wprowadzonego przy okazji crona i czekam na poprawę/zmianę kilku rzeczy, które znacząco ograniczają moje zaufanie do tej platformy.