Co w trawie piszczy, cz. 1
Rozpoczynam serię wątków o bieżącym stanie prac nad projektami.
- Ostatnio skupiłem się na analizie technologii, którą wykorzystamy do budowy nowych serwisów. Wychodzi na to, że będzie to ASP.NET.
- Szukałem też informacji o możliwościach finansowania takich przedsięwzięć przez podmioty trzecie. Stąd pogłębiłem swoją wiedzę na temat funduszy typu seed i venture oraz business angels.
- Seed finansują przedsięwzięcia na wczesnym etapie, wręcz od pomysłu
- Business Angels wchodzą do już działającego przedsięwzięcia, np. mające prototyp lub jeszcze nie przynoszącego zysków
- Venture capital inwestują w przedsięwzięcia przynoszącym zyski, ale myślącym o nowych obszarach działania lub o ugruntowaniu swojej pozycji
- Przeprowadziłem też ciekawą rozmowę z Yelonkiem :-)
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)Projekt czas zacząć
Mam już cel, to w takim razie od czego rozpocząć realizację projektu? Przede wszystkim od określenia wymagań, czyli odpowiedzieć sobie na pytanie “Co?”. Czym mają być nowe chordsy? Jakie funkcjonalności pozwolą zrealizować postawione cele?
Od około roku korzystam z Mind Mappingu. Darmowe narzędzie FreeMind pozwala mi w bardzo prosty i szybki sposób zapisywać pomysły. Pozwala podzielić je na kategorie, uszeregować. Istotne jest również to, że bez problemu mogę wprowadzać zmiany do takiego dokumentu. Mam już taki dokument :-)
Problem polega na tym, że należy wybrać te funkcjonalności, które są konieczne. To od nich zaczniemy. Nie łudzę się, że od razu zrobię wszystko co sobie wymyśliłem. To jest nierealne.
No dobrze. Mam spisane wymagania. Teraz pracuję nad modelowaniem procesów biznesowych korzystając z notacji BPMN. Strasznie brzmi? Za pomocą darmowego narzędzia BizAgi Process Modeler projektuję w jaki sposób będzie działał serwis. Przenoszę “co?” na “jak?”. Dla mnie świetną sprawą jest to, że mogę zobaczyć procesy.
Dlaczego o tym piszę? Chcę zwrócić uwagę każdemu programiście, że najważniejsze jest zaplanowanie aplikacji na podstawie wymagań a nie od razu pisanie kodu. Jeśli nie będziemy wiedzieć dokąd chcemy dojść, to będziemy kręcić się w kółko, bez celu i szans, że skończymy projekt z sukcesem.
Filed under Projekty | Comments (2)Pierwsze śliwki robaczywki
No i przyszła kryska na matyska. Będę bloga miał i ja :)
A blog jest po to, aby pomóc przy realizacji projektów związanych z serwisem www.chords.pl. Pojawią się tutaj opisy nowych projektów. Mając dotychczasowe doświadczenie nie piszę nawet kiedy to będzie ;) Jak zawsze plan jest ambitny, budżet skromny, czasu niewiele a ludzi do pracy nie ma prawie wcale. Jest tylko i aż nieodparta chęć własna zrobienia czegoś naprawdę dobrego we współudziale ze świetnymi ludźmi.
Do zobaczenia,
Miłego weekendu