Deweloperzy walczą jak najszybsze działanie aplikacji i zużywanie jak najmniejszych zasobów
5 lat temu tak było…
czy myślicie że FB lub inny super projekt jest napisany w jakimś frameworku? NIESĄDZĘ !!!
Zależy jak rozumieć framework – czy zestaw gotowych bibliotek, czy też rozplanowanie aplikacji.
W związku z tym czy nie lepiej jest pisać projekty od już nie takiego całkowitego zera?
Zgodnie z regułą DRY – nie. Chyba że rozwiązanie jest dość specyficzne lub jest pomysł na lepsze napisanie danej części aplikacji.
]]>w PHP5 poprawiono jako tako obiektówkę
raczej: w końcu ją napisano
Co do samych frameworków, wzorców. Nikt nie karze używać ich, jeśli chcesz pisać aplikację 4 miesięce to pisz, ale nigdy na tym nie zarobisz.
Te wszystkie bajery powstały celem ułatwienia życia, można zawsze napisać własny framework, jeśli te na rynku uważasz za mało wydajne.
WebCM -> łączenie ciągów tekstowych zawsze wymaga sporo pamięci, gdyż najczęściej trzeba wtedy przydzielić wynikowi zupełnie nową pamięć i skopiować do niej wszystkie fragmenty i specjalnie na to nie można nic poradzić. Dodam, iż parę lat temu robiłem benchmark i wyszło mi, że łączenie za pomocą kropki w PHP jest ok. ośmiokrotnie szybsze, niż pisanie „tekst $zmienna tekst”. Nie wiem, jak to jest w najnowszych wersjach, ale rewolucji się nie spodziewam.
]]>Poprawka: Java BYŁA wolna – obecnie jest to naprawdę wydajny język, jak na mechanizmy, jakie w nim zastosowano.
To chcesz mi wmówić, że mam inną Javę? Ciekawe, najnowsze JRE, a Eclipse i pochodne żrą mi niemiłosiernie zasoby. Java != wydajność.
Zapewne powodem jest kompatybilność wsteczna z silnikami baz danych nieobsługujących podpinania danych.
Wybacz, ale nie jest to uzasadniający argument. Jeśli chodzi o kompatybilność wsteczną, jedynym wytłumaczeniem jest wersja interpretera. Ale tak naprawdę, np. MySQLi jest obecny już od dosyć dawna i nie wiem, po jaką chwałę wymyślać nieistniejące problemy. Albo „nowoczesne” aplikacje sklejające zapytania w PHP5. Bezsens…
Często wystarczą funkcje nieopakowane w klasy.
Poronione rozwiązanie. Odłożysz projekt na jakiś czas i zechcesz go odświeżyć, to zamiast pisać poprawki a’vista, to zastanawiasz się, do czego była dana funkcja. Poza tym, przy pracy grupowej dużo się pracuje.
Trzeba wypośrodkować wydajność<->wygoda, nie można pójść skrajnie w żadną ze stron (wydajność – bałagan, wygoda – spowolnienie).
]]>Generowanie prostych zapytań przez sklejanie elementów tablicy.
Niestety PhpBB 3 i PunBB 1.3 stosują budują zapytania w ten sposób. Zapewne powodem jest kompatybilność wsteczna z silnikami baz danych nieobsługujących podpinania danych. W PhpBB 3 funkcja budująca zapytanie przynajmniej zajmuje się ich zabezpieczeniem.
W PDO można przekazać całą tablicę danych:
Stawiam na wydajność i niskie użycie pamięci. Wywołanie funkcji w PHP trwa długo, a metody – 2 razy dłużej. Z ostatnich obserwacji dużo pamięci zabiera łączenie ciągów tekstowych.
]]>Ad. frameworków – moje podejście do wydajności znasz; jest dość podobne do Twojego. Jednak prawda jest faktem – bez tego nawet najmniejsze g@#$@$ pisze się wieki. Wczoraj w niecały dzień dzięki Kohanie + Doctrine zrobiłem kompletny system zarządzania zadaniami (a byłoby jeszcze szybciej, gdybym nie musiał klepać szablonów w PHP), niestety teraz czeka mnie optymalizacja pracy obu tych narzędzi, bo strona wykręca na Intel Centrino Duo gorsze czasy, niż bardziej skomplikowane rzeczy pisane pięć lat temu i odpalane na starożytnych procesorach :).
Podsumowując: narzędzia, które ja dostarczam, chcę robić jak najbardziej wydajne. Ale strony na zlecenie na pewno nie będę już klepać od zera. Tam, gdzie wydajność jest kluczowa, PHP odejdzie na bok na rzecz innych technologii.
]]>Radziłbym Ci spojrzeć na Symfony, to już jest najlepszy framework do dużych aplikacji, projekt ma aplikacje, aplikacje moduły, dodatkowo model na propelu, automatyczne generowane panele admina itp itd. Oczywiście zaraz ktoś napisze ze symfony jest wolne, bo jest, ale trzeba umiec pisac wydajnie aplikacje – wtedy juz nie jest wolne.
I jeszcze odnośnie szybkości działania aplikacji – to co można powinno się cachowac – wtedy wszystko działa szybko i fajnie
ps. Ale jak przyszło mi napisać moje proste twory (gry flash, i pensje) to zrobilem swojego frameworka MVC
]]>