7 điểm bởi studroid 2021-08-26 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Xin chia sẻ một bảng điểm dành cho giải đấu Jiu-Jitsu được xây dựng bằng Flutter, framework phát triển đa nền tảng :)

  • Có phiên bản web có thể chạy được trên GitHub Pages.

  • Vì được làm bằng Flutter nên có thể build thành các phiên bản chạy trên nhiều môi trường khác nhau (PC, Android, iOS).

Danh sách các tính năng đang hoạt động như sau.

  • Bộ đếm thời gian: bắt đầu/tạm dừng/thay đổi thời gian/đưa về lại 6 phút

  • Âm thanh: phát tiếng bíp khi bắt đầu bộ đếm thời gian, khi kết thúc, và khi khởi động lại sau khi reset

  • Nhập tên vận động viên

  • Với mỗi vận động viên, tăng/giảm điểm theo đơn vị 4 điểm/3 điểm/2 điểm

  • Với mỗi vận động viên, cộng Advantage/Penalty

  • Tính tổng điểm

  • Reset bảng điểm

Lý do tôi làm ra cái này như sau.

  • Vì nhiều lý do khác nhau...! Tôi thấy hứng thú với Flutter nên đã học thử và từng làm một ứng dụng cực kỳ đơn giản.

  • Tôi đã học Jiu-Jitsu khoảng 1 năm, và võ đường tôi theo học đã tổ chức một giải đấu.

  • Có nói rằng bảng điểm dùng trong giải thì có ứng dụng di động, nhưng lại không có ứng dụng desktop nào đủ hữu ích để dùng (= vận động viên hoặc người liên quan không thể xem điểm, và trọng tài cũng phải vất vả hướng dẫn)

  • Những người biết tôi làm phát triển phần mềm đã nửa đùa nửa thật nói rằng: "Ơ, cái này anh làm được chứ!?"

  • Nhưng khi nghe vậy, tôi chợt nghĩ đây đúng là một hạng mục mà Flutter có thể phát huy hiệu quả thực sự...!

  • Tôi làm nó vào cuối tuần để dùng cho giải đấu, và đến giờ nó vẫn đang được sử dụng.

Điểm khác biệt so với bảng điểm hiện có là

  • Về mặt chức năng thì gần như giống nhau.

  • Tuy nhiên có thể xem trên trình duyệt, và kích thước trên dưới trái phải sẽ thay đổi theo kích thước trình duyệt.

  • Tức là đây là bảng điểm có thể dùng ở bất cứ đâu, kể cả trên di động.

  • Kích thước chữ sẽ thay đổi động theo chiều cao màn hình.

Tôi đã dùng thư viện GetX trong Flutter để quản lý trạng thái,

và vì độ phức tạp của cấu trúc phát triển không quá cao nên tôi viết mã theo hướng component-based, sử dụng mẫu MVC để tách riêng UI/Logic/Data.

Nó được viết bằng Dart, ngôn ngữ nền tảng của Flutter. Rất mong mọi người xem qua và nếu có bất kỳ ý kiến, phản hồi hay bất kỳ sự quan tâm nào thì tôi sẽ vô cùng cảm kích!!

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

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