Wojciech Zymonik

Wojciech Zymonik Programista PHP

Temat: frameworki

CI, właśnie ze względu na prostotę i mały narzut, łatwo można go dopasować do siebie. Niektórzy narzekają a to że nie ma zintegrowanej obsługi AJAX-a, albo że sesje są na cookie a nie php-owe, a to znowu coś innego.

Jak czegoś potrzebuję to szukam na forum CI, później na Wiki CI, a na końcu piszę sobie co potrzebuję.

Tak naprawdę to trzeba sobie przeznaczyć trochę czasu na różne frameworki i się dopiero wtedy okaże co komu leży.

Mnie najbardziej zadowala CI :)

konto usunięte

Temat: frameworki

Padają tu różne, dość abstrakcyjne argumenty na temat tego, czemu dany framework jest lepszy czy gorszy. Nie kwestionuję Waszych kryteriów oceniania.

Nie mniej, nalegam by oddzielić sam framework od "czegoś, co służy do wy-klikania aplikacji".
Argumenty typu obsługa jQuery, Prototype są nietrafione, ponieważ są to technologie do obsługi widoku i tak na prawdę najmniej wnoszą do core'a frameworki. Efekty graficzne, i niżej wymienioną obsługę "ajaxa" można dorzucić spokojnie przez biblioteki takie jak behaviour. Rozwiązanie takie jest czyste (serwis działa bez JS) i przejrzyste, ponieważ kod PHP, HMTL i Java Script nie przelata się co drugi krok, żeby zrobić "efektowne" przeładowanie. Wcześniej ludzie uciekali od pomieszania PHP i HTML a teraz wracają to tak samo złej praktyki i w dodatku chwalą (Symfony, Cake PHP, CI).

Ajax - tutaj sprawa jest jasna - przecież to zwykłe wywołanie HTTP łączące się z Ajaxem, a totalną pomyłką jest dorzucanie oddzielnego wsparcia dla tego (vide ajax-actions w Symfony). Przecież różny jest tylko format odpowiedzi. Czy jeśli dorzucasz obsługę XML-RPC albo SOAP to tworzysz oddzielne akcje do tego? Absolutnie nie! Oczekujesz tych samych danych na wyjściu (nie ważne czy dostałeś je via POST/GET, czy w HTTP_RAW_POST_DATA), odpalasz tą samą logikę (akcje). Na końcu wypluwasz odpowiedzi, z tym, że w różnym formacie (widoki).
Tak są zorganizowane nowożytne frameworki dla Javy (min. Spring MVC).

Obsługa bazy danych. Frameworkowi nic do tego, jaką bazę danych i w jaki sposób ją obsługujesz. Rzeczy takie jak Active Record to ciekawy dodatek, który może przyśpieszyć pracę, oczywiście, ale powinna być możliwa praca bez niego. Szczytem porażki jest zamykanie się we frameworku na jedno i tylko jedno źródło danych i sposób dostępu do nich.

Ogólnie wg mnie kluczowym elementem każdego frameworka jest sposób obsługi żądań (request + front controler) oraz sposób uruchamiania akcji czy też powiązanie widoku z akcją. Oczywiście narzędzia typu scafolding są barzdzo przydatne, ale należy pamiętać, że prędzej czy później poza scafolding wyjść trzeba, i wtedy zwykle zaczynają się problemy, nie wspominając już o problemach z wydajnością (Active Record czy też Propel generujący dziesiątki zapytań).

Osobiście, moje preferencje najbliższe są Agavi. Oprócz ciekawych rozwiązań (walidacja formularzy, form population filter, caching filter) jest zastosowany wcześniej opisany sposób na obsługę widoków, elastyczny sposób obsługi widoków (w połączeniu z template layerami - wcześniej dekoratorami, slotami) pisanie jest bardzo fajne.
Po godzinach pracuję nad integracją PHPIDE z Agavi oraz dorzuceniu paru ficzerów wspomagających pracę, a po godzinach powoli zaczynam tworzyć generatory, które mogłyby przyśpieszyć pracę z użyciem w/w frameworka.
Jeśli idzie o szybkie tworzenie aplikacji to mogę polecić Symfony, sprawdzony flow (wycięty z Mojavi) oraz podrasowany Propel (wersjonowanie, internacjonalizacja) a przede wszystkim wspaniała dokumentacja sprawia, że da się w ciągu tygodnia zrobić to, co wcześniej robiło się przez trzy.

