Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Frameworki czy rozwiązania dedykowane
Forum PHP.pl > Forum > PHP
Shinji
Hej,

ostatnio natrafiłem na dyskusje odnośnie wyższości Zend'a i symfony, która przemieniała się w dyskusje na temat wyższości rozwiązań dedykowanych, a używanie gotowych frameworków. Ja ogólnie od zawsze pisałem i mniejsze i większe projekty od zera, jednak wielu z was uważa to za totalne 'lamerstwo'. I zastanawiam się jakie są wasze zdania. Pewnie są takie tematy już, ale nie chce odgrzewać kotletów. Wiem, że większość dużych firm korzysta z różnych frameworków jednak wiadomo, że jak wszyscy tak robią to nie znaczy, że tak jest najlepiej. Niestety nie mam pod ręką pewnego mini-artykułu w którym ktoś zrobił test polegający na porównaniu wydajności dwóch rozwiązań - aplikacje wykonywały to samo. Jedna była pisana w Zendzie, druga obiektowo od zera. Szybkość aplikacji w drugim wypadku była o wiele znacznie szybsza.
skowron-line
Teoretycznie systemy dedykowane powinny być szybsze, z tym że nie wiadomo jak kto piszę. Może się okazać że ktoś jest takim zawodnikiem że wyjdzie mu odwrotnie.
Psajkus
A jak porównasz szybkość tworzenia aplikacji to się okaże, że w przypadku frameworka jest o wiele znacznie szybciej niż pisanie od zera.
by_ikar
No wiesz, tak czy inaczej pisząc jakieś dedykowane (obiektowe) rozwiązanie, w wielu miejscach robisz coś co już było w zend/symfony/kohana etc. Takie yahoo stoi na symfony, ale oczywiście dostosowanym pod potrzeby - dedykowane rozwiązanie? FW to tylko fundamenty, które narzucają pewien sposób jaki napiszesz aplikacje, cały układ katalogów, sposób nazywania klas i tym podobne. Zend podobno nie narzuca, narzuca jak każdy inny, może trochę mniej.

Druga sprawa, korzystanie z jakiegoś popularnego fw, ma tez to do siebie, że programistów obecnych lub przyszłych nie trzeba dodatkowo szkolić, bo mniej więcej wiedza jak się poruszać.
r4xz
Cytat(by_ikar @ 12.12.2011, 15:50:43 ) *
Druga sprawa, korzystanie z jakiegoś popularnego fw, ma tez to do siebie, że programistów obecnych lub przyszłych nie trzeba dodatkowo szkolić, bo mniej więcej wiedza jak się poruszać.

z drugiej strony jak pojawi się jakaś dziura, to haker zaraz widzi... ale to raczej skrajny przypadek podałem
------
dla mnie to raczej zależy czy traktujesz programowanie jako hobby czy chcesz po prostu zarobić. zdecydowanie większa przygoda jest przy pisaniu od podstaw FW, ale i zdarzają się ciekawe projekty gdzie sam FW to pryszcz smile.gif

