Sunday, November 7, 2010
Pyramid - następca Pylons
Tuesday, June 1, 2010
Pylons 1.0 :) już jest!
That's a shame for your friends..Moim zdaniem jednak coś w tym jest. To co najbardziej mnie denerwuje w Pylons to wkład pracy jaki trzeba było włożyć, aby przejść z wersji 0.9.n na 0.9.n+1. Mam cichutką nadzieję, że ekipa Pylons utrzyma wersję 1.0.x kompatybilną a kolejne "zmiany" będą wprowadzać dopiero do 1.x.0.
Friday, January 23, 2009
Django banał
Muszę przyznać, że jestem w szoku. Aplikację napisałem w trymiga, dokumentacja świetna, walidacja, formularze generują się same a modele posiadają metody idealnie do CRUDa. Najbardziej denerwują urls.py, które co nóż to trzeba uzupełniać. Formularze tworzyłem na bazie modeli i nie za bardzo wiedziałem też jak zrobić bez grzebania w klasie formularza (o ile to w ogóle możliwe), żeby pewne pole wyświetlało się w trybie readonly. Poza tym wszystko szło jak burza.
Szczerze mówiąc framework szalenie przyśpiesza tworzenie aplikacji. Dzięki temu, że nie trzeba dokładać do niego kolejnych modułów skupiam się na pisaniu aplikacji nie zaś na szukaniu rozwiązań, które po prostu były podane jak na dłoni w świetnej moim zdaniem dokumentacji.
Programowało mi się przez tą chwilę znacznie lepiej, szybciej, wygodniej i przyjemniej niż w Pylons, w którym wszystko musiałem robić sam. W Django nie widać na przykład żadnych transakcji (jeżeli nie chce się ich mieć), klasy posiadają metody - nie trzeba korzystać jawnie z jakiegoś meta.Session, gdzie w Pylons musisz sobie samemu (choć to tylko chwilka) zrobić takie cudo.
Brakowało mi tylko dekoratora do walidacji formularzy, żeby wyrzucić oczywisty kod na zewnątrz metody i nie zaśmiecać jej sprawdzaniem czy formularz się zwalidował ale napisanie go to pewnie sekundka.
Nie będę się jednak uczył tego frameworka - na ile mi potrzeba już go umiem :] Po Pylons (gdy skończę pisać projekt, który w nim zacząłem) przyjdzie czas na naukę Rubego :P
Thursday, January 22, 2009
TruboGears 2 - framework na Pylons
Zainteresowałem się temat ponieważ dziwnie często w niektórych źródłach ukazywały się jakieś "porównania" tych frameworków, ale nie na zasadzie TurboGears vs Pylons tylko na zasadzie "co użyto w Pylons co można byłoby użyć w TG", albo "W Pylons użyte jest to a w TG użyto tego i tego - trzeba sprawdzić czy nie powinniśmy używać tego w Pylons". Moim skromnym zdaniem :) fakt zaistnienia takiej sytuacji pokazuje, że Pylons to poważny framework, ceniony w gronie developerów Pythona :] i to aż tak fajny, że można na nim pisać inne frameworki.
TG 2.0 jeszcze nie wyszedł (jest w wersji beta), być może wydanie jego pełnej wersji jest uzależnione od wyjścia Pylons w wersji 1.0. Poczekamy - zobaczymy :)
Nowa strona Pylons i wersja 0.9.7 rc4
Myślę, że wraz z odświeżeniem strony nastąpi też ożywienie społeczności, będzie to jaki bodziec, pozytywny akcent. To co cieszy to fakt iż proponowana do ściągnięcia na stronie wersja Pylons to 0.9.7rc4. Jak można wyczytać na grupie dyskusyjnej do wydania wersji 0.9.7 kod prawdopodobnie nie ulegnie zmianie bo jedyne zadania, które zostały do ukończenia to tickety niezwiązane z kodem.
Jestem szalenie ciekaw jak szybko ruszą prace nad 9.8 i czy zmiany z 9.7 zostaną zmergowane do gałęzi 1.0, która już od około 10 miesięcy się nie zmienia. Zobaczymy :) Czekam na marcową wersję Pylons 1.0 ;]
Thursday, December 25, 2008
Pylons - generowanie formularzy z użyciem form alchemy
Saturday, December 20, 2008
web2py - wymiękłem
Zacząłem analizować ... porównania. Porównania z innymi frameworkami. W Merb zachwyciła mnie modularność, wydajność i czytelność kodu. Przyznaję się. Nie napisałem w tym frameworku nawet pół linijki kodu. Cały podziw dla kunsztu przedkładam wyłącznie z wypowiedzi z jakimi spotykam się w sieci. Przeglądając pluginy znalazłem ciekawą opcję walidacji danych wchodzących do datamapeera jednak zabrakło mi gdzieś generowania formulrzy czy chociażby samej obecności admin panelu. Wiem, że ma być obecny w wersji 2.0 :) To cieszy. Być może coś przeoczyłem jednak przy moich obecnych obserwajach Merb w porównaniu do Pylons ma fantastyczne validowanie, z tłumaczeniami błędów i to w kilku języka... I do tego ta elegancja składni dekoratorów - miodzio.
No właśnie. Skoro już przy tym jesteśmy. Pylons tak jak merb nie posiada admin panelu. Tutaj na tle frameworków Pythonowych króluje Django. Nie ma mowy o scaffoldingu czy czymkolwiek takim. Nic z tych rzeczy. Modularność może cieszyć, jednak niestety nie znajdujemy mechanizmów do generowania formularz (znowu) ... Co prawda jest FormBuild ale wygląda bynajmniej podejrzanie, pomimo tego że jest opisana w PylonsBook, i jakoś ... nie o takim generowaniu marzę.
No więc może Django. Posiadania rozbudowane generowanie formularzy oraz admin panel. Pomimo tego nie dorasta do pięt Pylons w walidowaniu formularzy o braku możliwości testowania kodu (co często jest krytczne) nie wspomnę.
Co do Railsów - wydają się tutaj rozsądne. Posiadają na przykłąd mailer, którego na próżno szukać w jakimkolwiek pythonowym frameworku. Jest konsola (jak w Pylons), Scaffolding. Może brak admin panelu (chociaż może ktoś zna takowy), ale nie ma co narzekać: mailer, rack do testowania, migracje. HAML, SASS, spory wybór możliwych do podpięcia ORMów ... bomba.
A co gdybyśmy chcieli programować w Pythonie ? HAML i SASS oczywiście nie zagościł tutaj, mailerów nie można się spodziewać (choć szkoda, bo przydałaby się dobrze przetesowana biblioteka odporna na MailInjection) .
Wszystkie frameworki są do siebie jednak podobne. Generowany jest jakiś kod, używa się poleceń skryptowych i konsoli...
Dziś trafiłem na ten screencast pokazujący możliwości frameworka web2py
Nie wiem jakie macie podejście do tego co jest na nim pokazane. Wszystko co jest tam zaprezentowane to prawda, choć bardziej przypomina to "klikanie" aplikacji, niż jej tworzenie. Na prawdę. Nie otworzyłem ani przez sekundę edytora. Konsola też w gruncie rzeczy jest zbędna (chyba, że chcesz w niej odpalić serwer). Jest scaffolding (wow). Co prawda nie zauważyłem, żeby można było sobie wygenerować jego kod do pliku "od tak" jak w Rails, ale jest ! i to nie lada. Formularzy się "nie generuje" po prostu ... są :) i walidowanie jest ... bajecznie proste.
Wydaje mi się troszkę, że tak zautomatyzowany framework będzie podpadał pod zarzuty pod jakimi padał Django w ogniu Grono.net jednak ... to co dziś widziałem robi na mnie wrażenie. Web2Py to coś ... innego, coś co zmienia myślenie o tworzeniu aplikacji internetowych. Zobaczymy co jeszcze :)
Thursday, November 27, 2008
Ruch na pylonshq.com
Tuesday, October 14, 2008
Przewodnik po Pylons 0.9.7
W ostatnich dniach postanowiłem usytematyzować swoją wiedzę związaną z frameworkiem Pylons. W wolnym czasie tworzyłem kolejne części przewodnika, z myślą o opublikowaniu go na łamach python.org.pl. Na "całość" składają się cztery części. Ponieważ niestety uczelnia daje się we znaki postanowiłem opublikować ich szkice a w miarę ich dopracowywania publikować oficjalnie opracowane wersje na wyżej wymienionym portalu.
Wednesday, August 13, 2008
Pylons - raport z pola walki
Po pierwsze szalenie podoba mi się python. Kod pisze się szybko, zgrabnie. Jak się na to wszystko patrzy - to nawet mniej jakoś tego kodu się wydaje - i dobrze :] Tak powinno być.
Jak pisałem wcześniej Pylons używa zewnętrznych, istniejących w oderwaniu od projektu rozwiązań, do najróżniejszych zadań. Bardzo mi się to osobiście podoba :) i wpływa pozytywnie, moim zdaniem, na cały projekt.
FormEncode - świetne rozwiązanie do walidacji formularzy. Lepiej bym sobie tego sam nie zaplanował. Bardzo rozbudowane. Szkoda, tylko, że w pythonsbook są błędy - które wyłapałem dopiero po zajrzeniu w kod źródłowy wyżej wspomnianej biblioteki. Do tej pory na przykład nie wiem zmienić treść domyślnych komunikatów - dla wszystkich pól jednym pociągnięciem nie wprowadzając jej w każdym z osobna bez robienia własnego validatora (a o ile rozumiem z pylonsbook jest to możliwe).
W ogóle muszę przyznać, że jestem mile zaskoczony tym iż w ogóle istnieje coś takiego jak pylons book.
Kolejna rzecz - jeżeli chodzi o opis ustawiania kodowania w SQLAlchemy - to dokumentacja Pylons ... nawet nie - nie powiadamia nas o tym, ale bezczelnie wyprowadza nas w pole. Przydałaby się tutaj, z racji czystej żetelności, aktualizacja i uświadomienie użytkowników.
No i jak przy kodowaniu jesteśmy to niestety - python ze swoim unicode w wersji 2 sprawia same problemy. Używanie znaczków polskich w templatach, czy w kodzie - powoduje nie lada problemy w bibliotekach ... i nie zawsze udaje się je ominąć, czy załatwić sprawę w kontrolerze. Tak np. jeżeli użyjemy w FormEncode polskich znaczków w którejś wartości "GetOne" - to po wybraniu jej w formularzu zostaniemy poczęstowni błędem o niemożności odkowania symbolu.
Mam nadzieję, że zmiany na poziomie języka w Python 3000 jakoś to załatają ... bo obecnie moim zdaniem - stan jest opłakany.
Co do wcześniej wspomnianych komunikatów - o ile nie znajdę w źródłach FormEncode metody to da się to bodajże załatwić (mam nadzieję, że tak) poprzez i18n ... i tak zamierzam to zrealizować - jest to jakieś rozwiązanie :)
Hmm - co więcej. W Pylons brakuje mi czegoś co pozwalałoby zmienić nazwę kontrolera, ale to tylko taka moja fanaberia (często zmieniam zdanie co do tego jak coś powinno się nazywać ... i po prostu by mi się przydało)
O co do SQLAlchemy i fillhtml. Metody używania SQLAlchemy opisane w Docs Pylons zwracają obiekty danego typu - zaś do fillhtml przydają się słowniki na przykład.... Tutaj fajnie było wpaść do pomysł zaimplementowania udawania przez klasę danego modelu słownika - i przekonwertowanie jej na słownik. Zadziałało i powiem szczerze, że jestem z tego szalenie dumny :)
Jednak zaniepokoiła mnie pewna sprawa. Otóż mój klucz główny w tabeli wcale nie nazyw się "id" i na jakiś czas "magicznie" metoda "get()" przestała mi zwracać wartości z tabeli - ciekaw jestem czy to ma jakiś wpływ... mam nadzieję, że to był jakiś mój błąd a nie przypadek. Głupio by było gdybya aplikacja przestawała losowo działać.
Dziś myszkując po internecie na blogu Zabiello znalazłem informację, że Jego zdaniem Merb-a jest jakby prościej się nauczyć od Pylons bo jest prostrzy. Z mojego punktu widzenia - łatwiej się nauczyć tego co posiada lepszą dokumentację ... Pylons opanowuję sobie spokojnie... w swoim tempie, natomiast w Merbie to jest dla mnie mega - zgaduj zgadula (przynajmniej bez dokumentacji - bo chyba takiej "dla ludzi" brak).
Martwi być może tylko, że czasami projekty, z których korzysta Pylons nie są często od dawna wydawane. Ciekawe czy są porzucone, czy "ukończone" i co się stanie kiedy znajdzie się w nich błąd. Wierzmy, że wszystko będzie dobrze :)
Dziś pozytywnie zaskoczył mnie nawet python, w którym z pomocą kolegi napisałem niskopoziomowy wrapper procesów z pipem komunikującym się na 3 i 4 deskryptorze - coś czego w rubym nie udało mi się napisać jeszcze jakiś czas temu (dzięki Łukasz !).
Podsumowując - wszystko na plus ! Uaktualnijcie tylko dokumentację tak aby nie robić ludzi w konia, poprawcie błędy w pylonsbook, zróbcie coś z tym unicode i cacy :)
Sunday, June 22, 2008
Pylons - moje przemyślenia
Całkiem niedawno postanowiłem poznać ciut bliżej pylons - pewien framework Pythona. Czytałem w różnych opisach (dat nie pamiętam), że pylons nie ma dokumentacji... Rzeczywiście - pewnych rzeczy w dokumentacji oficjalnej na witrynie http://wiki.pylonshq.com/display/pylonsdocs/Home się nie doszukałem, jednak nie są to jedyne źródła informacji !
Po pierwsze pogłoski iż jakoby pylons miał kiepską dokumentacje są nie trafione. Ten framework tak silnie korzysta z zewnętrznych, tworzonych w ramach osobnych projektów rozwiązań, że gdyby przestały istnieć framework przestałby funkcjonować przynajmniej na jakiś czas. Rozwiązania te, takie jak : SQLAlchemy czy Mako - mają własną dokumentację. Obszerną, dokładną, przerzystą dokumentację. Nie ma co się dziwić ... skoro to zewnętrzne projekty to czemu miałoby być inaczej ?
Dokumentacja istnieje, jest więc tylko troszkę rozproszona, ponieważ pylons korzystając z konkretych rozwiązań pokazuje tylko coś "na start" i zaprasza do zapoznania się z dokumentacją np. SQLAlchemy w celu pogłębienia swojej wiedzy. Moim zdaniem to rozwiązanie jest rozsądne i słuszne - po co robić kopiuj wklej opracowania jakiegoś projektu z którego korzystasz jeżeli możesz po prostu do niego odesłać.
Zastanawia mnie tylko jedna rzecz. Django i Pylons, z nieznanych mi powodów, ale zapewne jakieś są, idą łeb w łeb ... gdzie jednak Django ma napisane wszystko "od siebie" a Pylons sam napisał może 2% tego co djangowcy bo przecież 98% to zewnętrzne rozwiązania z naklejką "ready to go !". Logicznie myśląc skoro pylons i tak "wykorzystuje" cudzą pracę to mogłoby rozwijać się znacznie szybciej niż django, w którym wszystko jest implementowane po djanogowemu na potrzeby frameworka.
I jeszcze na koniec - to nie prawda, że Pylons ma słabą dokumentację. Dokumentacja jest wystarczająca - choć oczywiście mogłaby być lepsza. Dla zapaleńców polecę jeszcze tylko polski tutorial do Pylons: http://python.rk.edu.pl/w/p/pylonsindex/
I kto mówił, że Pylons ma słabą dokumentacje ?