Btw. Zapraszam na mojego bloga, gdzie jest troszkę o Agavi i innych frameworkach. :)
Zachęcam też do przeczytania bardzo luźnych dywagacji na temat frameworków.
Piotr Maliński

Piotr Maliński Programista
Python/Django

Temat: frameworki

Startowałem z CI, a po nim chciałem coś lepszego. Wygrało Django i Python :)

konto usunięte

Temat: frameworki

Łukasz D.:
[...] Efekty graficzne, i niżej wymienioną obsługę "ajaxa" można dorzucić spokojnie przez biblioteki takie jak behaviour. Rozwiązanie takie jest czyste (serwis działa bez JS) i przejrzyste, ponieważ kod PHP, HMTL i Java Script nie przelata się co drugi krok, żeby zrobić "efektowne" przeładowanie. [...]

W pełni zgadzam się z Łukaszem.
Przy okazji dziękuję za informację o bibliotece behaviour - tego mi brakowało :)

konto usunięte

Temat: frameworki

Witam,

a który z dostępnych frameworków poleciliby koledzy programiści szczególnie do zastosowań ecommerce?

Generalnie poszukuję czegoś co skróci proces tworzenia sklepów internetowych. Próbowałem przekonać się do Symfony ale to jednak za bardzo rozbudowany "kombajn" do takich zastosowań. Nakładka BakeSale na Cake'a posiada z kolei tyle błędów , że zwykły osCommerce to mistrzostwo świata w porównianiu z BS.

Byłoby miło gdybyście doradzili , który z używanych przez Was frameworków daje następujące możliwości:

1. wbudowany system szablonów + cache (nie musi być Smarty)
2. domyślna obsługa podstawowych elementów sklepowych tj. koszyk, sesje, logowanie, poziomy uprawnień
3. logika odseparowana od prezentacji , ale niekoniecznie w takim stopniu jak zwykle to bywa w przypadku MVC
4. Obsługa AJAX mile widziana ale nie jest bezwględnie konieczna
5. Wsparcie obsługi baz MSSQL, postgres'a i MySQL
6. Wbudowane klasy dla SOAP, XML, pdf

Od razu odrzucam osC czy inne pochodne typu CRELoaded, osCMax, ZenCart itp. Znam to ustrojstwo ;) na wylot, stworzyłem na bazie niego Netcart i nie zamierzam dalej ciągnąć tego w ten sposób. Póki działa jest ok, ale przy tylu uruchomionych sklepach każda aktualizacja oprogramowania to istna męka :).

Nie szukam gotowego rozwiązania sklepowego bo jest ich za dużo lecz systemu na bazie którego można stworzyć coś zupełnie nowego.

Pozdrawiam
Adam
Marek Ciszewski

Marek Ciszewski Programista
aplikacji
internetowych
[www.intermake.pl]

Temat: frameworki

Mam podobny problem, ostatnio właśnie borykam się z wyborem jakiegoś FRAMEWORKA. Chętnie "posłucham" dyskusji na ten temat. A co sądzicie o SEAGULL FRAMEWORK?
Bartosz Grzesiak

Bartosz Grzesiak Si non confectus,
non reficiat

Temat: frameworki

Trudno jednoznacznie stwierdzić, który framework najlepiej nadaje się do zastosowań e-commerce. Wszystko zależy od złożoności problemu. Osobiście używam CodeIgniter, CakePHP oraz Prado. Godny uwagi jest Zend Framework, choć na obecnym etapie rozowoju nie pisałbym w nim aplikacji e-commerce. Polecam przeanalizowanie co dany FW może a czego nie może np. jesli chcemy uzywac transakcji to napewno nie polecam CakePHP tylko CodeIgniter, ktory ma juz obsluge transakcji. Wybór FW w głównej mierze zależeć bedzie od naszych własnych preferencji, warto zwrócić uwagę na bezpieczeństwo i szybkość działania danego FW.
Przemek Szalko

