Heavymind
Gdyby ludzie rozmawiali tylko o tym, co rozumieją, zapadłaby nad światem wielka cisza.

07/04/2008

Nadchodzi Symfony 1.1

Opublikowane jako: Symfony — Tags: , , , , , , — Kubek Bartosz @ 22:34

Kilka nieatrakcyjnych cech, jakie pozwoliłem sobie wytknąć framework’owi Symfony w poprzednim wpisie, pokazuje jego niedoskonałość. Cóż, trudno - ponoć nie istnieją rozwiązania doskonałe.

Jednak w przypadku tego framework’a, dużo ma się zmienić i to na lepsze. Zapoznając się z jednym z ostatnich wpisów na blogu Symfony, dowiadujemy się szczegółów nt. tego co ulec ma zmianie. Są nimi w większości:

  • całkowicie napisany od nowa Command Line Interface (CLI), wraz z solidnie rozpisanym helpem. Jest faktem że podczas procesu developerskiego, Symfony CLI jest wykorzystywany często. Jest więc to krok w dobrą stronę,
  • zbudowano nowy subframewok do budowy formularzy. Jest on całkowicie obiektowy. Konsekwencją tego zabiegu jest: wyeliminowanie View Helperów (bardzo dobrze, zalatywały PHP4 ), zastąpienie wątpliwego mechanizmu walidatorów budowanych w plikach YAML, walidatorami obiektowymi ( jako część wspomnianego subframeworka), oraz wszelka integracja warstwy widoku, oraz żądań (Request’ów) z tym systemem. Tutaj duże brawo,
  • integracja zabezpieczenia przeciw atakom Cross-site request forgery (CSRF), jako element subframeworku formularzy. W mojej opinii, mechanizmy przeciwdziałania CSRF, są bardzo ciekawym zjawiskiem jakie jest aktualnie w modzie. I dobrze, ponieważ obszar jaki pokrywają serwisy internetowe jest coraz większy. Zwiększanie bezpieczeństwa witryn poprzez propagowanie kolejnych standardów jest przez mnie jak najbardziej uznawane,
  • rozszerzono możliwości systemu cache’owania. Woila! Jedna z najgorzej przygotowanych rzeczy w wer. 1.0 została przystosowana do użyteczności. Będzie więc można:
    - łatwo usuwać cache’e innej aplikacji, niż aktualna,
    - podczas potrzeby uzyskania dostępu do grupy cache’ów w celu usunięcia ich, możemy skorzystać z znaków wieloznaczności ( wildcards ) ( zapowiada się dobra alternatywa dla tagów znanych z Zend Framework),
    - jako z miejsca składowania cache’y będziemy mogli wybrać Memcache ( przy aktualnych niskich cenach RAMu, trzymanie np aż 8GB cache’owanych danych w pamięci RAM serwera www nie jest żadnym problemem ),
    - generalnie cache w końcu będzie można zastosować nie tylko do warstwy widoku, lub całościowo MCV, ale do wszystkiego, np: warstwy modelu,
  • usprawniono pracę z konfiguracjami, tj: lepszy parser YAML, pomocne informacje o błędach w YAML, możliwość większego prze strukturyzowania warstwy konfiguracyjnej. Nie znajduję jednak tutaj żadnej rewolucji. Dotychczasowe rozwiązania były czytelne w mojej ocenie,
  • rozbudowano możliwości mapowania obiektowo-relacyjnego (ORM), wraz z aktualizacją przy tym PROPEL‘a do nowszej wersji. Co zwróciło mą uwagę, to poprawienie czytelności plików schematu YAML podczas “zrzucania” istniejącej DB do YAML, oraz dodana możliwość definiowana danych testowych w relacji wiele-do-wielu (w tzw. plikach “fixtures”, zawierających stałe dane testowe, które się exportuje do bazy danych )
  • usprawniono system routingu. Nie wiele tu do skomentowania. Dobrze, ot co!,
  • rozbudowano możliwości systemu wielojęzykowego ( i18n ). To chyba jedno z ważniejszych usprawnień! Dzięki podłączeniu silnika cache’owania, oraz dodaniu narzędzi CLI do zarządzania różnicami w treści szablonów widoku, a słownikami (XLIFF w tym przypadku), tworzenie projektu wielojęzykowego w Symfony będzie w końcu wygodne!

