Jaką technologię wybrać, ASP.NET czy PHP?
Stoję przed trudnym zadaniem wyboru technologii, w której zostanie utworzony nowy serwis i zapewne następne. Dlaczego w ogóle nad tym się zastanawiam?
Obecny szkielet chordsów powstał w sierpniu 2004 roku. Napisany jest w PHP językiem strukturalnym, nie używałem żadnego frameworka, smarty itp. Dla serwisu o stosunkowo małej oglądalności i jednego programisty to wystarczyło. Problem zaczyna się, gdy myślę o chordsach jako o coraz większym serwisie. O serwisie, który być może będzie musiał udźwignąć znacznie większy ruch. O serwisie, który będzie stale rozwijany przez kilku programistów.
Którą technologię wybrać mając takie warunki wstępne?
JSP odpada, bo nie znam i nie lubię Javy :-) W grę wchodzą PHP lub ASP.NET. Poszperałem w sieci o porównaniu obu technologii, wziąłem pod uwagę również własne doświadczenia i wiedzę. Poniżej lista zalet i wad obu języków.
ASP.NET – Zalety
- Jest częścią potężnej platformy Microsoft .NET Framework
- Duże serwisy korzystają z tej platformy
- Platforma .NET jest stale rozwijana i promowana przez Microsoft
- Darmowe narzędzia (Web Developer Express, MSSQL Express)
- Wiele języków programowania (VisualBasic, C++, C# – ja wybieram C#)
- Oddzielenie warstwy prezentacyjnej od kodu
- Przyspieszenie czasu kodowania przez edytor wizualny, świetny edytor kodu
- Wbudowana obsługa AJAX
- Lepsza wydajność
- Hosting jest już w takiej samej cenie co php (home.pl)
- Rozbudowana dokumentacja online, webcasty, prezentacje, e-learning
ASP.NET – Wady
- Mniej popularny
- Trudniejszy do opanowania, szczególnie gdy wcześniej programowało się w PHP
ASP.NET – Problemy
- Brak w ofercie home.pl odpowiednika mod_rewrite, własnych stron błędów i zabezpieczenia dostępu jak w .htaccess – Jeszcze zasięgnę języka u home.pl
PHP – Zalety
- Duża popularność i znajomość – łatwo znaleźć wykonawcę
- Łatwy do nauczenia
- Wiele gotowych skryptów dostępnych w sieci
- Dokumentacja online
- Duży rynek usług hostingowych
PHP – Wady
- Przede wszystkim język strukturalny a nie obiektowy. Jest to istotne gdy myśli się o stałym rozwoju serwisu.
- Wiele osób zna, ale szczątkowo. Ich wiedza opiera się na zastosowaniu gotowego skryptu.
- Słaba wydajność przy dużych obciążeniach
- Problemy z oddzieleniem prezentacji (html, css) od logiki (kod php)
PHP – Problemy
- Znalezienie odpowiedniego frameworka, np. Symfony, Zend czy CakePHP.
Jaki wniosek? Skłaniam się ku środowisku .Net Framework jako kompleksowe rozwiązanie dostarczone przez profesjonalnego dostawcę i za darmo. Problemem do rozwiązania jest migracja z serwera Apache na IIS.
To porównanie nie jest jakoś specjalnie profesjonalne. Mogę mylić się w niektórych sprawach, proszę mnie poprawić. Poza tym jest zrobione pod moje konkretne wymagania, o których napisałem na początku. Proszę o tym pamiętać.
Filed under Projekty, Technologia | Tags: ASP, Framework, PHP | Comments (12)