Phát hành Phoenix LiveView 1.0.0
(phoenixframework.org)- Đạ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
Ý 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
|shLiveView 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"
Đã xây dựng một startup bằng LiveView nhưng thất bại
Đã 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
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
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
Đã sử dụng LiveView từ năm 2019 và việc phát triển rất thú vị
Đã 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
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