Kiedy wykorzystywać PHP a kiedy JavaScript?

0

Witam!
Jestem tu nowy więc witam wszystkich.
Pytanie takie jak w temacie, Kiedy wykorzystywać PHP a kiedy JavaScript?
Poznałem trochę oba te języki, i doszedłem do etapu gdzie można je ze sobą łączyć. I tu się zaczynam gubić.
Do czego w praktyce wykorzystywany jest PHP a do czego JS. Wyczytałem że aplikacja webowa to tylko php,
natomiast js służy jedynie do dodawania dynamiki na stronie, upiększania jej, i robienia tak by się nie musiał przeładowywać
kiedy coś klikniemy.

1

Skoro poznałeś oba języki to wiesz że js jest wykonywany po stronie klienta a php serwera ?

1

tak wiem, i wiem że js można bez przeszkód podejrzeć, np. za pomocą firebuga, a php nie. Ale nie jestem w tym pro i wciąż się uczę, i takie coś mnie zaczęło nużyć.
Ich zastosowanie w praktyce. Zwłaszcza że chyba na oba języki jest zapotrzebowanie na rynku

0

Najprościej - jeżeli czegoś nie trzeba robić po stronie serwera nie robisz tego. Na js-a straszne parcie jest a php ma sporo wiernych fanów, zresztą php7 bije rekordy więc o pracę bym się nie martwił. Jeżeli js albo php miałyby być twoimi pierwszymi językami to odradzam w pythonie też się robi stronki a o wiele mniej wtf-owania (ogólnie zdaje mi się że php ma złą opinie bo ludzie biednie w nim piszą często).

0

Jeżeli coś ma zrobić server to piszesz to w php. Jeżeli coś ma zrobić klient to js. Simple.

A tak serio to zależy jakiego frameworka sobie wybierzesz. Teraz podobno modny angular2, a backend można w php/c#/node i takie tam inne. Właśnie, gdybyś pisał backend w node.js to nie miałbyś pytań, bo zawsze pisałbyś w js :)

Ale taki rule of thumb

Php:

  • dostęp do bazy (pobieranie, dodawanie rzeczy)
  • renderowanie widoku (to też zależy w sumie od frameworka)
  • zarządzanie jakimiś uprawnieniami
  • przechowywanie plików (jakiś zdjęć czy czegoś)
  • zarządzanie komunikacją między klientami (jakiś chat)

Js:

  • waliacja formularzy przed wysłaniem formularza
  • jeżeli angular2 to można całe webaplikacje w tym pisać (jakaś logika, kiedy ma sie co pojawic kiedy co sie kliknie)

Tak na prawdę ciężko tu zgadywać bo 99% rzeczy są oczywiste po której stronie powinny być wykonane, musiałbyś dać konkretny przykład.

0

Dzięki wielkie!
Mam jeszcze jedno pytanie. Kiedyś zainteresowałem się three.js oraz babylon.js są to biblioteki renderowania grafiki 3d w przeglądarce, zwalniają nas one z pisania od podstaw w webGL.
I tak wszytko szło fajnie, nawet udało mi wprowadzić do tego interaktywność można było przesuwać obiekty jak w jakieś prostej grze. I zacząłem się zastanawiać jak takie gierki działają.
Np wykorzystując to co mam z 3d to żeby dwie osoby naraz na jednej planszy mogły przesuwać swój obiekt, tak bez żadnej logiki gry itp, absolutne minimum żeby do działało. Wyczytałem że taka komunikacja to tylko websocket i właśnie node.js a php odpada. A gry typu plemiona działają w php tylko że tam widać to przeładowanie strony a mi zależny żeby go nie było.

Jakaś rada w tym temacie?

Od razu mówię daleko mi do stworzenia gry, zależy mi na razie na konkretnych funkcjonalnościach.

0

WebSockety są spoko, bo są lekkie, wydajne i dzięki nim możesz łatwiej mieć zależności tylko w jedną stronę (np źródło zdarzeń nie zależy od klientów, mimo że zdarzenia napływają do klientów natychmiast). Dynamiczne aktualizacje można jednak osiągnąć na wiele sposobów. Można użyć np Cometa: https://en.wikipedia.org/wiki/Comet_(programming)

0

Np wykorzystując to co mam z 3d to żeby dwie osoby naraz na jednej planszy mogły przesuwać swój obiekt, tak bez żadnej logiki gry itp, absolutne minimum żeby do działało. Wyczytałem że taka komunikacja to tylko websocket i właśnie node.js a php odpada.

Technologia to pikuś. Większym problemem jest przy tego rodzaju rzeczach zsynchronizowanie poszczególnych użytkowników, a nie to, jakiej technologii użyjesz. Masz problemy typu "jak zrobić to, żeby gracz A widział obiekt w tym samym miejscu ekranu co użytkownik B po drugiej stronie planety?" albo "jak zabezpieczyć grę przed cheatowaniem?". To czy użyjesz Node, PHP czy jeszcze czego innego, to zaledwie jedna z wielu decyzji projektowych, które trzeba podjąć.

(ogólnie zdaje mi się że php ma złą opinie bo ludzie biednie w nim piszą często).

To prawda, że ludzie biednie piszą w PHP. Problem w tym, że ludzie biednie piszą we wszystkim co się da. Widziałem już biedne kody nawet w Pythonie (co jest pewną profanacją, bo taki ładny język, a ludzie potrafią tak brzydko pisać w nim).

0

Na razie nie zależy mi na tworzeniu gry jako takiej, obecnie może być podatne na ataki i inne chety. Obecnie chce absolutnego minimum aby takie coś zadziało. Dwa komputery, dwóch ludzi wchodzi na stronkę, logują. Pokazuje sie pusta plansza dwa klocki i każdy przesuwa swój, jednocześnie widzi jak przesuwa się klocek tego drugiego, i tyle. Konta zrobione nawet na sztywno bez możliwości rejestracji. Nie chce od razu robić milion innych bajerów, jak pisałem absolutne minimum żeby zadziałało.

0

Najlepiej będzie chyba jak zobaczysz u źródła jak się takie coś robi, jakieś githubowe open-source gry etc.
Np: klon agar.io https://github.com/huytd/agar.io-clone , może nie jest to grafika 3d ale 2d canvas, jednak coś pewnie możesz podpatrzeć.
A tak swoją drogą:
https://www.google.pl/search?q=three.js+kmultiplayer , tu też sporo znajdziesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1