Przemek Szalko iOS Developer + Full
Stack Developer

Temat: frameworki

Bartosz G.:
.....
Godny uwagi jest Zend Framework, choć na obecnym etapie rozowoju nie pisałbym w nim aplikacji e-commerce.
.....

Właśnie chciałem się przerzucić ze swojego systemu na ZF - dlaczego uważasz że nie nadaje się dla aplikacji e-commerce? Niedawno wyszła stabilna wersja 1.0.

Pytam z ciekawości.. Jakieś złe doświadczenia?Przemek Szalko edytował(a) ten post dnia 07.07.07 o godzinie 14:42

konto usunięte

Temat: frameworki

Myślę, że wypowiedź tunera z forum.php.pl w pełni uzasadni - dlaczego NIE używać zend frameworka.
http://forum.php.pl/Chwila-przerwy-od-Zend-Framework-t...
Oraz dwie wypowiedzi na moim blogu..
http://blog.dywicki.pl/?p=93
http://blog.dywicki.pl/?p=49

konto usunięte

Temat: frameworki

Zend Framework - tfu, tfu i jeszcze raz tfu. Raz, w życiu i tylko raz dałem się tak wciągnąć :)

@Łukaszu - w tym miejscu kłaniam się Tobie, kiedyś ładnie powiedziałeś, że Zend Framework to nie framework a zbiór bibliotek :)

Postawiliśmy na nim kilka projektów. Od malućkich po duże.
I najgorsze jest to, że za każdym razem wszystko z początku szło przyjemnie - do czasu.
Zauważyliśmy, że kiedy na początku prace programistyczne które nie są stricte związane z projektem zajmują do 5% całego projektu, tak z czasem ta ilość rosła. Aż zaczęła dochodzić do 20-30%. Co dla budżetu i harmonogramu jest już zabójstwem.

Zacząłem poszukiwania frameworka na nowo. Doszedłem do wniosku, że ogólnie podejście Zend Frameworka (Symfony, Cake itp) przestało mi się podobać. Zamiast skupiać się na procesach w aplikacji - zespół dyskutuje na której warstwie lepiej będzie coś zaimplementować. Dalej, zamiast skupić się na procesach w aplikacji, połowę dnia zajmowało debugowanie i profilowanie bardziej złożonych formularzy.

Wtedy pojawiło się PRADO. Po raz drugi w moim życiu. Po paru tygodniach - olśnienie. Nie będę się rozpisywał. W PRADO trzeba naprawdę skodzić coś większego, coś czego programowanie będzie trwało dłużej niż 2 czy 3 miesiące. Dopiero wtedy widać potęgę w jego podejściu. Polecam.

Pozdrawiam,
patS
Bartosz Grzesiak

Bartosz Grzesiak Si non confectus,
non reficiat

Temat: frameworki

Właśnie chciałem się przerzucić ze swojego systemu na ZF - dlaczego uważasz że nie nadaje się dla aplikacji e-commerce? Niedawno wyszła stabilna wersja 1.0.

Pytam z ciekawości.. Jakieś złe doświadczenia?[edited]Przemek
Może źle sie wyrazilem, ZF jak najbardziej nadaje sie do zastosowań e-commerce. Miałem jednak na myśi to, iż jest to bardzo młody framework, który rozwija sie w zastraszającym tempie. Z doświadczeń. Problem polega na wprowadzaniu ogrmonej ilości poprwek i zmian, które poprawiaja funkcjonowanie i bezpieczeństwo, ale najcześciej kosztem przerabiania kodu napisanego przy pomocy poprzedniej wersji. Zdarzyło mi sie przerabiać wszystkie odwołania do bazy danych w jednym projekcie, napisanym w ZF z powodu zmiany formatu zapisu ActiveRecord.

