Ứng dụng Android cho TSBOARD, Sensta - Hãy tự tạo Instagram dành riêng cho cộng đồng
(github.com/sirini)Khoảng 1 năm trước, tôi đã lần đầu giới thiệu TSBOARD được xây dựng bằng TypeScript tại đây trên GeekNews.
Khi đó tôi đã giới thiệu TSBOARD là một trình xây dựng cộng đồng kiêm bảng tin.
Và khoảng 4 tháng trước, tôi cũng từng chia sẻ câu chuyện vì sao lại thay thế backend vốn đang chạy tốt bằng cách viết lại backend của TSBOARD bằng ngôn ngữ Go.
Cá nhân tôi đến giờ vẫn không hối hận vì đã chọn Go, và hiện tại tôi tự đánh giá đó là một quyết định đúng đắn.
Và dự án "Sensta" mà tôi muốn giới thiệu hôm nay là một ứng dụng Android native.
Nó cũng có liên kết với dự án TSBOARD mà tôi đã giới thiệu lúc đầu.
Vì sao lại tạo ứng dụng Android riêng cho TSBOARD?
- Khi làm TSBOARD, tôi thường nghĩ rằng nếu mình là người vận hành một site cộng đồng, có lẽ mình sẽ muốn cung cấp cho thành viên một ứng dụng do chính mình tạo ra.
- Và khi bắt đầu vận hành một cộng đồng ảnh nhỏ dựa trên TSBOARD, suy nghĩ này ngày càng trở nên chắc chắn hơn.
- À, mình cũng muốn làm một ứng dụng riêng cho site cộng đồng của mình!
- Đúng vào thời điểm đó, tình cờ tôi có việc phải dùng ngôn ngữ Kotlin cho công việc. Thế là sẵn đang học, tôi quyết định thử tạo một ứng dụng Android chuyên cho TSBOARD, và dự án này ra đời như vậy.
Điểm nổi bật của ứng dụng Android TSBOARD là gì?
- Nếu có ai đang vận hành cộng đồng dựa trên TSBOARD, chỉ cần tải mã nguồn từ GitHub ở liên kết, chỉnh một chút cấu hình trong
Env.kt, thay biểu tượng ứng dụng và vài việc nhỏ nữa là có thể tạo / phát hành ngay một ứng dụng Android sẵn sàng ra mắt.- Tất nhiên, nếu bạn chưa từng phát triển ứng dụng thì cũng nên chuẩn bị tinh thần cho một chút thử và sai.
- Các tương tác cơ bản với backend được viết lại bằng Go mà tôi đã giới thiệu 4 tháng trước đều đã được triển khai. Nhờ vậy, bạn không cần phải bắt đầu từ con số 0.
- Ngoài ra cũng không cần phụ thuộc vào ứng dụng 3rd party trong khi phải chịu cảnh bị làm phiền bởi crawl quá mức.
- Cuối cùng, ứng dụng này về cơ bản được phát triển phù hợp với gallery hơn là bảng tin thông thường trên TSBOARD. Bởi nó bắt đầu là ứng dụng cho cộng đồng ảnh nhỏ của tôi.
- Vì vậy, nếu site bạn vận hành bằng TSBOARD có gallery, bạn hoàn toàn có thể xem đây là cách tạo một Instagram dành riêng cho cộng đồng của mình.
Ứng dụng Android TSBOARD, vì sao không dùng Flutter? Vì sao không dùng React Native (RN)?
- Không phải là tôi chưa từng cân nhắc cross-platform. Khi lần đầu nói về ý tưởng này với những người quen xung quanh, gần như đa số phản hồi đều là hãy dùng RN hoặc Flutter!
- Đặc biệt vì TSBOARD được phát triển bằng TypeScript và dự án web là trọng tâm, nên cũng có nhiều lời khuyên nhân dịp này thử dùng RN.
- Nhưng vào thời điểm bắt đầu làm ứng dụng, tôi đã hoàn toàn bị cuốn hút bởi sức hấp dẫn của ngôn ngữ mới là Kotlin, nên chẳng nghe lọt tai lời nào khác. Có thể nói đây là ứng dụng được làm đơn giản vì tôi muốn dùng Kotlin.
- Ngoài ra, trong hoàn cảnh đã buộc phải dùng Kotlin, việc lại học thêm thứ mới cùng lúc để phát triển cũng thực sự là một gánh nặng.
- Kết quả là việc hỗ trợ nền tảng iOS trở nên xa vời hơn đôi chút, nhưng bù lại tôi có thể nhanh chóng thân quen với Kotlin và đạt được hiệu năng xứng đáng với native.
Kế hoạch cải tiến trong tương lai là gì?
- Tôi dự định sẽ tiếp tục cải tiến để các tính năng mới mà TSBOARD cung cấp qua các bản cập nhật có thể được tận dụng ngay trên ứng dụng Android.
- Hiện tại chỉ mới tích hợp tính năng đăng nhập bằng tài khoản Google, nhưng tôi sẽ bổ sung cả đăng nhập bằng Naver và Kakao như TSBOARD gốc.
- Tôi cũng muốn benchmark các site cộng đồng khác để bổ sung những tính năng hữu ích từ góc nhìn thành viên cộng đồng.
- Nếu bạn có tính năng nào muốn đề xuất thì xin hãy cứ thoải mái cho tôi biết!
Kết lại: TSBOARD cũng cung cấp ứng dụng Android!
- Tôi hy vọng thông qua TSBOARD, sẽ có thêm nhiều site cộng đồng sở hữu frontend mượt mà hơn, backend vững chắc hơn, và cả ứng dụng Android native dành cho thành viên của mình.
- Mong muốn nho nhỏ của tôi là ngoài tôi ra, sẽ có một nhà phát triển giỏi khác làm luôn cả ứng dụng iOS dựa trên TSBOARD. :D
Cảm ơn bạn đã đọc đến đây!
2 bình luận
Nếu dùng Kotlin Multiplatform và cả Compose Multiplatform thì cũng có thể làm được ứng dụng iOS nữa haha
Wow! Kotlin Multiplatform luôn, thật là tuyệt vời nhé haha. Mình cũng không chắc sẽ có thời gian để làm cả ứng dụng iOS nữa không. kk