Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Większa aplikacja - jaki framework?
Forum PHP.pl > Inne > Hydepark
swist666
Cześć,

Niedługo zaczynam większy projekt rozpisany na parę miesięcy i zastanawiam się w czym go napisać.

Od dawna programuję w PHP i tu się czuję dość pewnie jednak mocno kusi mnie alternatywa pt. RoR. Jego prostota w tworzeniu aplikacji modeli (crud), migracji baz danych i innych rzeczy które widziałem na prezentacjach i filmikach. Jak myślicie co będzie lepszym wyborem nauka nowego języka (średnio znam Ruby) czy skorzystać z jakiegoś frameworka PHP - jeżeli tak to z jakiego? Z reguły pisałem proste aplikacje w oparciu o własny skrypt php lub w oparciu o wordpress. Trochę znam Laravel i jeżeli pozostane przy PHP to byłby pierwszy wybór.

Oprócz plusów RoR chciałbym po prostu poznać Ruby bo słyszałem że to bardzo prosty i szybki w pisaniu

Pozdrawiam
viking
Pewnie każdy miał jakieś zwątpienie i chciał skorzystać z inego języka, głównie Ruby. Są nawet tacy którzy pozostali przy nim. Najlepiej będzie jak sam się przekonasz czy warto. Moje podejście do ROR tak ze 2 lata temu skończyło się szybciutkim powrotem do PHP. Może i podstawy się w nim fajnie pisało ale szybko okazało się że tego brakuje, tamtego brakuje, tu są jakieś błędy (dotyczyło głównie Postgresa). Nie ma się co oszukiwać że PHP jest tak mocno nastawione na web, że wszystko w nim jest. Co z tego że postawisz stronę na ROR jak już np dobre fora były tylko na PHP, reszta to jakaś porażka któa podstawowej funkcjonalności nie posiadała albo standardem było że gotowe rozwiązania w innych językach były kompletnie niezabezpieczone. Biorąc pod uwagę szybkość i nowe elementy PHP7 ja już się nawet nie zastanawiam. Co najwyżej jaki z ponad 10 popularnych frameworków użyć i czy może w tym projekcie warto stawiać na Phalcon wink.gif
Riggs
Na filmikach i prezentacjach to wszystko wygląda cacy. Ale jak przychodzi do pisania aplikacji to okazuje się, że RoR nie jest już tak cudowny jak go reklamują. Z większością rzeczy tak jest. Pisz w tym w czym czujesz się mocny. Chyba, że chcesz poświęcić ten projekt i kilka miesięcy na naukę frameworka/języka - bo nie oszukujmy się, produkt który zrobisz w nieznanej Tobie technologii najprawdopodobniej będzie słaby jakościowo.
aniolekx
framework to detal, lepiej poczytaj o DDD
Pyton_000
Nie taki znowu detal. Wszystko rozchodzi sie o czas. A czas to pieniądz. Jeśli miałbym spędzić 2mc na dłubanie z dokumentacją i wyszłoby z tego badziewie a nie aplikacja to wolałbym wybrać coś co dobrze znam i sprawnie będzie się pisało.
PrinceOfPersia
Cytat
Jego prostota w tworzeniu aplikacji

Chyba relatywna łatwość, nie prostota. Nie jest to to samo. RoR jest dużym frameworkiem i dość mocno zopiniowanym. Nie mowię, ze to musi być coś koniecznie złego, tyle, że to nie jest prosty framework, a raczej dość złożony. Prosty to jest Sinatra i pochodne (w każdym języku programowania powstaje jakiś klon Sinatry).

Cytat
Oprócz plusów RoR chciałbym po prostu poznać Ruby bo słyszałem że to bardzo prosty i szybki w pisaniu

Na dodatek społeczność zgromadzona wokół Ruby'ego jest bardzo sensowna, nastawiona na pragmatyzm. Może dlatego to w Ruby'm powstają najpierw takie innowacje jak choćby Sass, Sinatra, Jekyll, a potem dopiero programiści innych języków je zgapiają.

Chociaż są i minusy - hipsterska sympatia programistów Ruby do CoffeeScriptu (zamiast pisać po bożemu w JavaScripcie).

Sam Ruby ma zaś opinię dość wolnego (chociaż PHP ma jeszcze gorszą opinię pod kątem szybkości wykonywania), ale to byś musiał benchmarki sprawdzić jakieś.
solificati
W rubym ogólnie jest kilka ciekawych pomysłów (są one w innych językach, ale raczej są niszowe w PHP). Jest to język, który korzysta ze swojej dynamicznej natury, pozwala inaczej spojrzeć na oop. Rack, budowanie Engine'ów, dynamiczne ORMy z ARELem, łatwość pisania generatorów i scaffoldingu.