---edit---
a jeśli masz problemu typu "nie będę przechodził na zielonym świetle - maszyna nie będzie mi mówić jak mam postępować!" to tym bardziej polecam pisanie FW od podstaw! tongue.gif
LSM
Jestem zwolennikiem rozwiązań dedykowanych i wykorzystywania bibliotek zew. na nasze osobiste potrzeby. Zend to ślimak. Doctrine też. Jestem zwolennikiem prostoty. Zupełnej prostoty. Podstawowy szkielet do działania aplikacji w oparciu o pomysł plugin'ów, wykorzystując wzorzec Polecenie napisałem w cztery dni. I mam wszystko co potrzebne do tego aby obsługiwać routing, walidację, autoloader'a, odpalanie pluginów + minimalny system szablonów oparty o pomysł snippet'ów ze sklepu bigcommerce. Wszystko w totalnym minimaliźmie "linijkowym". Nie uważam żeby z czasem rozbudowało się to do rozmiarów Zenda czy Symfony. Mnie razi zbyt ciężka materia serwowana przez tego typu framework'i. Inna sprawa, że z ciekawości przejrzałem kod Zend'a i w pierwszej lepszej klasie zwinąłem jedną metodę z 70 do 10 linii kodu. Trzeba jednak wiedzieć co się robi i czego się oczekuje. Jeśli nie rozumiesz jak zrobić od podstaw tzw. Dispatcher'a to znaczy, że jeszcze nie jest czas aby zrobić całościowo swój szkielet. Inna sprawa - im więcej różnych framework'ów użyjesz tym bardziej zrozumiesz pewne ich aspekty i będziesz w stanie krytycznie podchodzić do zagadnienia "jądra". Także chwała komu tam będzie że są framework'i, bo są one świetnym tutorial'em do tego aby samemu zacząć myśleć. arrowheadsmiley.png
darko
A może Twoje pytanie jest źle postawione i powinno brzmieć: co jest lepsze dedykowane rozwiązanie czy gotowe w zależności od tego czy najważniejsza jest wydajność aplikacji czy może czas jej powstawania? Z reguły ubrania szyte na miarę pasują bardziej od tych ze standardową numeracją, co nie oznacza, że tych drugich nie można "podkręcić" do konkretnych potrzeb projektu. Jeśli liczy się czas powstania aplikacji oraz łatwość i koszty konserwacji kodu to najkorzystniej będzie zdecydować się na sprawdzone fundamenty w postaci gotowca i zająć się stworzeniem właściwej aplikacji i jej dostosowaniu do maszyny, na której ma działać, ruchu na stronie itd. Jeśli natomiast ma być mega-optymalnie to można zdecydować się na jakieś własne rozwiązanie. Wszystko zależy od konkretnej sytuacji, budżetu, planowanego czasu realizacji, możliwości kadrowych itd. itp.
Shinji
No czyli uogólniając wychodzi na to, że wybór leży pomiędzy napisaniem czegoś szybciej, z lepszą dokumentacja lub dłużej jednak bardziej wydajniej. Oczywiście zakładając, że rzeczywiście będzie wydajniejszy. Okey a np stronę w stylu hmm... demotywatory.pl stworzylibyście na gotowym FW czy od podstaw. I dlaczego tak?

Obciążenie strony pewnie jest duże ze względu na oglądalność, jednak skryptowo nie jest to zaawansowana strona. - wybrałbym dedykowane rozwiązanie?

---
Nie nie planuje stworzyć demotów kolejnych - po prostu chce wiedzieć gdzie zaczyna się miejsce dla rozwiązań własnych, a gdzie gotowych FW?
by_ikar
W przypadku demotów to akurat skrypt sam w sobie obciążający nie będzie. Zapytania do bazy niezbyt trudne, a do tego można cachować najczęściej odwiedzane podstrony i cache trzymać w pamięci. Tam największe wyzwanie stanowi treść statyczna, która z tego co zauważyłem, chociaż mogę się mylić, jest najbardziej zasobożerną częścią strony. Raczej dedykowane rozwiązanie, żeby pozbyć się zbędnych funkcjonalności. Nie mniej, demoty na samym początku stały na kohanie (nie powiem w jakiej wersji, ale w opisie rekrutacji mają wpisane "znajomość fw kohana na plus", więc domniemam że na tym stoi cała strona + klony). Teraz pewnie jest to dość stuningowana wersja. No ale takie yahoo o którym pisałem wcześniej, stoi na symfony, a ruch generuje raczej większy niż demotywatory.
phpion
Demotywatory stoją na Kohanie 2 - kiedyś wyciekł komunikat błędu typowy dla tej wersji. Ja ze swojej strony poleciłbym Ci połączenie obu pomysłów, czyli przerobienie danego frameworka pod własne potrzeby. Oczywiście w tym momencie skazujesz się na brak możliwości aktualizacji samego frameworka w momencie wyjścia jego nowszej wersji. Gdybyś jednak wybrał np. Kohana 2.3.4, która nie jest już rozwijana, to masz ten problem z głowy smile.gif Framework naprawdę niezły, a do tego prosty w modyfikacjach. Moim subiektywnym zdaniem jest lepszy od aktualnej wersji 3.
batman
Nie da się w prosty sposób odpowiedzieć na Twoje pytanie, ponieważ odpowiedź zależy od tego, czy projekt ma super szybo działać, czy super szybko zostać napisany. Każda kolejna warstwa abstrakcji powoduje obniżenie wydajności całego rozwiązania, niezależnie od tego, czy jest to tylko framework, orm, zewnętrzne biblioteki, itd.
O wiele ważniejszym pytaniem, jakie musisz sobie zadać, jest czy dana technologia sprawdzi się w tym projekcie. Dopiero potem powinieneś zastanawiać się na frameworkiem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.