/ / Aplikacja czasu rzeczywistego z Phoenix, bez JavaScript - eliksir, phoenix-framework

Aplikacja w czasie rzeczywistym z Phoenix, bez JavaScriptu - eliksir, phoenix-framework

Zajmuję się tworzeniem aplikacji z wieloma funkcjami czasu rzeczywistego.

Szybko przejrzałem kanały. Czy Phoenix ma jakiś magiczny kod, który ukryje ode mnie logikę aktualizującą DOM? Może pakiet? Nie jestem zainteresowany pisaniem kodu JavaScript w celu aktualizacji / manipulowania DOM. Wydaje się rozsądne oczekiwać, że Phoenix może ponownie renderować szablon po stronie serwera i wysłać zmieniony DOM przez kanał - czy to nie jest możliwe?

Jeśli powyższe istnieje, być może istnieje cośktóry potrafi przetłumaczyć szablony Phoenixa na poglądy JavaScript po stronie klienta, które mogą przyjmować te same zmienne, co szablony Phoenix, a następnie renderować widok? W ten sposób Phoenix nie musi przesyłać całego DOM, ale tylko zmienne.

Pytam, ponieważ chcę napisać 100% kod Elixir, a powyższe 2 pomysły wydają się rozsądnymi sposobami zrobienia właśnie tego.

Odpowiedzi:

5 dla odpowiedzi № 1

Bezbarwny może być biblioteką, której szukasz.

Drab jest biblioteką rozszerzeń do PhoenixRamy zapewniające dostęp do interfejsu użytkownika przeglądarki (obiektów DOM) po stronie serwera Główną zaletą jest wyeliminowanie konieczności pisania dwóch aplikacji: jednej dla strony klienta i jednej dla zaplecza. może być teraz zrobione w backendie, eliminując JS i AJAX.


0 dla odpowiedzi nr 2

Kod JavaScript musi zostać wykonany w pewnym momenciejeśli chcesz zmienić DOM po początkowym załadowaniu strony. Ale to nie znaczy, że musisz napisać ten kod za pomocą javascript. Możesz wypróbować Elixirscript. Pozwala pisać kod Elixir, który kompiluje się do JavaScript.


0 dla odpowiedzi № 3

Krok po kroku:

Czy Phoenix ma jakiś magiczny kod, który ukryje aktualizację DOM logika ode mnie? Może pakiet?

Nie

Nie jestem zainteresowany pisaniem kodu JavaScript doaktualizuj / manipuluj DOMem. Wydaje się rozsądne oczekiwać, że Phoenix może ponownie renderować szablon po stronie serwera i wysłać zmieniony DOM przez kanał - czy to nie jest możliwe?

Nie jest to w ogóle uzasadnione, Phoenix jest strukturą po stronie serwera. phoenix.js to tylko warstwa komunikacji dla aplikacji js

Jeśli powyższe istnieje, być może istnieje cośktóry potrafi przetłumaczyć szablony Phoenixa na poglądy JavaScript po stronie klienta, które mogą przyjmować te same zmienne, co szablony Phoenix, a następnie renderować widok? W ten sposób Phoenix nie musi przesyłać całego DOM, ale tylko zmienne.

Spójrz, masz kilka podstawowych nieporozumień, jak działa komunikacja w czasie rzeczywistym / po stronie klienta serwera i takie rzeczy.

Mam przeczucie, że masz Meteor tło, gdzie wszystko się dziejemagicznie. Jeśli tak, powinieneś zostać z Meteororem, ponieważ jeśli spróbujesz zastosować te same koncepcje do Eliksiru / Feniksa, będzie to skalować się jak cholera jak Meteor (przepraszam za trolling)

Pytam, ponieważ chcę napisać 100% kod Elixir, a powyższe 2 pomysły wydają się rozsądnymi sposobami zrobienia właśnie tego.

Ok, ale nie jest to możliwe.