PHP/Czym jest framework?: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Zyx (dyskusja | edycje)
utworzenie
 
m styl
Linia 11:
Przyjrzyjmy się, jak tworzyliśmy aplikacje WWW do tej pory. Dostawaliśmy do rąk język i musieliśmy samodzielnie zaprogramować całą strukturę aplikacji od początku. Nie chodziło tu tylko o napisanie kodu poszczególnych akcji, ale też rozwiązanie takich kwestii, jak moment ładowania konfiguracji, łączenie się z bazą danych, sposób generowania wynikowego kodu HTML itd. Zauważmy, że wymyślanie tego za każdym razem od nowa mija się z celem i jest wysoce nieefektywne. Przecież moglibyśmy wydzielić ogólną funkcjonalność, zapakować ją w zbiór funkcji i klas, a później na jej podstawie tworzyć kolejne aplikacje. Jeśli dokonaliśmy takiego podziału, brawo - stworzyliśmy właśnie framework.
 
Oczywiście taki framework byłby prawdopodobnie dość prymitywny, ale od strony technicznej spełnia wszystkie cechy tego rodzaju pakietów. Mamy ogólną funkcjonalność związaną z komunikacją z bazami danych czy obsługą formularzy, którą nastepnienastępnie dostosowujemy do potrzeb konkretnej aplikacji. Przepływ sterowania, czyli mechanizm wykonywania akcji, też najczęściej zaszyty będzie we wnętrzu frameworka. Możemy pójść jednak o krok dalej, przeanalizować strukturę istniejących aplikacji i zaprojektować framework od zera już jako framework, a nie jako pochodna procesu tworzenia aplikacji. I faktycznie - dla PHP istnieje wiele gotowych frameworków, które wystarczy ściągnąć i zastosować. To właśnie jest powodem ich wyjątkowej popularności. Firmy informatyczne nie muszą wydawać pieniędzy na opracowywanie autorskich rozwiązań, lecz po prostu mogą użyć dobrze zaprojektowanychzaprojektowane i przetestowanychprzetestowane frameworkówframeworki. Co więcej, oszczędzają w ten sposób pieniądze na szkoleniu nowych pracowników. Wystarczy w ogłoszeniu o pracę napisać, że wymagana jest znajomość frameworka XXX i nowy programista może niemal od razu zacząć pracę.
 
{{Uwaga|Framework nie jest gotową aplikacją. Jest zbiorem kodu i pewnych metod postępowania, dzięki którym możesz efektywnie budować aplikacje.}}
Linia 37:
=== Dlaczego nie powinienem używać frameworka? ===
 
W przypadku większości typów aplikacji WWW nie ma żadnych przeciwwskazań, abydo nie korzystaćkorzystania z gotowych frameworków. Mają one wszystko czego potrzeba i są dobrą szkołą programowania. Zdecydowana większość frameworków WWW napisanych w PHP (i nie tylko) działa według jednego i tego samego schematu, a różnice są minimalne. Problem pojawia się dopiero wtedy, gdy ten schemat z jakiegoś powodu nam nie odpowiada, ponieważ prawdopodobnie nie znajdziemy wtedy niczego, co spełniałoby nasze potrzeby.
 
Ogólnie mówiąc, sytuacja wygląda identycznie, jak z systemami szablonów i bibliotekami ORM. Aby napisać dobry framework, potrzebny jest czas i doświadczenie. Aby napisać dobry framework, który nie byłby powielaniem tego, co już zostało napisane, potrzebna jest dodatkowo kreatywność oraz umiejętność planowania. Te kryteria spełnia niewiele zespołów projektowych, dlatego lepiej jest nauczyć się korzystać z gotowych projektów.