• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Chat na stronie www

Object Storage Arubacloud
0 głosów
321 wizyt
pytanie zadane 19 grudnia 2019 w PHP przez Usatysfakcjonowany Początkujący (330 p.)
Cześć,

Chciałbym zrobić chat na stronie www. Rozmyślałem nad tym i na razie ustaliłem żeby dać inputa z którego będę wyciągał wartość i wstawiać tą wartość w divy, dobrze myślę?

Macie jakieś poradniki do tego? Nie chce gotowych już skryptów ponieważ chcę sie sam nauczyc. Zeby zrobić ten chat to wystarczy mi tylko HTML, PHP i AJAX czy musze jeszcze cos znac?

Z góry dzięki za pomoc.

2 odpowiedzi

0 głosów
odpowiedź 19 grudnia 2019 przez Ehlert Ekspert (212,990 p.)

Niby tak. Jeszcze oczywiście javascript. Taki chat będzie mocno toporny, ale możesz się dużo nauczyć. Tzn

  • Po stornie backendu nie rób jakichś drętwych purePhp plików, tylko zaciagnij sobie framework lumen. https://lumen.laravel.com/ prosty i dużo tam nie trzeba.
  • Po stronie frontu zamiast starego jQuery możesz powoli ogarnąć jak się korzysta z webpacka. Zaciągnij axiosa, albo lepiej fetch api i skorzystaj z promisow. Możesz też ogarnąć babela i pisać w nowszym standardzie.
  • Z api zwracaj jsona i pamiętaj porobić jakieś ładne ścieżki.

Niby projekt jest banalny ale można go dostarczyć na dwa skrajne sposoby. wink

komentarz 19 grudnia 2019 przez Usatysfakcjonowany Początkujący (330 p.)
edycja 19 grudnia 2019 przez Usatysfakcjonowany
Dziękuje za pomoc, na pewno się przyda. Zna Pan jakieś poradniki do tego? A jaki jest mniej toporny sposób na zrobienie chatu?
komentarz 19 grudnia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
Hmm, a do czatu nie lepiej wziac websocket?
komentarz 19 grudnia 2019 przez Ehlert Ekspert (212,990 p.)

Jeden plik php i jeden HTML, chat będzie działać ale nie ma to większego sensu. I tak nie będzie sukcesu produkcyjnego, dlatego najlepiej żebyś nie szedł po najłatwiejszej linii oporu. Wpiszę Ci hasła żebyś wiedział za co się złapać.

  • Webpack (+ Babel)
  • Es6
  • Promise 
  • Fetch api
  • Eslint
  • REST api
  • Lumen 
  • MySQL/Sqlite

Najłatwiej będzie to pokonfigurować na Linuxie

komentarz 19 grudnia 2019 przez Ehlert Ekspert (212,990 p.)

@Tomek Sochacki, lepiej, ale php i proste api imo lepiej przedstawi całą ideę działania http.

komentarz 19 grudnia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
No nie wiem... zasady sa podobne. Ponadto nie narzucalbym na siłę PHP, z mojego doswiadczenia to jest idealne zadanie dla api w node wlasnie na websocket ale to tylkk propozycja... nie widze jednak sensu uczenia sie drugiego języka gdy nie jest to konieczne, nie widze za bardzo korzyści z napisania tutaj backendu w php, wg mnie node jest ok i dzieki temu mamy tylko jeden jezyk JS :)

I duga sprawa... jeden plik html i jeden php? Ehh... mega antypattern zeby w ogole z góry narzucać takie rzeczy... liczba plikow wyjdzie w trakcie pisania, ja jestem zwolennikiem wielu plikow prostych i latwo utrzynywalnych, a docelowy build dla client side zrobi webpack... programisty to nie interesuje...
komentarz 19 grudnia 2019 przez Ehlert Ekspert (212,990 p.)

Ja też jestem zwolennikiem tego. Ale druga skrajna opcja jest właśnie taka. devil

0 głosów
odpowiedź 27 grudnia 2019 przez mrspock1 Mądrala (6,420 p.)
Ktoś mi mówił, że jest nowa technologia, żeby pchnąć dane do przeglądarki, bo inaczej musiałbyś odpytywać serwer co kilka sekund.
komentarz 27 grudnia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
Websocket?
komentarz 27 grudnia 2019 przez mrspock1 Mądrala (6,420 p.)
On mi to tłumaczył, ale ja się na tym nie znam więc nie zrozumiałem tego. Z kolei ktoś inny stwierdził, że ta technologia jest nierozpowszechniona i niepewna a ogólnie protokół http nie pozwala na pchnięcie danych do przeglądarki. Sprawa jest o tyle ważna, że gdyby wpis był robiony co kilkadziesiąt minut a byłoby dużo jednoczesnych połączeń, to do serwera wysłane zostałyby przez ten czas przez Ajax niepotrzebnie kilka tysięcy zapytań, czy już jest zmiana w bazie danych. Nawet jeśli takie zapytanie zabiera tylko 2KB to jednak spory ruch mógłby się przez to zrobić.
komentarz 27 grudnia 2019 przez Tomek Sochacki Ekspert (227,510 p.)
nie rozumiem za bardzo tego co napisałeś :) Kilka tysięcy zapisów do bazy w ciągu kilkudziesięciu minut to nie jest jeszcze bardzo wielki ruch, fakt, że nieco lepsze są tu bazy typu mongo, lepiej skalowalne jak jest duży RPS ale to już kwestia poboczna.

Natomiast nikt nie każe Ci robić zapisu co każdy request, możesz sobie je np. kolejkować w jakiś ramach czasowych i robić rzadziej zapisy do bazy. Zawsze można też robić jakiś awaryjny cache po stronie clientów itp. itd. rozwiązań jest sporo,

Natomiast do takich chatów to wg mnie jak najbardziej websocket. Jeśli np. przez jakiś dłuższy czas będzie nieaktywna rozmowa to zawsze można zerwać połączenie i nawiązać nowe wraz w nową wiadomością... nikt nie każe Ci sztucznie podtrzymywać połączenia przez niewiadomo jaki czas.

Podobne pytania

0 głosów
1 odpowiedź 359 wizyt
pytanie zadane 29 maja 2017 w PHP przez Prime_Bull Obywatel (1,820 p.)
0 głosów
1 odpowiedź 324 wizyt
pytanie zadane 30 grudnia 2016 w JavaScript przez kenjiro244 Dyskutant (8,600 p.)
0 głosów
1 odpowiedź 150 wizyt
pytanie zadane 19 maja 2020 w PHP przez mi-20 Stary wyjadacz (13,190 p.)

92,687 zapytań

141,598 odpowiedzi

320,087 komentarzy

62,047 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...