Posiadam kilkuletnie doświadczenie w tworzeniu aplikacji internetowych przy użyciu PHP, a także intensywnie pracowałem z Javą (jednak nigdy przy tworzeniu aplikacji internetowych). Kończę duży projekt, nad którym pracowałem przez ostatnie sześć miesięcy zbudowane w PHP/CodeIgniter i hostowane z CloudControl (zapewnia automatyczne udostępnianie serwerów i skalowalność).Pytania dotyczące języka Java na potrzeby programowania WWW od programisty PHP
Projekt poszło dobrze, a PHP zaspokaja moje potrzeby - ale teraz jestem w początkowej fazie opracowywania aplikacji internetowej, która będzie skierowana do użytkowników korporacyjnych i rozważam użycie Java (być może "Grails") w połączeniu z AWS Elastic Beanstalk.
Moje pierwsze pytanie to: wielowątkowość, jak często jest używana w tworzeniu aplikacji internetowych w Javie? W mojej aplikacji PHP mój serwer mógł zostać poproszony o wykonanie wywołania API na facebooku w odpowiedzi na prośbę użytkownika (powiedz, post na ścianie użytkownika). Aby nie dopuścić do tego, aby mój proces PHP czekał na zakończenie wywołania interfejsu API przed powrotem do użytkownika, użyłem serwerów zadań kolejkowania Gearman z pracownikami, aby odciążyć pracę z głównego serwera aplikacji do pracownika działającego w tle.
Czy programista Java po prostu zakręciłby wątek tylko po to, aby obsłużyć wywołanie API i aby główny proces powrócił do użytkownika? Czy to jest największa siła rozwoju Javy nad PHP? Dzięki!
Przez pewien czas żywiłem się obydwoma językami. Moja bardzo skromna opinia brzmi: siła Java to dostępność API i bibliotek. Dla PHP szybkie jest zbudowanie prototypu lub wersji funkcjonalnej. Spójrz na mnie teraz, wybrałem java po raz kolejny na nowy projekt, ponieważ wiedziałem, że mogę używać Apache POI zamiast PHPExcel ... rodzaj lenistwa. :) – Alfabravo
Wiem, że umiejętność tworzenia nowych wątków jest nowością dla programisty PHP (takiego jak ja) i możliwość korzystania z tej fajnej funkcji, której tak rozpaczliwie brakuje w PHP, powoduje powstanie całego szeregu "ooh, mogłem zrobić to, i to, i te rzeczy "typu myśli - ale bądźcie oszczędni. Słyszałem zbyt wiele opowieści programistów pochodzących z PHP na jakiś język, który pozwala na wielowątkowość, i dostaję się do sytuacji, w której rozpoczęli 100 wątków, aby wykonać zadanie czegoś, co można rozsądnie zrobić w 3, a następnie zastanawiają się, dlaczego serwer działa jak pies. – DaveRandom
Użyłem wątków, gdy użytkownicy potrzebują danych, aby były dostępne (wydajność to funkcja!), A zebranie wszystkiego wymagałoby długiego czasu oczekiwania w jednym wątku. Jestem pewien, że jest wiele innych przypadków, w których okazuje się to pomocne, ale nie jest to srebrna kula ani pierwsza myśl przy budowaniu czegoś. – Alfabravo