2P by neo 24일전 | favorite | 댓글 1개
  • 첫 커밋 후 6년만에 1.0 마일스톤 달성
  • LiveView의 시작과 이유
    • LiveView는 서버 렌더링 애플리케이션을 JavaScript 없이 만들기 위해 시작됨.
    • 실시간 폼 검증, 쇼핑 카트 수량 업데이트, 실시간 스트리밍 업데이트 등 복잡한 문제를 간단하게 해결할 수 있음.
    • Elixir와 Phoenix는 이러한 접근 방식에 적합함.
  • 실시간 기반의 장점
    • 모든 사용자와 UI에 실시간 양방향 기반을 제공하여 개발자가 기능 구현에 집중할 수 있게 함.
    • Elixir를 통해 다른 플랫폼에서는 불가능한 기능을 구현할 수 있음.
  • LiveView의 초기 구현
    • React와 유사하게 상태 변경 시 자동으로 UI가 업데이트되는 서버 기반 UI를 구현.
    • Phoenix Channels를 사용하여 수백만 개의 연결을 지원할 수 있음.
  • 프로그래밍 모델 최적화
    • LiveView의 차별화된 엔진은 템플릿의 동적 부분만 실행하고 최소한의 데이터만 전송함.
    • 정적 부분과 동적 부분을 분리하여 효율적인 업데이트를 가능하게 함.
  • 최고 수준의 지연 시간
    • LiveView는 작은 페이로드와 상태 유지 연결을 통해 최적의 성능을 제공함.
    • 서버 메모리 사용량은 적지만, 수십만 개의 동시 연결을 지원할 수 있음.
  • HEEx를 통한 재사용 가능한 컴포넌트
    • HTML 검증 및 컴파일 타임 속성 검사를 제공하는 선언적 컴포넌트 시스템을 도입함.
    • 컴포넌트 호출 시 잘못된 속성 사용에 대해 컴파일 타임 경고를 제공함.
  • HEEx 문법 간소화
    • 태그 본문 내에서 값을 직접 삽입할 수 있는 간소화된 문법을 도입함.
  • 인터랙티브 업로드
    • 파일 업로드를 위한 단일 추상화를 제공하여 클라우드 및 서버 직접 업로드를 지원함.
    • 업로드 진행 상황을 반영하거나 고급 파일 작업을 쉽게 구현할 수 있음.
  • 스트림과 비동기 처리
    • 대량의 컬렉션을 효율적으로 처리하기 위한 스트림 프리미티브를 도입함.
    • 비동기 작업을 쉽게 처리하고 결과를 렌더링할 수 있는 기능을 제공함.
  • LiveView가 메인스트림으로
    • LiveView와 .NET Blazor는 비슷한 시기에 시작되어 이 프로그래밍 모델의 채택을 이끌었음.
    • 다른 언어 커뮤니티에서도 이 모델을 다양한 방식으로 채택하고 있음.
  • 향후 계획
    • JavaScript 훅 통합, 웹 컴포넌트 통합 강화, 내비게이션 가드 지원 등을 계획 중임.
Hacker News 의견
  • Phoenix의 창시자가 Elixir/Phoenix/LiveView에 대한 질문을 받으며 새로운 설치 프로그램을 소개함

    • 새로운 설치 프로그램은 Elixir와 Phoenix 프로젝트를 단일 명령어로 설치할 수 있게 함
    • macOS/Linux와 Windows에 대한 설치 명령어 제공
    • 공식 Elixir 설치 프로그램을 확장한 것임
    • 비 |sh 설치 가이드도 제공됨
  • LiveView는 Rails의 한계를 극복한 기능으로, 초기에는 "채널" 기능으로 시작되었음

    • LiveView는 정적 뷰와의 통합이 어려웠으나, 시간이 지나면서 코드 공유가 가능해짐
    • Phoenix 1.7은 새로운 레이아웃과 철학을 도입하여 웹 앱 개발에 혁신적임
  • LiveView를 사용하여 스타트업을 구축했으나 실패했음

    • React와의 통합이 원활했으며, 복잡한 라이브러리와의 연결도 문제없었음
    • React에서 해결했던 문제들을 LiveView에서 처음부터 해결해야 했음
  • LiveView를 사용한 여러 생산 앱을 구축했으며, WebSocket 연결이 필요하지만 여러 장점이 있음

    • 코드 생성이 생산성을 높이고, Elixir를 사용하여 프론트엔드를 렌더링하는 것이 효율적임
    • WebSocket을 통해 실시간 기능 추가가 용이함
    • 비즈니스 로직을 Contexts에 유지하여 API 제공이 용이함
  • LiveView를 사용하여 웹 개발에 대한 열정을 되찾았으며, 생산성이 매우 높음

    • LiveView 학습을 위한 강좌를 제공하며, 더 많은 사람들이 이 프레임워크를 익히길 바람
  • 전형적인 웹 앱에서 프론트와 백엔드 개발자 간의 조정 비용이 가장 비쌈

    • LiveView는 이러한 문제를 무시하고 풀스택 개발을 가능하게 함
    • 적은 개발자로 더 많은 기능을 제공할 수 있음
  • LiveView를 2019년부터 사용해왔으며, 개발이 즐거웠음

    • ElixirConf EU에서 LiveView가 처음 소개되었음
  • LiveView 1.0 릴리스에 대한 의견을 블로그에 작성함

  • LiveView와 JS 기반 기술의 채택에 대한 트레이드오프에 대한 의견을 듣고 싶음

    • JS의 다양한 라이브러리와 AI 기술의 채택 가능성에 대한 논의 필요
  • LiveView는 매우 생산적인 개발 경험을 제공하지만, 불안정한 연결에서의 문제를 해결하기를 바람

    • 오프라인 지원은 어렵지만, 불안정한 연결에 대한 지원이 필요함