![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Witam! Od długiego czasu interesuję się programowaniem w różnego rodzaju językach programowania, swego czasu C/C++ tworzyłem wówczas aplikacje komercyjnie, później przyszedł czas na PHP - komercyjne tworzenie zaplecza programistycznego dla aplikacji internetowych, aż w końcu JAVA jako pracownik jednej z firm zajmuję się rozwojem ich flagowego produktu opartego o ten język. Osobiście jestem pasjonatem Języków programowania i aktualnie dla samego Siebie(by to nie zapomnieć czy też nie stać w miejscu) programuję w PHP jakieś własne systemy, C++ zarzuciłem z braku czasu a JAVA no wiadome pracuję z tym więc i trochę z przymusu i z ciekawości programuję w tym języku. Ostatnimi czasy zaczęło się do mnie zgłaszać sporo osób z propozycjami projektów aplikacji typowo sieciowych i od strony klienta widziany jako ERP czy też MRP. Podmioty które miałyby być odbiorcami to firmy zatrudniające często od 5 do 15 osób. No cóż tworzenie aplikacji to moja pasja, ale problemem jest dla mnie decyzja w zakresie wyboru technologii. wiem że wiele osób powie jeśli nie wiesz co wybrać to nie podejmuj się tej pracy. Z tym że mój dylemat jest bardzo powierzchowny, szukam technologii która zapewni w jakimś rozsądnym stopniu bezpieczeństwo apikacji w odpowiednim czasie pzowoli zamknąć jej kod, a także zapewni przenośność aplikacji no i dodatkowo da pewność że technologia nie zniknie z rynku w przeciągu następnych, powiedzmy..., trzech lat.
Wiem, że porównywanie powyższych technologii jest nieco nie na miejscu, ale czytam różne fora przejrzałem google, i każdy wymienia tysiąc zalet każdej z tych technologii i wielu miejscach one się wzajemnie wykluczają bo co forum to inny człowiek i inne podejście. Ja teoretycznie mam swojego faworyta i nie jest to aktualnie PHP(z różnych względów), lecz interesuje mnie wasze zdanie, jeśli programujecie aplikacje biznesowe w którejś z powyzszych technologii to co was do tego skłoniło że wybraliście to a nie inne środowisko. I domyślam się że większość osób powie że programuje w PHP, pytanie dlaczego właśnie to a nie np. .NET czy J2EE (które są przecież bardziej wszechstronne). Pozdrawiam. -------------------- ------
Per Aspera Ad Astra |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W php programuje dużo osób ponieważ jest łatwy w nauce, popularny i można łatwo znaleźć rozwiązanie problemu. Moim zdaniem php do tego projektu się nie nadaje (chodź nie zniknie raczej w przeciągu 3 lat
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
(...) szukam technologii która zapewni w jakimś rozsądnym stopniu bezpieczeństwo apikacji w odpowiednim czasie pzowoli zamknąć jej kod, a także zapewni przenośność aplikacji no i dodatkowo da pewność że technologia nie zniknie z rynku w przeciągu następnych, powiedzmy..., trzech lat. Wymieniłeś kilka cech:- bezpieczeństwo - tu bez różnicy co wybierzesz. Aplikacja jest na tyle bezpieczna na ile została stworzona. Równie dziurawe apliacje powstają w PHP jak i w J2EE; - przenośność aplikacji - tu skłaniałbym się ku PHP i J2EE. .NET o mało przenośna technologia. Choć to zależy od tego w jakim kontekście rozpatrujesz przenośność; - technologia nie zniknie - żaden z języków nie zniknie. Nie tylko w najbliższych 3 latach ale i pewni w najbliższych 10; - zamknąć jej kod - w PHP nie uda Ci się zamknąć kodu. Możesz podchodzić do tematu różnych obfuskatorów czy Zend Guardów ale nie będzie to łatwe; Ja teoretycznie mam swojego faworyta i nie jest to aktualnie PHP(z różnych względów), lecz interesuje mnie wasze zdanie, jeśli programujecie aplikacje biznesowe w którejś z powyższych technologii to co was do tego skłoniło że wybraliście to a nie inne środowisko. To co bym wybrał zależałoby od tego czego bym potrzebował. Jeśli chodzi o PHP to jest to najtańsza technologia. Hosting i reszta zaplecza jest najszerzej dostępne i najtańsze. W większości aplikacji webowych PHP wyprzedza dwie pozostałe technologie prostotą i szybkością tworzenia. Jeśli Twoja aplikacja nie będzie wymagała odniesienie się do możliwości, których PHP nie ma to po co brnąć w J2EE?I domyślam się że większość osób powie że programuje w PHP, pytanie dlaczego właśnie to a nie np. .NET czy J2EE (które są przecież bardziej wszechstronne). Bo w PHP stworzę szybciej większość tego co stworzyłbym w J2EE. Kwestia wiedzy i doświadczenia. Pewnie też, ale nie tylko. Pisząc komuś aplikację najtaniej zrobić to i wdrożyć mogę w PHP.Jest jednak wiele zastosowań w których PHP się nie odnajdzie ponieważ ma za słabe możliwości. Wtedy bez żadnych oporów sięgnąłbym po J2EE. .NETu nie znam w ogóle. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 258 Pomógł: 17 Dołączył: 22.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat zamknąć jej kod wszystko (lub prawie) da sie dekompilowac wiec czy warto sie tym tak strasznie przejmowac?? Cytat Bo w PHP stworzę szybciej większość tego co stworzyłbym w J2EE. dokladnie - wyobraz sobie ze co kazda poprawke powinienes restartowac serwer lub redeployowac aplikacje i zajmuje to z minute - wiele czas potem na to schodzi Mozesz zainteresowac sie JRuby-m. Nie popelnilem w tym jeszcze zadnej aplikacji, ale bylem na prezentacji http://blog.mocna-kawa.com/ i jestem w szoku. Bez problemu komunikuje sie z javowymi aplikacjami. Jezyk interpretowany, a jak potrzebujesz tworzysz warke i mozesz odpalac na tomcatopodobnych wynalazkach (Jboss etc). Podobnoz potrafi sie toto nawe do bajkodu javy skompilowac (wydajnosc). No i odpada masa javowskiego xmla..... Pozdrawiam -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
W php programuje dużo osób ponieważ jest łatwy w nauce, popularny i można łatwo znaleźć rozwiązanie problemu. Moim zdaniem php do tego projektu się nie nadaje (chodź nie zniknie raczej w przeciągu 3 lat ![]() chodzi oto że stoję przed wyborem nauki jakiegoś framework'a, wybór padł na frameworki związane z J2EE, PHP lub Ruby akurat .NET'owych nie znam a skoro mam się uczyć jakiegoś famework'a to czemu przy okazji nie polepszać swoich umiejętności programistycznych w danej technologii i języku. I w sumie J2EE jest moją preferowaną technologią. A jak to się mówi: nie da się programować w jakimś framework'u (a raczej z jego wykorzystaniem) efektywnie jeśli nie nauczy się go na pamięć i dużo w tym prawdy. Więc jeśli mam tracić czas na ZF czy Symfony to może lepiej zacząć bawić się Spring i Hibernate (co by nie mówić sa dalece bardziej zaawansowane niż te PHP'owe czy Ruby'owe). @mike: No właśnie początkową wersję mojej aplikacji mogę stworzyć w PHP, ale nie wiem czy później podoła gdy będę musiał dodać nowe funkcjonalności, jak na przykład magazynowanie danych zbieranych z trzech hurtowni umiejscowionych w różnych miejscach polski. Tym bardziej że klient wpadł na pomysł iż on kupi ode mnie aplikację, a ja będę mógł ją dalej rozwijać i sprzedawać innym firmom bez najmniejszych problemów i obiekcji obecnego klienta. Z tym że mam wyłączność na tego klienta, wiem że na pewno kupi ode mnie produkt, więc mam dwie pieczenie na jednym ogniu. I chyba jednak zdecyduję się na J2EE choć RoR 2.0 Fascynuje. Widziałem twój blog i mam podobny problem, pracodawca, u którego się nie rozwijam. -------------------- ------
Per Aspera Ad Astra |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
@mike: No właśnie początkową wersję mojej aplikacji mogę stworzyć w PHP, ale nie wiem czy później podoła gdy będę musiał dodać nowe funkcjonalności, jak na przykład magazynowanie danych zbieranych z trzech hurtowni umiejscowionych w różnych miejscach polski. To zależy dokładnie od obciążenia jakie będziesz musiał znieść. Kto wie, może okazać się, że najlepszym sposobem będzie rozproszyć aplikację i rzeczy "lekkie" w większości korzystające z gotowych danych będzie prościej, szybciej i wydajniej zrobić w PHP a część, nazwijmy to, administracyjną napisać w J2EE, która zniesie dużo większe obciążenia i zdecydowanie lepiej poradzi sobie z dużym nasileniem danych, które upcha w odpowiednie miejsca.Kiedyś miał okazję pisać aplikację, która była dość rozproszona i pomimo, że była napisana w Java to korzystała z lekkiego serwera danych, który wypluwał tylko same dane (WebService, XML, ...), które były pożywką dla aplikacji. Wszystko zależy jak dokładnie będzie działała i jak będzie skonstruowana aplikacja. Więc jeśli mam tracić czas na ZF czy Symfony to może lepiej zacząć bawić się Spring i Hibernate (co by nie mówić sa dalece bardziej zaawansowane niż te PHP'owe czy Ruby'owe). ZF to możesz olać z definicji. Nie mniej jednak w kontekście tracić czas na Symfony/Propel (lub mniej polecany przez mnie Doctrine) czy Spring/Hibernate to pamiętaj, że ten drugi tandem jest większą kobyłą, która bardziej Cię obciąży. Napisanie czegoś w Symfony będzie "tańsze" niż w Springu. Ale czy korzystniejsze? Nie wiem. To zależy...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
ZF to możesz olać z definicji. Tutaj się z Tobą nie zgodzę. Niby to pseudo-fw ale ja powoli skłaniam się właśnie ku niemu zostawiając S na drugim planie. Dlaczego? Przyczyna jest prosta: wolę mieć pełną kontrolę nad tym co robię. W S sporo czasu traciłem nad tzw. pierdołami bo po prostu nie wiedziałem jak coś tam zapisać w yml. Nie twierdzę, że S jest złe. W żadnym wypadku! Uważam tylko, że kategoryczne negowanie ZF jest złe. PS: generator admina w S przy użyciu i18n po prostu zabija liczbą zapytań do bazy danych. Może również nie potrafiłem tego zrobić lepiej (może się da) jednak skutecznie mnie to odstraszyło... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 157 Pomógł: 0 Dołączył: 12.02.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
ZF to możesz olać z definicji. Nie mniej jednak w kontekście tracić czas na Symfony/Propel (lub mniej polecany przez mnie Doctrine) czy Spring/Hibernate to pamiętaj, że ten drugi tandem jest większą kobyłą, która bardziej Cię obciąży. Napisanie czegoś w Symfony będzie "tańsze" niż w Springu. Ale czy korzystniejsze? Nie wiem. To zależy... Zgadzam się że Spring/Hibernate bardziej mnie obciążą, ale czy nie warto jednak poświęcić czas i pieniądze dla pewniejszej niezawodności, lecz w sumie to ja się pytam, więc nie będę dewagował na ten temat ![]() -------------------- ------
Per Aspera Ad Astra |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Nie potrafię się przekonać do aplikacji pisanych w Java, do obsługi stron www od strony klienta (frontend). Przynajmniej nie w projektach średniej klasy, które są w przewadze. Tak myślę, że dla części administracyjnej to już wszystko jedno, bo łatwo jest oszacować obciążenie, a zmiany nie sa tak częste jak w części publicznej. czy jeśli zechcesz dodać nowe pola do formularzy, czy kawałek innego kodu, to będzie rekompilował całą aplikację? To ma być część systemu, którą można łatwo zmieniać, a to zapewnia php, nie java.
Pozdrawiam -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 18 Dołączył: 19.04.2008 Ostrzeżenie: (10%) ![]() ![]() |
PHP nie jest sensu stricte alternatywa dla JAVa ani dla C, wiec rozpatrywanie tego jest nie na miejscu. Kazda z tych platform ma inne mozliwosci i ograniczenia, o ktorych nie bede pisal bo jest tego masa. Skoro piszesz, ze znasz te srodowiska to troche mnie dziwi, ze nie mozesz podjac decyzji.
Podobienstwo jest na pewnym poziomie na tyle duze, ze masz szanse poznac i jasno okreslic mozliwosci tych srodowisk i przydatnosc dla twojego zadania jesli tylko... wiesz oc chcesz zrobic. wiesz ? ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
.NET'owych nie znam Nic dziwnego, bo .NET (a dla stron www ASP.NET) to właśnie framework. ![]() ZF to możesz olać z definicji. ZF ma coś w sobie (chociaż i tak wolę Symfony, hehe), ale jego twórcy mają trochę dziwną filozofię - nawalić jak najwięcej kodu, byle żeby działało w każdej konfiguracji serwera. mniej polecany przez mnie Doctrine No a póki co wygląda na to, że Doctrine jest przyszłością dla Symfony - w wersji 2.0 ma to już być domyślny model. Ja osobiście im dłużej korzystam z Propela, tym bardziej go nie lubię i tym bardziej wydaje mi się on mało wygodny i mało przemyślany. RoR to rzeczywiście kusząca sprawa - zwłaszcza przez wzgląd na wygodę samego Ruby-ego, ale spotkałem się z kilkoma nieprzychylnymi opiniami, zwłaszcza jeśli chodzi o ActiveRecord (ponoć mało elastyczny), można go jednak zastąpić czymś lepszym - Sequel bodajże. Poza tym ostatnio słyszałem także o problemach Ruby-ego z polskimi znakami (ten problem też częściowo dotyczy PHP-a). Polecam także rzucić okiem na Python-a i Django albo Pylons. -------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 20.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zamierzam rozpocząć pracę nad nowym portalem i zastanawiam się nad wyborem technologii; PHP czy ASP. Stąd moja prośba o opinie do doświadczonych programistów PHP. Chciałbym się dowiedzieć: 1. Czy PHP daje możliwość obsługi transakcji (nie tylko przy komunikacji z bazą danych, ale też wykonując cykl jakichkolwiek operacji) 2. Czy PHP daje możliwość wywoływania metod zawartych w zewnętrznych obiektach (mam na myśli np. tworzenie obiektu jakiejś biblioteki *.dll zarejestrowanej w systemie, lub jakaś analogiczną technikę) 3. Jak wygląda sprawa performance'u w PHP - kod jest w końcu w postaci nieskompilowanej wiec musi być interpretowany w trakcie działania. 4. Czy istnieje w PHP jakaś możliwość zaimplementowania wielowątkowości (dla serwerów kliku - procesorowych) 5. A moze tak ogólnie; jakie znacie elementy przewagi PHP na ASP co by pomogło mi w wyborze. Z gory bardzo dziekuje za wszelkie opinie i zachecam do dyskusji. Ja jak sie mozecie domyslic nie znam PHP, znam zas ASP, wiec dyskusja moze byc ciekawa dla obu stron. Pozdrawiam serdecznie Sil |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
2. Biblioteki php (standardowo zawarte m. in. cURL, MySQL, GD) - dll pod windows, so pod linuksem
3. Teraz jest naprawdę nieźle. Kiedyś było gorzej. 5. http://pl2.php.net/manual/pl/faq.languages.php Na pozostałe pytania nie odpowiadam, bo nie mam większego doświadczenia z nimi. Ja bym wybrał PHP - Jest bardziej przyszłościowy, ze względu na przenośność (teraz większość serwerów stoi na Linuksie), dużo bardziej popularny (co wbrew pozorom dużo daje) i łatwiejszy (tańszy też) przy wdrożeniach (serwer na platwormie M$'u jest dużo droższy). -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 20.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
A czy jest mozliwość wywołania dll'ki spoza frameworka PHP, np. napisanej przez siebie ?
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
PHP nie jest frameworkiem.
Możesz wsadzić swój dll (ale to nie będzie działało tak prosto jak w ASP) do PHP. Do tego przenośność. http://forum.php.pl/index.php?showtopic=93670 -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
@radex_p
Link, który podałeś porównuje PHP i ASP (w wersji 3.0, o czym zapomnieli wspomnieć). Nie da się łatwo porównać ASP.NET z PHP, ponieważ są to zupełnie inne platformy (nie wiem jak to lepiej nazwać). Owszem, porównując PHP i ASP 3.0, przewaga jest po stronie PHP (choć nie zawsze), jednak porównanie PHP i ASP.NET nie wypada już tak różowo. Moim zdaniem lepsze jest ASP.NET. ad. 1. Nie spotkałem się z takim mechanizmem. Możliwe, że istnieją jakieś klasy, które by realizowały taką funkcjonalność. ad. 4. PHP mimo, że napisany został w języku wielowątkowym, nie obsługuje wielowątkowości. Widziałem kiedyś tutorial, który pokazywał jak przy pomocy curla można symulować wielowątkowość. edit Znalazłem linka o wielowątkowości w PHP z wykorzystaniem curla - klik. -------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może lepsze pod względem możliwości. Nie zapominajmy o reszcie problemów.
-------------------- |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 20.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, mi przede wszystkim chodzi o elementy jakie opisałem w pytaniach. abstrahując tutaj od kosztów utrzymania serwera itp. Pierwsze miejsce zajmuje funkcjonalność i wydajność, i do tego potrzebuje tej technologii.
P.S. Z tego co rozumiem, rozszerzenie (dll'a) można sobie wrzucić, ale musi być napisany w PHP. A co z napisanymi w innych językach (C++, Java) ? |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
http://wojtas.net.pl/2007/02/27/php-vs-asp-net/ - tu jest trochę porównania.
Wydajność? http://forums.asp.net/t/733.aspx Ten post edytował radex_p 20.05.2008, 20:51:25 -------------------- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co rozumiem, rozszerzenie (dll'a) można sobie wrzucić, ale musi być napisany w PHP. A co z napisanymi w innych językach (C++, Java) ? Trochę chyba mylisz pojęcia - DLL-ki dla PHP są napisane w C i są to rozszerzenia PHP (pod Windows - wgrywasz je do odp. katalogu, ustawiasz w php.ini i restartujesz serwer). Z tego co słyszałem ASP.NET pozwala na dynamiczną obsługę samych DLL-ek. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 14:42 |