Làm ứng dụng Android vào năm 2025
(dev.to)Giới thiệu môi trường phát triển ứng dụng Android theo tiêu chuẩn hiện nay
- Build: gradle
- Cấu hình build: convention plugin
- Quản lý dependency: version catalog
- Áp dụng build cache
- Phân tích hiệu năng build: build-scan
- Cấu trúc module: tách theo từng feature
- Networking - retrofit
- Mapping json - kotlinx serialization
- Lưu trữ dữ liệu bền vững - jetpack datastore, room
- DI - koin
- Trình tải ảnh - coil
- UI - compose
- Giao tiếp giữa View và ViewModel - flow
- Quản lý chất lượng mã nguồn - ktlint , konsist
- Kiểm thử đơn vị - junit 4
7 bình luận
Cảm ơn bạn về bài viết hay.
Là người bằng một cách nào đó đã ổn định với vai trò kỹ sư build ứng dụng Android, nếu để lại chút ý kiến thì..
Dù rất lớn hay rất phức tạp thì vẫn phải dùng gradle... (nhìn xa xăm)
Để cải thiện hiệu năng build của gradle trong các dự án rất lớn hoặc phức tạp, các dự án dưới đây đang được thúc đẩy, nên nếu đang dùng gradle cho dự án lớn thì tốt hơn là nên chuẩn bị migration từ sớm.
Cá nhân tôi cho rằng không nhất thiết phải phơi bày architecture layer ra build system.
Trong trường hợp ứng dụng tôi đang quản lý, tôi để
feature-api/feature-implđược phơi bày ra build system dưới dạng module.Nếu cấu hình như vậy, thay đổi mã trong
feature-implsẽ không ảnh hưởng đến các module khác đang tham chiếufeature-api(cô lập dependency), nên rất hữu ích để cải thiện incremental build và tăng build cache hit rate.Có vẻ đây là điều mà quyết định của Google đã đóng vai trò lớn.
Tuy nhiên, plugin screenshot testing được phát hành gần đây lại dựa trên JUnit5.
Tuy nhiên, để áp dụng công nghệ mới nhất (?) thì JUnit4 khá thường xuyên trở thành vật cản, nên cá nhân tôi cũng có một mong muốn nho nhỏ là nó sẽ được chuyển sang JUnit5.
https://docs.gradle.com/develocity/test-distribution/
Dùng
junit-vintage-enginethì có thể chạy các bài kiểm thử JUnit4 trên JUnit5 mà không cần sửa đổi nhiều, nhưng overhead là khá lớn. (chậm hơn khoảng 20%)Ồ, thật là một vinh dự cho dòng họ Huh.
Tôi là Wilson!
Ừm.. nói thêm một chút thì trong vài năm gần đây đã xuất hiện hiện tượng khá lạ là phần lớn start-up dùng Flutter, còn các công ty lớn như META, OpenAI thì lại chọn native..
Đúng lúc năm nay tôi cũng định thử làm một ứng dụng Android, nên đây đã là một hướng dẫn hữu ích. haha