@ignus: Dobre pytanie. Myślałem o tym sporo, jako, że moim zdaniem pozwoliłoby to serwisowi jeszcze bardziej "ożyć". Największym problemem jaki widzę na tą chwilę jest tzw. "progressive enhancement". Chciałbym, żeby Strimoid działał jak "aplikacja", ale był jednocześnie dostępny dla wyszukiwarek i użytkowników, którzy mają wyłączony Javascript w przeglądarce. Sama infrastruktura przynajmniej w chwili obecnej nie jest żadnym problemem.
Ogólnie cały dotychczasowy kod JS to jedno wielkie spaghetti, które najchętniej przepisałbym używając do tego celu VueJS, gdyby nie wspomniany wyżej problem. W chwili obecnej zduplikowane są chociażby szablony odpowiadające za renderowanie nowych wpisów i odpowiedzi, co jeszcze bardziej komplikuje sytuację.
@duxet: nigdy nie pisałem frontendu webowego, za to dużo siedzę w Androidzie i robiłem trochę backendów Javowych. Dlatego, może też nie do końca rozumiem i mnie popraw. Taka zmiana wymagałaby więcej kod Javaskryptowego, a ten by zaśmiecał kod gdy użytkownik ma wyłączony Javascript, czy też coś by psuł?
Pogooglałem i znalazłem taki wpis, gość sugeruje ustawienie odświeżania strony co 30s, ale w taki sposób by odświeżały się tylko elementy, które mogły ulec zmianie.
@ignus: Nawet nie o to chodzi, bo bez js już mało co działa. Drutex chce generować to co widzisz w przeglądarce, po stronie użytkonika, a nie na serwerze, którego głównym zadaniem jest wtedy wysyłanie i odbieranie danych w JSONie. Teraz musiałby jeszcze więcej spaghetti dołożyć,
@ignus: Pewnie tak + takie frameworki oferują praktycznie wszystko jeśli chodzi o dynamiczne odświeżanie/dodawanie treści bez większej ilości pisania. Automatyczne doładowywanie stron jest proste, ale pokazanie niewyświetlonych wpisów już bardziej zakręcone.
@ignus: Wczoraj walczyłem z budowaniem rozszerzenia v8 do phpa, dzisiaj w końcu będę mógł się zabrać do sprawdzenia jak działa to renderowanie po stronie serwera :)
edit: hello world śmiga, teraz tylko wypadałoby by to jakoś z webpackiem spiąć i wrzucić te komponenty także po stronie klienta :)