Jak masz czas to warto spróbować. Jeśli się spieszysz - użyj tego co znasz.
swist666
Bardzo dziękuję za wszystkie odpowiedzi. Rzeczywiście nauka może nieco zbyt długo potrwać i zostanę przy PHP - przynajmniej przy tym projekcie. A co sądzicie o frameworku Laravel? Wiem, że to temat rzeka ale nie jestem mocno doświadczony bo działałem tylko na nim i na "gołym" php. M.in. z w/w powodów - "trzymaj się tego w czym czujesz się mocny" - pewnie jego wybiorę. Może nie czuję się mocny w nim ale napewno najwięcej z nim mam doświadczenia.

Tak czy owak napewno spróbuję RoR przy następnym mniejszym projekcie.
aniolekx
gdzies ostatnno czytalem ze wiele startupow powstaje w Laravel, a pozniej jak sie pomysl sprzeda to firmy robia oustrsing do Polski i przepisuja to spagetti na Symfony ;p
gitbejbe
Jeśli faktycznie czujesz sie dobrze w php i znasz ogolne zasady dzialania fw, polecam phalcona. Czuc moc jak aplikacja zaczyna rosnąć i wbrew panujacej opini, łatwo sie z nim pracuje. Jeden mankament to wg mnie dokumentacja. Niby jest ale czasami zanim sie znajdzie rozwiazanie to .... eh. Tak czy siak warto
Posio
A ja polecam ASP.NET z oczywistych względów smile.gif
Dejmien_85
Heh, kiedyś też miałem podobny dylemat - tzn. ogólnie jako programista korzystam z kilku języków (PHP, Python, JavaScript, Java, C++), jednak chciałem wybrać jeden język skryptowy (między PHP, Pythonem i Rubym), na którym miałem się skupić. Rozmyślałem mocno nad Pythonem i Rubym (gdzieś tam jeszcze Perl się przewijał, ale przegrał niestety z konkurencją, wykreśliłem go więc z listy).

Aby dokonać wyboru (a wtedy miałem już kilka lat doświadczenia z PHP), zacząłem praktykować Pythona i Rubyego. Zaczęło się najpierw od Pythona, czytałem kursy, później książki, przerabiałem kursy online na Lynda.com (Screen Casty), język w miarę dobrze ogarnąłem, nabyłem w nim wprawy... ale ciągle częściej pisałem w PHP. Później zacząłem się zastanawiać, czy Python to był dobry wybór (to pytanie męczy chyba wielu developerów)... pomyślałem więc o tym, aby przejść na Rubyego, zobaczyć czym jest ten RoR. Jak zaplanowałem, tak zacząłem robić... kursy, książka, praktyka i ostatecznie także zastój i dalsze używanie PHP. ; >

Co Ci mogę powiedzieć na koniec to jedna rzecz - jeśli chcesz się czegoś uczyć, to się porządnie zastanów nad tym, czy jesteś w stanie przestawić się kompletnie na nowy język i wykorzystywać go w swoich przyszłych projektach. Ruby i Python to bardzo fajne języki, są spójne, zasady są jasne i proste - nie ma tak jak w PHP całej tabeli opisującej jak działa operator "==". Są wykorzystywane nie tylko do web-u, ale także do aplikacji GUI (Pythonowy Tkinter), a nawet gier (Pythonowy PyGame) - okay, za dużo tu Pythona, wracamy do Rubyego.

Można powiedzieć śmiało, że Ruby to "hipsterski", "sweetaśny" język. Możesz się go śmiało uczyć, możesz przejść na RoR-a. Musisz jednak wiedzieć, że w świecie PHP mamy odpowiedniki RoR-a. Np. Symfony 2, Zend 2. Masz też Doctrine (który jest oczywiście w Symfony2/Zend). Laravel i Eloquent też jest fajny, ale bardzo ubogi w porównaniu z Doctrine 2 i Symfony2 / Zend2.

Troszę zdziwiło mnie to, że znasz PHP a nie używasz frameworków - gdybyś z nich korzystał, to wiedziałbyś, że masz w swoim świecie odpowiedniki RoR-a. ; )

Także pomyśl, czy jesteś gotowy na przesiadkę. Jeśli tak, to zacznij naukę i praktyki. Ja ostatecznie nie żałuję czasu, który spędziłem z Pythonem i Rubym, przynajmniej wiem jak te języki działają (z praktyki, a nie tylko z teorii) i wiem jakie są różnice pomiędzy naszym PeHaPem - patrząc z dalszej perspektywy to tak naprawdę detale, szczegóły implementacji. Co prawda przyznać trzeba, że taki Python jest ubogi jeśli chodzi o programowanie obiektowe (brak interfejsów, ograniczników widoczności składników klas, tj. private, protected, public).

