2016-08-12 4 views
2

많은 실시간 기능이있는 응용 프로그램을 작성하고 있습니다.JavaScript가없는 Phoenix의 실시간 응용 프로그램

저는 채널을 빠르게 건너 뜁니다. 피닉스는 나에게 DOM 업데이트 로직을 숨길 수있는 마법 코드를 가지고 있습니까? 아마도 패키지일까요? DOM 업데이트/조작을위한 JavaScript 코드 작성에 관심이 없습니다. Phoenix가 서버 쪽 템플릿을 다시 렌더링하고 채널을 통해 변경된 DOM을 보낼 수 있다고 기대하는 것이 합리적입니다 - 불가능한가요?

위의 경우 Phoenix의 템플릿을 Phoenix 템플릿에서 사용하는 것과 동일한 변수를 사용하여 뷰를 렌더링 할 수있는 클라이언트 측 JavaScript보기로 변환 할 수있는 것이 있습니까? 이 방법으로, Phoenix는 DOM 전체를 보낼 필요가 없으며 변수 만 보낼 수 있습니다.

나는 100 % Elixir 코드를 작성하고 있기 때문에 위의 2 가지 아이디어는 합리적인 방법으로 보인다.

답변

5

Drab이 (가) 원하는 라이브러리 일 수 있습니다.

Drab는 서버 측에서 브라우저의 사용자 인터페이스 (DOM 객체)에 대한 액세스를 제공하는 Phoenix Framework의 확장 라이브러리입니다. 주요 이점은 두 개의 응용 프로그램 작성의 필요성을 없애는 것입니다. 하나는 클라이언트 측, 하나는 백엔드 용입니다. 모든 UI 컨트롤은 이제 JS 및 AJAX를 제거하여 백엔드에서 수행 될 수 있습니다.

+1

이것은 실제로 내가 상상했던 것과 아주 비슷합니다. 위대한 대답 :)! – Oskar

+1

와우, 나는 이것이 최고라고 말해야 만한다. – webdeb

0

초기 페이지가로드 된 후 DOM을 변경하려면 자바 스크립트 코드를 실행해야합니다. 그렇다고해서 자바 스크립트로 코드를 작성해야한다는 것은 아닙니다. 체크 아웃 Elixirscript을 원할 수 있습니다. Javascript로 컴파일되는 Elixir 코드를 작성할 수 있습니다.

+1

어느 시점에서 실행되어야하지만 프레임 워크 뒤에 숨길 수 있습니다. 나는. 이 구현 세부 사항을 숨기는 패키지를 작성할 수 있으며 그러한 패키지가 있는지 궁금합니다. – Oskar

0

단계 - 의해 - 단계 :

피닉스 날로부터 DOM-업데이트 논리를 숨길 마법 코드를 가지고 있습니까? 아마도 패키지일까요?

없음

나는/업데이트 DOM을 조작하는 자바 스크립트 코드를 작성에 관심이 아니에요. Phoenix가 서버 쪽 템플릿을 다시 렌더링하고 채널을 통해 변경된 DOM을 보낼 수 있다고 기대하는 것이 합리적입니다 - 불가능한가요?

아니요. 이것은 전혀 합리적이지 않습니다. Phoenix는 서버 측 프레임 워크입니다. phoenix.js는 JS 응용 프로그램

위에서 존재하는 경우

단지 통신 층, 어쩌면 클라이언트 측에 피닉스 템플릿 걸리는 것과 같은 변수를 취할 수 있습니다 자바 스크립트보기를 피닉스의 템플릿을 번역하고 렌더링 할 수있는 무언가가 존재 전망? 이 방법으로, Phoenix는 DOM 전체를 보낼 필요가 없으며 변수 만 보낼 수 있습니다.

실시간/서버 클라이언트 측 통신이 어떻게 작동하는지에 대한 기본적인 오해가 있는지 살펴보십시오.

나는 당신이 Meteor 배경을 가지고 있다는 느낌이 들었습니다. 그 모든 것들이 마술처럼 일어납니다. 그렇다면 당신이

내가 원하는 때문에 부탁 해요 (즉 건지 죄송합니다) 엿 유성과 같은 규모의 수치를 원하지 않습니다 비약/피닉스에 동일한 개념을 적용하려고하면 때문에, 당신은 유성으로 유지해야한다 100 % Elixir 코드를 작성하면 위의 2 가지 아이디어가 합리적인 방법으로 수행됩니다.

그래도 가능하지 않습니다.

관련 문제