Wpis z mikrobloga

Jestem ciekaw jak działa dokładnie komunikacja na linii js -> jakikolwiek-inny-język-dla-weba (java, go, ruby etc.)

Innymi słowy chodzi mi o to co realizuje vue, angular czy też react od strony teoretyczno-algorytmicznej.
Jeśli chciałbym podpiąć pod ten mechanizm jakiś inny język - od czego musiałbym zacząć?

#programista15k #programowanie #it #javascript #frontend #backend
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Melcma: heheh, no offence ale tyle to i ja wiem :p

Bardziej chodzi mi o coś co jest opisane tutaj
https://medium.com/@gethylgeorge/how-virtual-dom-and-diffing-works-in-react-6fc805f9f84e
ale od trochę innej strony - czy jsowe frameworki korzystające z wirtualnego DOM mają w sobie jakąś pętlę czasu rzeczywistego działającą na jakiś ściśle zdefiniowanym protokole, do której mógłbym coś wrzucić do przetworzenia i zinterpretowania po stronie js (imho byłoby to bardzo sensowne od strony działania takiego frameworku).

Zanim
  • Odpowiedz
@matka_boska_w_klapie: To jest po prostu render widoku i templateów Twoich komponentów z dostarczonych w jakikolwiek sposób danych. Virtual DOM jest raczej po to, żeby mieć odzwierciedlenie całej struktury komponentów w sposób analogiczny do orginalnego DOMu i szybciej i bardziej precyzyjnie updateować zmiany danych na widokach.
  • Odpowiedz
@matka_boska_w_klapie: zdaje sie ze pytasz o pub-sub pattern albo o streamy, takie cos mozesz odtworzyc w kazdym jezyku za pomoca Reactive Extensions

nie jestem pewien czy stream to akurat while loop ale ogarnij sobie jak dziala pub/sub pattern i zrozumiesz jak dziala react, a potem bedziesz mogl to przerzucic do innych jezykow
  • Odpowiedz
@matka_boska_w_klapie: a jezeli chcialbys aktualizowac DOM juz po wyrenderowaniu strony to sie nie da, jedynie JavaScript obsluguje API DOMu w przegladarce (moze Rust jeszcze), w teorii moglbys sciagnac aktualny stan DOM w np Javie, zbudowac tam wirtualne drzewko DOM, wykonac jakies kalkulacje, zmodyfikowac wirtualny DOM, tylko, zeby przegladarka w czasie rzeczywistym te zmiany wyrenderowala musialbys juz to javascriptem zrobic
  • Odpowiedz
@matka_boska_w_klapie: Ale co Ty chcesz podpinać pod inne języki? Masz dwa wyjścia napisać coś w innym języku i wygenerować z tego kod JS, albo komunikacja klient-serwer poprzez protokoły. JS to język który korzysta ze środowiska i API, które implementują przeglądarki poprzez tak zwany silnik JS. Jak np: V8.
  • Odpowiedz