StreetComplete chính thức mở bản thử nghiệm công khai trên iOS

Công nghệ01 tháng 10, 2026·3 phút đọc

Ứng dụng bản đồ mã nguồn mở StreetComplete đã bước vào giai đoạn thử nghiệm công khai trên iOS sau nhiều năm phát triển. Dự án sử dụng Kotlin Multiplatform và Compose Multiplatform để chia sẻ mã nguồn giữa Android và iOS, giúp việc bảo trì trong tương lai không bị đội chi phí lên quá nhiều.

StreetComplete chính thức mở bản thử nghiệm công khai trên iOS

StreetComplete là một ứng dụng mã nguồn mở cho phép người dùng đóng góp dữ liệu cho bản đồ OpenStreetMap thông qua các câu hỏi đơn giản, dễ trả lời. Sau nhiều năm chỉ có mặt trên Android, ứng dụng này cuối cùng đã bước vào giai đoạn thử nghiệm công khai trên iOS — một tin vui cho cộng đồng bản đồ mở tại Việt Nam và trên toàn thế giới.

Hành trình chuyển đổi đầy tham vọng

Việc đưa StreetComplete lên iOS không phải là một bản dịch đơn thuần. Toàn bộ mã nguồn của ứng dụng được viết bằng Kotlin — ngôn ngữ hiện đại có nhiều điểm tương đồng với Swift. Ban đầu, ứng dụng phụ thuộc khá nhiều vào các thư viện Java và Android, khiến việc chuyển đổi sang nền tảng khác trở nên phức tạp.

Nhóm phát triển đã chọn hướng đi Kotlin Multiplatform để chia sẻ phần lớn mã nguồn giữa hai nền tảng. Về giao diện, họ sử dụng Compose Multiplatform — một nhánh mở rộng của Jetpack Compose với API gần như tương đồng, cho phép định nghĩa toàn bộ giao diện bằng mã thay vì file XML truyền thống.

Cách tiếp cận này có lợi thế lớn so với các phương án khác ở chỗ việc bảo trì dự án về sau sẽ không tăng lên đáng kể, vì vẫn chỉ có một cơ sở mã duy nhất.

So với việc dùng Flutter — vốn đòi hỏi phải viết lại toàn bộ mã nguồn bằng Dart — thì hướng Kotlin Multiplatform giúp giữ nguyên phần lớn logic hiện có.

Lộ trình thực hiện

Quá trình chuyển đổi được chia thành các bước rõ ràng:

  • Tách mã nguồn phụ thuộc nền tảng ra khỏi logic ứng dụng, thay thế các thư viện Java/Android bằng thư viện Kotlin đa nền tảng
  • Chuyển dần giao diện từ XML sang Jetpack Compose theo hướng từ dưới lên
  • Di chuyển từ Jetpack Compose sang Compose Multiplatform — bước này được đánh giá là nhẹ nhàng hơn nhiều so với bước đầu tiên

Đến giữa năm 2024, tiến độ chuyển đổi đã đạt khoảng 50%. Nhóm phát triển ước tính một bản chuyển đổi hoàn chỉnh cần khoảng một năm công lao động, một khối lượng không hề nhỏ đối với dự án cộng đồng.

Ý nghĩa với cộng đồng mã nguồn mở

StreetComplete là một trong những công cụ hiệu quả nhất giúp người dùng phổ thông đóng góp cho OpenStreetMap. Mỗi câu hỏi trong ứng dụng tương ứng với một chi tiết còn thiếu trên bản đồ — chẳng hạn như tên cửa hàng, giờ mở cửa hay loại đường. Việc mở rộng sang iOS giúp tiếp cận thêm hàng trăm triệu người dùng tiềm năng, đặc biệt ở các thị trường như Việt Nam nơi iPhone chiếm thị phần đáng kể.

Điều đáng chú ý là dự án hoàn toàn dựa vào đóng góp cộng đồng. Nhà phát triển chính kêu gọi người dùng có thể tham gia bằng nhiều cách: nhận các nhiệm vụ trên bảng dự án, tài trợ cho quá trình phát triển, hoặc hỗ trợ phân loại và xử lý các vấn đề trên GitHub.

Nếu bạn quan tâm đến bản đồ mở hoặc muốn thử sức với Kotlin Multiplatform, đây là cơ hội tốt để vừa học hỏi vừa đóng góp cho một dự án có giá trị thực tiễn cao.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