To większość zmian jaka idzie z nową wersją. Jak widać jest tego na tyle sporo, a w mojej ocenie zmiany mają na tyle znaczenie, są tak wspaniałe i usprawniające pracę i jej jakość, iż z własnej strony, osobie noszącej się z zamiarem nauki tego framework’a polecał bym zaczekać jeszcze. Tak by zacząć od studiowania najnowszej wersji 1.1. Opinię tę opieram na fakcie tego jak wiele z wersji 1.0 stanie się nieaktualne i nie zalecane, jak również na tym, iż dokumentacja w postaci książki “The Definitive Guide to symfony”, owszem dostępna on-line w wersji 1.1, nie jest jeszcze zaktualizowania ( przez co informacje w niej o rozwiązaniach z wersji 1.1 jest szczątkowa ).

Ostatnio opublikowana rewizja w wersji 1.1 to Beta2. Nie udało mnie się jednak dotrzeć do informacji, kiedy możemy sie spodziewać rewizji Public Release. Z pewnością będzie to jeszcze kilka tygodni, przynajmniej.



18/02/2008

Podróże kształcą - Symfony, YAML, Propel, Prototype

Opublikowane jako: Symfony, Zend — Tags: , , , , — Kubek Bartosz @ 21:47

Kilak spraw organizacyjnych.

Dla osób, które zniecierpliwienie oczekują kolejnych artykułów, przekazuję i proszę - cierpliwości. Na zastój w publikacji zapowiadanych artykułów ma wpływ jedna szczególnie rzecz - nadchodząca wersja 1.5 Zend Framework.

Najprzód, chcę pokreślić, iż aktualnej wersji “1.5 Preview Release” (czyt. wdania zapowiadającego co będzie nowego) , nie wspieram/nie przyjmuję do wiadomości. Zespół autorów Zend Framework wyjaśnia, iż wiele metod w nowo dodanych funkcjonalnościach, może zmienić zasadę swego działania, jak również mogą zostać całkiem usunięte w części. Dlatego też niech dojrzewa swoim tempem nadchodzące wydanie tego frameworka.

Jedną z większych zmian jakie oferować mają nowe biblioteki, to spore zmiany w Zend_View. A dokładnie rzecz ujmując, autorom bibliotek rozszerzających możliwości Zend_View (tj. Zend_Layout, Zend_View_Helper_Placeholder), udało się wprowadzić ich rozwiązania jako składnik podstawowy pakietu Zend Framework w nadchodzącej wersji. Brawo im za to.

Co za tym idzie, istniejący już artykuł na łamach tej strony nt. Zend_Layout , będzie do przeróbki, a trzeci z serii który miał powstać, traktujący o widokach komponentowych, widokach częściowych itd. nie powstanie na bazie wcześniejszych, zewnętrznych i dodatkowych bibliotek. Owszem - powstać może, ale już w oparciu o przyszłą stabilną wersję 1.5.

Inna rzecz, że przygotowany materiał na artykuł drugi z serii Zend_View, traktujący o implementacji Smarty, nadal może powstać, ponieważ nie koliduje z tym co nadchodzi w nowym Zend Framework. Mam nadzieję iż będę gotów z publikacją tego artykułu przed stabilna nową wersją Zend Framework.

A między czas oczekiwania na Zend Framework 1.5, polecam poświęcić podróżom po po nowych lądach. Moim wyborem jest Symfony - ogromny framework, z równie olbrzymią społecznością używających go programistów. Pokuszę się o stwierdzanie, że jest to drugi co do rozmachu i zaawansowania framework, obok Zend Framework. Również w pełni obiektowy, posiadających wiele wspaniałych wbudowanych rozwiązań, do których Zend Framework albo już dąży w stosunku do jednych, albo jeszcze o tym nie wie że dążyć będzie, w stosunku do innych. Budowanie modułów z poziomu linii poleceń, implementacja i integracja z PROPEL‘em, który zapewnia część Modelu struktury MVC, integracja z Prototype, pełna konfigurowalność wszystkiego dzięki plikom YAML, część View modelu MVC posiadająca takie rozwiazania jak: widok layout’owy, komponentowy, częściowy itp. To wszystko od dawna już jest, doskonale udokumentowane, stabilne i gotowe na każde zastosowanie. Polecam przejście “kalendarza adwentowego” - 24 części samouczka, opisujących jak w Symfony zbudować aplikację web2.0.

Idąc więc z nurtem słów, często wypowiadanych przez mego przyjaciela: “podróże kształcą”, polecam serdecznie zapoznanie się z w/w frameworkiem. Można nabrać cennego dystansu do różnego rodzaju rozwiązań (lub ich brak), znajdujących się w naszym “upatrzonym” Zend Framework’u.



Oparte na WordPress