Temat: Jaki micro framework?
Tomasz Z.:
Dariusz P. - trochę może zluzuj orzecha z tekstami typu "z tyłka" etc., dyskutujemy kulturalnie czy robimy tutaj wykop.pl?
Więc zacznij proszę używać argumentów zamiast wymyślać własne prawdy dla poparcia tego co mówisz. Argument wyjęty z tyłka to argument reprezentujący właśnie to co wyjąłeś. Niczym nie poparte bzdury.
Każda wersja phalcona jest kompatybilna wstecz w ramach dużej wersji, 2.0.1 jest kompatybilne z 2.0.3, i będzie kompatybilne np. z 2.5.5. Więc to pisanie o problemach przy zmianach wersji, czy absurdalne porównanie do samobójstwa nie ma racji bytu.
Może wyjaśnię Ci jak wygląda taki 3-cyfrowy system wersjonowania.
+0.0.1 - wszelakiej maści poprawki, czasem przynoszące jakąś nowość. Głównie małe rzeczy.
+0.1.0 - większy pakiet poprawek, nowości itp. Ogólnie poważniejsze zmiany.
+1.0.0 - duże zmiany, najczęściej zrywające z wsteczną kompatybilnością.
Więc nie musisz mi wyjaśniać jak działa wersjonowanie. Mam nadzieje że teraz i Ty wiesz. Problem pojawi się właśnie wtedy kiedy będziesz miał największe zmiany (+1.0.0).
Dodatkowo często jest że twórcy frameworków usuwają coś/zmieniają w ramach średnich zmian (+0.1.0) z uwagi na różnego rodzaju konflikty albo nieporozumienia.
Dodatkowo co raczyłeś pominąć, mówiłem o problemie zmiany wersji w środowisku gdzie taka biblioteka jest dzielona pomiędzy projektami. Aktualizacja w ramach jednego projektu to nie jest problem.
Każdy kto robi oprogramowanie i nie zachowuje kompatybilności wstecz w ramach dużej wersji, dla mnie jest po prostu amatorem.
Więc rynek jest pełen amatorów drogi profesjonalisto. Bo jeszcze nie widziałem oprogramowania które na jakimś etapie nie sprząta za sobą ze starych rozwiązań i chybionych pomysłów. Spróbuj sobie odpalić coś napisanego w PHP 4 z użyciem PHP 5 dla przykładu. Taka próba nawet jeżeli się powiedzie, skończy się całą masą ostrzeżeń, błędów, komunikatów o przestarzałych rozwiązaniach itp itd etc.
Piszesz:
"Zresztą wszystko o czym mówisz ma mechanizm autoloadingu. Załadowane jest tylko to co jest niezbędne."
I co z tego? To co było załadowane wcześniej w innym requeście dalej siedzi w pamięci jeżeli jest używany np. OPCache, często każdy request to inny zestaw plików - przynajmniej częściowo, i po 1000 requestów masz w pamięci tysiące plików php na jednego klienta hostingu współdzielonego. Jeżeli OPCache nie jest używany, to pamięć jest mniej obciążona/używana ale zajeżdżany procesor. Coś z czym przy użyciu Phalcona nie ma problemu.
Ale tak samo ma phalcon. Jak to ładnie mówisz - to rozszerzenie musi zostać załadowane do pamięci. I ładowane jest CAŁE. Niezależnie od tego co aktualnie potrzebujesz. Poza tym myślisz że opcache nie ma zastosowania w phalconie? Ma. Bo pomoże również zwiększyć wydajność phalcona. W końcu wszystko oprócz core musisz normalnie napisać w PHP.
"Poza tym - to jest zmartwienie właściciela hostingu współdzielonego, nie Twoje."
Rozumiem, że jak strona pada z powodu problemów z współdzielonym hostingiem, to odsyłasz swojego klienta do firmy hostingowej i niech on sobie z nimi rozmawia, bo to nie Twój problem? Świetne podejście, szczególnie kiedy klient nie ma pojęcie o technicznych sprawach.
Jeżeli hosting ma problemy wydajnościowe to jest problem hostingu. Jeżeli powodem jest Twoja nieoptymalna aplikacja to jest to Twój problem. Proste jak drut. Zresztą rozwiązania pisze się pod aktualną sytuację a nie stosuje jeden wielki złoty środek. Kiepski hosting? Użyję slima. Zależy mi na aplikacji czasu rzeczywistego (może nie dosłownie ale wiesz o co chodzi), zrobię ją w Node. Chcę zaoszczędzić czas na developerce a hosting ma techniczne możliwości? Użyję Symfony 2. Potrzeba coś zrobić szybko, po taniości bez oglądania się na nic tak by dostarczyć wygodny panel administracyjny? Użyje jakiś CMS ala Silverstripe albo inne ustrojstwo. Do wyboru do koloru.
Ewentualnie inaczej - nie zrzucasz tego na klienta ale żądasz od firmy hostingowej, aby sajt na symfony2+doctrine chodził płynnie na tanim hostingu współdzielonym (50-200 zł za rok)? Pomarzyć zawsze można.
O dziwo Symfony jest bardzo wydajne jeżeli odpowiednio przygotowane. Masz tu ciekawy tekst jak to jedną znaną stronę porno postawiono na S2:
http://highscalability.com/blog/2012/4/2/youporn-targe...
200 milionów odwiedzin dziennie? Nie ma problemu...
Ja już nie mam zamiaru się produkować w tym wątku - napisałem i wyjaśniłem już najważniejsze aspekty techniczne związane z porównaniem Phalcon vs czysty PHP. Każdy ma swój rozum i niech decyduje :)
Nom. Pomijasz też jedną ważną kwestię. Błędy we frameworku. Przykładowo Phalcon ma koło 500 otwartych ticketów na Githubie. Zresztą inne frameworki nie są lepsze. Różnica jest taka że w wypadku innych poprawkę mogę zrobić sobie sam, podgrać i zostawić ją tam do czasu aktualizacji frameworka. W wypadku phalcona... no właśnie?
Każdy ma swój rozum. Phalcon ma ten problem że jest zbyt kłopotliwy żeby używać go w poważnych projektach i wymaga za dużo kombinowania żeby nadawał się do prostych rozwiązań. Co właśnie sprawia że nadal pozostaje tylko ciekawostką. Jak rozszerzenie w C do Twiga o którym pisałem.
Ten post został edytowany przez Autora dnia 26.06.15 o godzinie 15:13