왜 Discourse 포럼은 JS가 필요한가요?

왜 이 포럼들은 JavaScript를 요구하는 걸까요? 다른 포럼들은 JavaScript 없이도 작동할 수 있는데 말이죠.

1개의 좋아요

Discourse는 기본적으로 순수한 JavaScript이기 때문입니다. JavaScript를 제거하면 아무것도 남지 않죠 :wink:

기술적으로 다른 솔루션일 뿐, 그 이상도 이하도 아닙니다.

3개의 좋아요

그냥 그렇게 만들어져 있는 겁니다. Discourse는 단순히 JavaScript를 “필요로 하는” 것이 아니라, 완전히 브라우저에 로드되는 JavaScript 애플리케이션이며, 이 애플리케이션은 API를 사용하여 서버 측 데이터베이스에서 데이터를 로드합니다.


@Jagster님이 더 빨리 답변하셨습니다. 또한 제 설명이 다소 모호할 수 있지만, 여기서 더 잘 설명해 주실 전문가분들이 계실 것이라고 생각합니다!

5개의 좋아요

이 부분은 좀 더 자세히 설명할 필요가 있습니다.

우선:

:thinking: :eyes: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub

실제로 Discourse는 대부분 Ruby on Rails로 작성되어 있으며, (GitHub에 따르면) 전체의 4분의 1만 JavaScript입니다. 하지만 이 4분의 1은 매우 중요하며 클라이언트 측을 주도합니다.

Discourse와 다른 현대적인 웹사이트(웹앱)들이 JavaScript를 사용하는 이유는 다음과 같습니다:

  • 부하 분산: 서버의 많은 업무를 덜어주어 웹사이트가 더 잘 확장되도록 돕습니다 (사용자의 기기에 일부를 맡기면 안 될 이유가 없죠?!)
  • 대역폭: 초기 로드 시 해당 JavaScript를 가져오는 데 약간 더 오래 걸릴 수 있지만, 이후 데이터의 중간 로딩은 대역폭을 훨씬 적게 사용하므로 훨씬 빠릅니다 (만약 내일 갑자기 JavaScript가 사라진다면 인터넷이 마비될지도 모릅니다?). 이는 마크업과 레이아웃 대신 데이터만 전송하면 되기 때문입니다. 따라서 웹에서의 작업이 훨씬 빨라지고, 나쁜 모바일 연결과 같은 낮은 대역폭 연결도 가능해집니다.
  • UI: UI의 동적 특성을 개선하여 사용자 경험을 향상시킵니다 (예: 버튼을 클릭하면 화면의 일부만 업데이트 - 브라우저 전체의 큰 재그리기 없이).
  • 표준: JavaScript는 모바일 브라우저를 포함한 모든 최신 브라우저에서 표준이므로, 한 번 작성하면 대부분의 기기에서 앱 같은 품질을 제공할 수 있습니다.
  • 관심사 분리: 서버 프로세스가 UI 렌더링을 걱정할 필요가 없도록(보통) 분리하여, JavaScript(또는 HTML) 기반이 아닌 다른 프론트엔드를 지원하거나 이식하는 것이 쉬워집니다. iOS 앱 같은 것 말입니다?

다른 장점들도 많이 있겠지만, 이것이 기본적인 이유들입니다.

12개의 좋아요

클라이언트 측에서 최종 사용자의 관점으로는 순수한 JS이거나, 그렇게 보이죠?

3개의 좋아요