3 điểm bởi dopeflamingo 28 ngày trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Xin chào.

Tôi là kỹ sư đã giới thiệu trên GeekNews về 'Violit', một framework web Python tôi làm như sở thích nhằm giải quyết hiện tượng nghẽn do toàn bộ ứng dụng chạy lại (Full Rerun) của Streamlit, vào khoảng 3 tháng trước.

Nhờ nhận được những phản hồi rất tích cực từ cộng đồng quốc tế và cả GeekNews tại đây, gần đây dự án đã vượt mốc 400 sao trên GitHub. Trong thời gian đó, khi quan sát bạn bè của tôi và người dùng toàn cầu áp dụng framework này vào các dự án thực tế, tôi đã nhận ra một điều.

Đó là sau khi nhanh chóng dựng xong UI, mọi người sẽ lập tức tìm đến tính năng lưu DB và đăng nhập (Auth).

Ban đầu, tôi định giữ framework thật gọn nhẹ và triệt để chỉ để nó là một thư viện frontend. Tuy nhiên, khi thấy người dùng vất vả gắn ghép DB và hệ thống xác thực theo cách cưỡng ép, sau nhiều cân nhắc tôi đã quyết định bổ sung các tính năng này.

Thông qua đợt cập nhật lớn lần này, tôi đã mở rộng Violit từ một công cụ UI đơn thuần thành framework full-stack batteries-included.

🚀 Những điểm chính của bản cập nhật này

  • ORM tích hợp sẵn (SQLModel): Chỉ cần truyền một dòng vl.App(db="./app.db") là có thể truy vấn và lưu dữ liệu ngay mà không cần thiết lập riêng.
  • Auth tích hợp sẵn: Hỗ trợ native cho xác thực dựa trên session, hash mật khẩu và bảo vệ quyền truy cập trang theo vai trò (Role-based).
  • Tác vụ nền bất đồng bộ: Khi chạy suy luận AI nặng, để màn hình không bị treo, có thể dùng app.background() để chuyển tác vụ xuống nền một cách an toàn.
  • Tailwind & Web Awesome: Thông qua tham số cls, giờ đây có thể dùng trực tiếp các utility class của Tailwind để tạo phong cách hiện đại.

Tất nhiên, phần cốt lõi là engine độ phản ứng tinh mịn dựa trên signal (Signal-based fine-grained reactivity) cũng đã được củng cố hơn. Bạn vẫn viết mã theo kiểu script trực quan giống Streamlit (tương thích API 90%), nhưng khi click hoặc nhập liệu, không phải toàn bộ màn hình chạy lại mà chỉ những widget có phụ thuộc liên quan mới được cập nhật một phần.

Giờ đây, chỉ với một script Python duy nhất, bạn có thể xử lý cùng lúc từ UI phản hồi hiện đại đến cơ sở dữ liệu và xác thực người dùng.

Nếu lần tới bạn làm công cụ nội bộ, ứng dụng dữ liệu hoặc MVP, rất mong bạn thử dùng và để lại phản hồi cũng như góp ý về kiến trúc! :)

Chưa có bình luận nào.

Chưa có bình luận nào.