Najpopularniejszym językiem do tworzenia aplikacji internetowych jest niewątpliwie PHP. To w tym języku powstały najpopularniejsze fora, systemy blogów oraz cms-y. Mimo powolnego rozwoju, braku wyraźnych planów na przyszłość oraz mocno rozdrobnionej społeczności programistów i twórców, PHP zdołał utrzymać dominującą pozycję na rynku, a nawet przyciągnąć uwagę takich gigantów jak Microsoft.

Ostatnie kilka tygodni przyniosło wiele ciekawych informacji dotyczących samego języka oraz powiązanych z nim technologii. Powstało wiele narzędzi, światło dzienne ujrzały kolejne chmury dedykowane PHP, a sam język wkrótce czeka duża aktualizacja.

PHP 5.4

PHP w wersji 5 został wydany w roku 2004. Przez kolejne pięć lat niewiele się zmienił, aż do wydania wersji 5.3, która była małą rewolucją. Ekipa odpowiedzialna za język przyspieszyła prace, ponieważ już w 2011 roku pojawiła się beta kolejnej wersji PHP, oznaczonej numerem 5.4. Ze wszystkich wprowadzonych zmian najbardziej cieszą mnie:

  • wbudowany serwer deweloperski,
  • traits,
  • <?= działający zawsze, niezależnie od ustawienia short_open_tag.

Pełną listę zmian pierwszej bety znajdziecie pod adresem http://www.php.net/releases/NEWS_5_4_0_beta1.txt.

Narzędzia

W dziedzinie narzędzi mamy wysyp aplikacji od IDE/edytorów począwszy, przez system “paczkujący”, na nowych frameworkach kończąc.

Zacznijmy od IDE/edytorów:

  • Adobe Flash Builder for PHP – Adobe wraz z Zendem wypuściły IDE pozwalające tworzyć aplikacje, których frontend budowany jest we Fleksie, a backend w PHP. Miałem okazję brać udział w testach wersji pre release i szczerze przyznam, że narzędzie to robi wrażenie.
  • WebMatrix 2 – druga wersja (jeszcze w fazie beta) narzędzia wydanego przez Microsoft, służącego do “bezkodowego” tworzenia aplikacji. Narzędzie powstało z myślą o ludziach niekoniecznie technicznych, ale wymagający użytkownicy również będą z niego zadowoleni. Spośród wielu wprowadzonych zmian, na uwagę zasługuje podpowiadanie składni PHP oraz niektórych aplikacji w nim stworzonych, np. WordPressa.
  • PhpStorm 3 – wprawdzie jest to wersja EAP (Early Access Program), ale już teraz wiadomo jakie nowe funkcjonalności się pojawią. A będą to m.in. wbudowany profiler Xdebug, wykrywanie zduplikowanego kodu oraz tworzenie diagramów UML.
  • Zend Studio 9 – również w fazie beta, znalazło się w zestawieniu ponieważ w połączeniu z chmurą Zenda (o czym za chwilę) powoduje, iż tworzenie aplikacji PHP, a następnie ich wdrażanie, jest bardziej niż proste.

Kolejną podkategorią narzędzi są frameworki. Tutaj tylko (albo aż) dwie pozycje:

  • Symfony 2 – pisałem już na blogu o tym frameworku, więc nie będę się powtarzał. Napiszę jedynie, iż framework ten nie przypadł mi do gustu.
  • Zend Framework 2 – mocno spóźniony i niedokończony, ale w końcu dostępny. Z pierwszych nieśmiałych prób korzystania z niego, można wywnioskować, że za kilka miesięcy będzie to dobry, jeśli nie najlepszy framework PHP. Jednak za porządne testowanie wezmę się dopiero wtedy, gdy wszystkie komponenty będą już przygotowane.

Wraz z premierą ZF2 pojawił się ciekawy projekt o nazwie ZF packages. Jest to system paczek możliwych do zainstalowania w naszej aplikacji przy pomocy pyrus, następcy pear. Daje to nadzieje na pojawienie się w PHP systemu paczek z prawdziwego zdarzenia. Dlaczego? Ponieważ pieczę na nimi będzie sprawowała firma od PHP i Zend Frameworka.

Chmura

Niezaprzeczalnym hitem ostatnich lat w dziedzinie hostowania aplikacji, jest chmura. Na tym polu PHP również dobrze się trzyma, zdobywając kolejne przyczółki.

  • Windows Azure – tworzenie, wdrażanie oraz utrzymywanie aplikacji PHP w chmurze Microsoftu jest bardziej niż proste, co niejednokrotnie udowodnił Maarten Balliauw, twórca Windows Azure SDK dla języka PHP.
  • PHPFog – chmura dedykowana językowi PHP, zbudowana w oparciu o infrastrukturę Amazona
  • Azure+ – kolejna chmura dedykowana PHP. W odróżnieniu od PHPFog, została zbudowana na platformie Windows Azure.
  • Zend Developer Cloud Platform – najmłodsza chmura dedykowana PHP wyszła spod igły firmy Zend i wszystko wskazuje na to, że będzie najlepszą pod względem możliwości chmurą dedykowaną temu językowi. Dzięki integracji z Zend Studio (od wersji 9), deploy aplikacji do chmury odbywa się automatycznie. Jeśli nie chcemy/nie możemy korzystać z Zend Studio, wówczas mamy możliwość wdrażania aplikacji przy pomocy Gita lub przy pomocy protokołu SFTP. Po przeprowadzeniu pierwszych testów jest pod ogromnym wrażeniem. Od momentu zalogowania się na konto, do utworzenia aplikacji opartej o Zend Framework upłynęło tylko kilka minut. Więcej czasu zajęło mi generowanie kluczy i konfigurowanie klienta Git.

Podsumowanie

Pojawiające się narzędzia i projekty bazujące na PHP pokazują, iż język zaczyna być postrzegany nie tylko w kontekście domowych stron oraz programistów “hello world”. Obawiam się, że kolejne projekty paradoksalnie pogorszą sprawę, wprowadzając jeszcze większą fragmentację świata PHP. Z drugiej jednak strony może dojść do sytuacji, w której rynek sam się oczyści i z chaosu frameworków, edytorów oraz innych narzędzi, wyłoni się garstka najlepszych, dla których reszta będzie nic nieznaczącym tłem.