Ruby i Python mają jedną sporą zaletę - nie są to języki tylko do web, można na nich śmiało tworzyć aplikacje GUI i gry. Co prawda w PHP też są jakieś blibioteki (GTK), jednak nasz języczek jest sporo w tyle w tej kwestii. Ja natomiast PHP wielbię za to, że jest dość mocno rozbudowany pod względem OOP (tak jak Java i C++), to jest to, co mnie tutaj mocno trzyma.
JaroslawK
PHP ma bardzo dużą społeczność, to prawda.
ROR, wchodzi zaś na rynek i społeczność, wsparcie nie jest takie duże.


Z moich obserwacji na rynku jako analityka.
W PHP tworzy się głównie małe projekty (małe - oznacza nie stronę firmową). W przypadku projektów nastawionych na dynamiczny rozwój mało, który klient decyduje się na PHP, głównie .NET i coraz częściej ROR, Python (Django, Pylons).

Zastanów się co chcesz robić za X lat, powiedzmy za 5 lat. Skubać (małe) projekty, czy perspektywiczne projekty, gdzie mało który klient decyduje się na PHP ze względu na jego wydajność.

Rozmawiam rocznie z X klientami biznesowymi (średnie, duże firmy, instytucje) nie tylko PL ale i EU - żaden nie chce wdrożenia w PHP.

Z ciekawych frameworków do PHP polecam ci FuelPHP.
Dejmien_85
Cytat(JaroslawK @ 28.11.2015, 23:01:11 ) *
Z ciekawych frameworków do PHP polecam ci FuelPHP.


Z całym szacunkiem - lepiej zajmij się polecaniem tego, na czym się znasz - znawcy od wszystkiego są do niczego (albo do D.).

FuelPHP to przestarzały framework (następca CodeIgnitera), którego społeczność jest mikroskopijna. FuelPHP stoi w miejscu i korzysta ze starych standardów, które w PHP już dano się przedawniły. Już lepiej polecić Laravela, który jest następcą FuelaPHP.
pyro
Cytat(JaroslawK @ 28.11.2015, 23:01:11 ) *
Z moich obserwacji na rynku jako analityka.
(...)
W PHP tworzy się głównie małe projekty (małe - oznacza nie stronę firmową). W przypadku projektów nastawionych na dynamiczny rozwój mało, który klient decyduje się na PHP, głównie .NET i coraz częściej ROR, Python (Django, Pylons).
(...)
Skubać (małe) projekty, czy perspektywiczne projekty, gdzie mało który klient decyduje się na PHP ze względu na jego wydajność.


Nie obraź się, bo nie próbuję być złośliwy, ale może lepiej będąc analitykiem doradzać w zakresie analityki niż w doborze technologii i frameworków, bo mówić o kiepskiej wydajności PHP, i w tym samym poście podać jako alternatywę równie lub dużo mniej wydajne rozwiązania wygląda dość zabawnie. A ja mówię tutaj jeszcze z perspektywy PHP5, a niedawno wyszło PHP7, które jest jeszcze o niebo wydajniejsze, niedaleko za HHVM.

Ponadto nie wiem z jakimi klientami miałeś do czynienia, ale jednak sporo klientów decyduje się na PHP, zwłaszcza Ci co wiedzą co robią, a nie "bo kolega im powiedział, że PHP jest zły". Czym jest dla Ciebie "skubanie małych projektów"? Skubanie Facebooka? Skubanie GoldenLine? Skubanie Wikipedii? Skubanie Flickr? Skubanie Allegro? No rzeczywiście wszystkie wymienione to drobne projekciki do odwalenia na kolanie podczas jazdy autobusem (wszystkie wymienione napisane w PHP, a to tylko parę przykładów, które mi na szybko przyszły do głowy). Sam również do projektów o dość skomplikowanej architekturze i n-milionach odwiedzin miesięcznie używam PHP. Ale tak to jest, jak się zatrudnia amatorów, którzy nie potrafią dobrze wykonać roboty, a później się mówi o słabej wydajności PHP...

No i jak wspomniał przedmówca - jeszcze to polecenie FuelPHP na koniec, heh...

// EDIT

I żeby nie było - nie jestem jakimś wyznawcą PHP, jak bym miał np. do zrobienia aplikacje okienkowe to bym wybrał do tego np. Pythona, mimo że w PHP są biblioteki do GUI.

Chodzi o to, że o ogólnej wyższości X nad PHP słyszę wyłącznie od osób, które nie posiadają dostatecznej wiedzy w temacie programowania. O wyższości X nad Y można mówić wyłącznie przy doborze pod konkretną sytuację.
Pyton_000
Ło matko to GTK+ do PHP jest dalej rozwijane ? Masakra biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.