Podejrzewam ze na obecnym etapie nie ma juz takch niespodzianek.
Bartosz Grzesiak

Bartosz Grzesiak Si non confectus,
non reficiat

Temat: frameworki

Patrycjusz Maciej S.:
tygodniach - olśnienie. Nie będę się rozpisywał. W PRADO trzeba naprawdę skodzić coś większego, coś czego programowanie będzie trwało dłużej niż 2 czy 3 miesiące. Dopiero wtedy widać potęgę w jego podejściu. Polecam.

Zgadzam sie ze prado to potega, nalezy jednak pamietac ze nie kupujesz fabryki obowniczej bo potrzebujesz nowe buty :). Jak wczesniej pisalem dobor frameworka zalezy od zlozonosci problemu.
Daniel Ancuta

Daniel Ancuta Python, Zarządzanie
projektami

Temat: frameworki

Powiem Agavi :) Dlaczego? Jest kilka powodów
1. System routingu - trzeba zobaczyć żeby zrozumieć :)
2. Struktura aplikacji
3. Zarządzanie widokami
4. Rozbudowana obsługa wielojęzyczności, z zaimplementowanym i18n
5. Output types
6. Całkowita dowolność jeśli chodzi o dostęp do bazy, obsługi szablonów
7. ....
System bardzo rozbudowany, i co naważniejsze deweloperzy cały czas wprowadzają kolejne ulepszenia.
Ostatnio została wydana wersja 0.11 RC5
Jednym mankamentem jest brak dokumentacji która z tego co wiem z źródła zostanie w pełni napisana w wersji 1.0
Ale bardzo dobrze działa kanał irc na którym można zawsze otrzymać pomoc.Daniel Ancuta edytował(a) ten post dnia 09.07.07 o godzinie 01:05
Paweł Rabinek

Paweł Rabinek Specjalista Google
AdWords i Analytics

Temat: frameworki

Daniel A.:
Jednym mankamentem jest brak dokumentacji [...] [/edited]

Jak dla mnie to zasadnicza wada :/ Napewno to nie przyspieszy prac nad projektami, ani tego jak szybko zapoznam się z frameworkiem...

konto usunięte

Temat: frameworki

Właśnie - dokumentacja. Który z frameworków ma najlepszą, najlepiej kompletną dokumentację? Na razie odkryłem Code Igniter ale wolałbym coś bardziej rozbudowanego.
Mirosław O.

Mirosław O. netBOMB.pl

Temat: frameworki

Piotr K.:
Właśnie - dokumentacja. Który z frameworków ma najlepszą, najlepiej kompletną dokumentację? Na razie odkryłem Code Igniter ale wolałbym coś bardziej rozbudowanego.

symfony, cake, zend (pseudo) framework.
Bartosz Grzesiak

Bartosz Grzesiak Si non confectus,
non reficiat

Temat: frameworki

Piotr K.:
Który z frameworków ma najlepszą, najlepiej kompletną dokumentację?

Z pewnością CakePHP ma pełną dokumentację

konto usunięte

Temat: frameworki

Z tego co mi się wydaje to na tą chwilę tylko Symfony ma (papierową) książkę. :)

The Definitive Guide to symfony
Mirosław O.

Mirosław O. netBOMB.pl

Temat: frameworki

Łukasz D.:
Z tego co mi się wydaje to na tą chwilę tylko Symfony ma (papierową) książkę. :)

CakePHP Recipes
http://www.amazon.co.uk/CakePHP-Recipes-Fabio-Cevasco/...

konto usunięte

Temat: frameworki

Ja w chwili obecnej kończę prace nad dużym projektem realizowanym przy ożyciu Zend Frameworka, i mimo początkowych problemów (projekt rodził sie jak jeszcze nie było finalnej wersji) to teraz mogę polecić ZF innym. Jedyną rzeczą z jakiej nie skorzystałem w ZF to wbudowana obsługa widoku, w zamian zastosowałem Smarty.

Następna dyskusja:

Frameworki (PHP/PHP5)




Wyślij zaproszenie do