2 điểm bởi GN⁺ 2024-12-04 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đạt cột mốc 1.0 sau 6 năm kể từ commit đầu tiên
  • Khởi đầu và lý do ra đời của LiveView
    • LiveView được khởi tạo để xây dựng ứng dụng render phía máy chủ mà không cần JavaScript.
    • Có thể giải quyết đơn giản các vấn đề phức tạp như xác thực biểu mẫu theo thời gian thực, cập nhật số lượng giỏ hàng và cập nhật streaming theo thời gian thực.
    • Elixir và Phoenix rất phù hợp với cách tiếp cận này.
  • Ưu điểm của nền tảng thời gian thực
    • Cung cấp nền tảng hai chiều theo thời gian thực cho mọi người dùng và UI, giúp nhà phát triển tập trung vào việc triển khai tính năng.
    • Có thể hiện thực các tính năng mà trên nền tảng khác không thể làm được nhờ Elixir.
  • Triển khai ban đầu của LiveView
    • Tương tự React, hiện thực UI phía máy chủ tự động cập nhật khi trạng thái thay đổi.
    • Có thể hỗ trợ hàng triệu kết nối bằng Phoenix Channels.
  • Tối ưu hóa mô hình lập trình
    • Engine khác biệt của LiveView chỉ thực thi các phần động của template và chỉ truyền lượng dữ liệu tối thiểu.
    • Tách phần tĩnh và phần động để cho phép cập nhật hiệu quả.
  • Độ trễ hàng đầu
    • LiveView mang lại hiệu năng tối ưu nhờ payload nhỏ và kết nối duy trì trạng thái.
    • Mức sử dụng bộ nhớ máy chủ thấp nhưng vẫn có thể hỗ trợ hàng trăm nghìn kết nối đồng thời.
  • Component tái sử dụng với HEEx
    • Giới thiệu hệ thống component khai báo cung cấp khả năng kiểm tra HTML và kiểm tra thuộc tính ở thời điểm biên dịch.
    • Cung cấp cảnh báo ở thời điểm biên dịch khi dùng sai thuộc tính lúc gọi component.
  • Đơn giản hóa cú pháp HEEx
    • Giới thiệu cú pháp rút gọn cho phép chèn trực tiếp giá trị bên trong phần thân thẻ.
  • Tải lên tương tác
    • Cung cấp một abstraction duy nhất cho upload file, hỗ trợ upload trực tiếp lên cloud và lên máy chủ.
    • Có thể dễ dàng hiện tiến trình upload hoặc triển khai các tác vụ file nâng cao.
  • Stream và xử lý bất đồng bộ
    • Giới thiệu primitive stream để xử lý hiệu quả các collection lớn.
    • Cung cấp khả năng xử lý dễ dàng các tác vụ bất đồng bộ và render kết quả.
  • LiveView trở thành xu hướng chính
    • LiveView và .NET Blazor khởi đầu vào thời điểm tương tự và đã thúc đẩy việc tiếp nhận mô hình lập trình này.
    • Các cộng đồng ngôn ngữ khác cũng đang tiếp nhận mô hình này theo nhiều cách khác nhau.
  • Kế hoạch sắp tới
    • Đang lên kế hoạch tích hợp JavaScript hook, tăng cường tích hợp web component và hỗ trợ navigation guard.

1 bình luận

 
GN⁺ 2024-12-04
Ý kiến trên Hacker News
  • Người sáng lập Phoenix trả lời các câu hỏi về Elixir/Phoenix/LiveView và giới thiệu trình cài đặt mới

    • Trình cài đặt mới cho phép cài đặt Elixir và dự án Phoenix chỉ bằng một lệnh duy nhất
    • Cung cấp lệnh cài đặt cho macOS/Linux và Windows
    • Đây là phần mở rộng của trình cài đặt Elixir chính thức
    • Cũng có hướng dẫn cài đặt không dùng |sh
  • LiveView là một tính năng vượt qua những giới hạn của Rails, ban đầu bắt đầu từ tính năng "channel"

    • LiveView từng khó tích hợp với các view tĩnh, nhưng theo thời gian đã có thể chia sẻ mã nguồn
    • Phoenix 1.7 giới thiệu bố cục và triết lý mới, mang tính đột phá cho phát triển ứng dụng web
  • Đã xây dựng một startup bằng LiveView nhưng thất bại

    • Việc tích hợp với React diễn ra trơn tru, và kết nối với các thư viện phức tạp cũng không có vấn đề gì
    • Những vấn đề từng giải quyết trong React phải được giải quyết lại từ đầu trong LiveView
  • Đã xây dựng nhiều ứng dụng production bằng LiveView; dù cần kết nối WebSocket, nó vẫn có nhiều ưu điểm

    • Sinh mã giúp tăng năng suất, và việc render frontend bằng Elixir rất hiệu quả
    • Có thể dễ dàng bổ sung tính năng thời gian thực qua WebSocket
    • Giữ business logic trong Contexts giúp dễ dàng cung cấp API
  • Nhờ LiveView mà lấy lại được hứng thú với phát triển web, và năng suất rất cao

    • Có cung cấp khóa học để học LiveView, và mong nhiều người hơn nữa làm quen với framework này
  • Trong các ứng dụng web điển hình, chi phí điều phối giữa lập trình viên frontend và backend là tốn kém nhất

    • LiveView phớt lờ vấn đề này và cho phép phát triển full-stack
    • Có thể cung cấp nhiều tính năng hơn với ít lập trình viên hơn
  • Đã sử dụng LiveView từ năm 2019 và việc phát triển rất thú vị

    • LiveView lần đầu được giới thiệu tại ElixirConf EU
  • Đã viết ý kiến về bản phát hành LiveView 1.0 trên blog

  • Muốn nghe ý kiến về những đánh đổi trong việc áp dụng LiveView so với công nghệ dựa trên JS

    • Cần thảo luận về khả năng áp dụng các thư viện đa dạng của JS và công nghệ AI
  • LiveView mang lại trải nghiệm phát triển rất hiệu quả, nhưng mong nó giải quyết được các vấn đề trong kết nối không ổn định

    • Hỗ trợ offline là điều khó, nhưng cần hỗ trợ tốt hơn cho các kết nối chập chờn