16 điểm bởi mycalls 2025-05-13 | 14 bình luận | Chia sẻ qua WhatsApp

Tôi xin giới thiệu Applimode, dự án mã nguồn mở đầu tiên của mình sau 1 năm học lập trình và 2 năm phát triển.

Github : https://github.com/mycalls/applimode

Mục tiêu

  • Triển khai dịch vụ cộng đồng và blog chỉ trong vài giờ ngay cả khi không có kinh nghiệm phát triển
  • Tự triển khai và quản lý trên máy chủ đám mây với chi phí tối thiểu
  • Cung cấp cùng một trải nghiệm người dùng trên web (bao gồm PWA), Android và iOS

Demo

FAQ

Q. Vì sao bạn chọn Firebase?
A. Ban đầu tôi cũng phát triển cùng với Supabase, nhưng đã chọn Firebase vì ngay cả người không phải lập trình viên cũng có thể dễ dàng sử dụng, đồng thời cân nhắc sự tiện lợi khi triển khai (Firebase Hosting), thông báo đẩy (FCM) và tích hợp AI (Gemini).

Q. Nếu là dịch vụ lấy media làm trung tâm thì chi phí Firebase Storage có phải là gánh nặng không?
A. Có thể tích hợp Cloudflare R2 để vận hành với phí truyền tải miễn phí, 10GB dung lượng lưu trữ miễn phí và thêm $15 cho mỗi 1TB bổ sung.

Q. Sự khác biệt giữa ứng dụng native và web app là gì?
A. Ứng dụng Flutter native rất nhanh. Web app có thể mất 1~5 giây cho lần tải đầu tiên, nhưng sau đó hoạt động nhanh chóng.

Q. Nhược điểm của Flutter là gì?
A. Khó được hiển thị trên công cụ tìm kiếm, và trên bản web có một số lỗi liên quan đến nhập văn bản. Firestore không hỗ trợ Full Text Search, nhưng có thể bổ sung tính năng tìm kiếm bằng Cloudflare D1. Trong tương lai, mục tiêu là tìm kiếm vector thông qua các công cụ AI của Google.

Kế hoạch sắp tới

  • Quản lý nội dung bằng AI (tự động chặn quảng cáo, spam, chửi bới, phát ngôn thù ghét, bài viết bị báo cáo nhiều)
  • Phát triển công cụ tự động hóa để việc triển khai dịch vụ trở nên dễ dàng và nhanh hơn

Tôi hy vọng nhiều người có thể tiết kiệm thời gian và chi phí thông qua dự án này.
Tôi vẫn còn vụng về trong phát triển và vận hành GitHub, nhưng muốn cùng phát triển với những người quan tâm. Xin cảm ơn.

14 bình luận

 
tsboard 2025-05-14

Tôi cũng từng cân nhắc Flutter, nhưng vì cảm giác tải ban đầu và một chút gì đó hơi thiếu tự nhiên nên cuối cùng ứng dụng Android vẫn phát triển bằng native, còn web thì tôi cũng tách ra phát triển riêng bằng TypeScript.
Dù vậy, tôi vẫn luôn thấy hơi tiếc. Có thể làm tất cả bằng một framework và một ngôn ngữ (Dart), vậy mà tại sao lại phải tách riêng nhỉ? Tôi đã nghĩ như vậy.
Thành phẩm bạn hoàn thiện thực sự rất ấn tượng, nên tôi cũng nghĩ rằng nếu lần tới có cơ hội thì muốn thử làm một dự án nào đó bằng Flutter. Hy vọng nó sẽ tiếp tục được cải thiện!!

 
mycalls 2025-05-14

Khi tôi mới bắt đầu phát triển bằng Flutter cách đây 2 năm, tôi cũng đã có cảm giác tương tự. May mắn là Flutter liên tục được cập nhật nên hiệu năng đã được cải thiện rất nhiều; web thì vẫn còn cả một chặng đường dài, nhưng cũng đang dần được tối ưu để phù hợp hơn với môi trường web thông qua nhiều phương pháp khác nhau. Tôi chân thành cảm ơn sự ủng hộ xuất phát từ tấm lòng của bạn, và Applimode cũng sẽ tiếp tục phát triển không ngừng.

 
mhj5730 2025-05-13

Flutter à.. thật đáng kính nể. Tôi là một lập trình viên backend và cũng từng có trải nghiệm làm app bằng Flutter. Tôi nhớ là nó rất tuyệt vì cực kỳ ăn khớp với nền tảng của Google, thật sự rất ấn tượng.

 
mycalls 2025-05-13

Tôi hoàn toàn đồng cảm. Bản thân tôi cũng nghĩ Flutter và Firebase gần như là một bộ đôi, và càng phát triển càng thấy biết ơn Google. Thật sự cảm ơn bạn vì sự ủng hộ chân thành. Dù năng lực của tôi và ứng dụng vẫn còn thiếu sót rất nhiều, tôi sẽ tiếp tục cải thiện một cách bền bỉ.

 
kaistj 2025-05-13

Wow~ tuyệt vời quá
Ủng hộ bạn~

 
mycalls 2025-05-13

Cảm ơn bạn. Dù hiện vẫn còn nhiều thiếu sót, tôi sẽ tiếp tục cải thiện một cách đều đặn.

 
tensun 2025-05-13

Rất đáng mong đợi. Cảm ơn.

 
mycalls 2025-05-13

Xin cảm ơn. Tôi chân thành hy vọng đây sẽ trở thành một dự án thực sự hữu ích với nhiều người.

 
zinisuni 2025-05-13

Ồ~ hay đấy.
Nếu có đăng nhập mạng xã hội thì có lẽ sẽ còn tốt hơn.
Cố lên~~

 
mycalls 2025-05-13

Bản thân tôi cũng luôn trăn trở về việc giúp người dùng thiết lập đăng nhập mạng xã hội dễ dàng hơn. Tôi sẽ cố gắng hết sức để sớm áp dụng tính năng này. Chân thành cảm ơn ý kiến quý báu của bạn.

 
bichi 2025-05-13

Việc hoàn thành được nó dường như có ý nghĩa rất lớn, thật sự rất đáng xem.

Việc được trực tiếp thấy kết quả cho câu hỏi phát triển web trên Flutter sẽ như thế nào đã giúp ích cho tôi.

Tôi cũng đã được tự mắt xác nhận những vấn đề như bên dưới.

  • First Contentful Paint (FCP)
  • Web Accessibility Initiative (WAI)
  • Thật ra, nếu xét về tốc độ thì cả app lẫn web đều đơn giản là native
 
mycalls 2025-05-13

Xin chân thành cảm ơn ý kiến của bạn. Những vấn đề bạn chỉ ra cũng là điều mà chính tôi cảm nhận được hằng ngày. Tôi hy vọng những dự án như 'Applimode' có thể góp một phần nhỏ trong việc giúp mọi người nhận ra những vấn đề này và cải thiện chúng.

 
aliveornot 2025-05-13

Nếu là dịch vụ cộng đồng/blog thì trên thực tế SEO mới là yếu tố cần cân nhắc quan trọng nhất, nên tôi cho rằng Flutter không phải là một lựa chọn tốt.

 
mycalls 2025-05-13

Tôi hoàn toàn đồng ý. Do những vấn đề SEO như thế này, hiện nay việc đưa vào trình kết xuất DOM mới đang được thảo luận. Cá nhân tôi kỳ vọng rằng nếu các dự án Flutter như thế này trở nên sôi động hơn nữa thì tốc độ cải thiện cũng sẽ nhanh hơn.