Bài viết được dịch từ trang web SitePoint

Học lập trình Android cơ bản đến nâng cao tốt nhất
Học lập trình Android qua những tài nguyên trực tuyến tốt nhất

Cho dù bạn là người mới bước chân vào lĩnh vực lập trình Android hay đã là một nhà phát triển có nhiều năm kinh nghiệm, thì ai cũng đều cần những lời khuyên về những nguồn tài nguyên hoặc các thư viện mới để cải thiện và đơn giản hóa việc phát triển ứng dụng.

Sau đây là danh sách một số những tài nguyên tốt nhất dành cho các nhà phát triển ứng dụng Android.

1. Tổ chức code

Không phải tất cả các nhà phát triển đều có cùng một coding style giống nhau, điều đó dẫn đến việc rất khó để hiểu hoặc làm việc với code được viết bởi lập trình viên khác. Việc tuân theo một coding style nhất quán giúp cho các nhà phát triển khác dễ dàng hơn khi đọc code của bạn bằng cách bám vào một bộ quy tắc chuẩn.

Bởi vì Android sử dụng ngôn ngữ lập trình Java, bạn hãy xem qua Java Style Guide của Google. Đó là một định nghĩa đầy đủ về các tiêu chuẩn lập trình của Google cho mã nguồn Java . Nếu bạn đến từ nền tảng PHP, thì hãy coi nó như là tiêu chuẩn PSR không chính thức.

Tôi đề xuất tuân theo Android Best Practices của Futurice, trong đó có các hướng dẫn về những thứ như làm thế nào để sử dụng các web service, tổ chức các file Java vào các package, đặt tên các tài nguyên sao cho dễ hiểu, nên sử dụng cái gì để kiểm thử, xử lý lưu trữ dữ liệu và nhiều hơn nữa.

Cả hai chuẩn ở trên là những hướng dẫn về cách viết code, tổ chức package và các thư viện để sử dụng, v.v... Android Boilerplate còn tốt hơn khi không chỉ nói cho bạn nên sử dụng cái gì, mà "buộc" bạn sử dụng những best practice như là unit testing, làm việc với các RESTful resource và dependency injection.

Nếu bạn muốn trở thành một lập trình viên Android, hãy tham gia khóa học "Lập trình Android qua 10 ứng dụng thực tế" từ chuyên gia Nguyễn Bá Thành, CEO WePlay.,JSC - 5 năm khởi nghiệp lập trình mobile - Nổi tiếng với game Bắt Chữ (10 triệu lượt tải - 2014), Ứng dụng Lịch số 1 Việt Nam: Lịch Vạn Niên (5 triệu lượt tải).

2. Sử dụng các thư viện

Giữ cho mã nguồn DRY (Don't Repeat Yourself - Không lặp lại) và không phát minh lại bánh xe là một cái gì đó mỗi nhà phát triển đều nhắm tới. Trong hướng dẫn của họ, Futurice cũng nói:

"Đừng viết HTTP client của riêng bạn, hãy sử dụng các thư viện Volley hoặc OkHttp".

Quy tắc tương tự áp dụng cho tất cả mọi thứ, không chỉ là các HTTP client. Awesome Android là một danh sách rất đầy đủ các thư viện, và được phân loại theo chức năng của chúng.

Android Arsenal là một kho thư viện, các công cụ và ứng dụng Android. Bạn có thể tìm thấy các thư viện, decompilers, emulator và nhiều hơn nữa để giúp bạn phát triển dễ dàng hơn.

Awesome Android Security là rất có giá trị để xem nếu bạn quan tâm về tính bảo mật của ứng dụng. Bạn có thể tìm thấy các công cụ như decompilers và các công cụ dịch ngược, các công cụ phân tích và nhiều hơn nữa.

3. Thiết kế các ứng dụng tốt hơn

Người dùng sẽ đánh giá chất lượng ứng dụng của bạn chỉ trong vòng 30 giây đầu tiên. Ngay cả khi ứng dụng của bạn là một ứng dụng có giá trị, nhưng nếu nó không bắt mắt thì vẫn bị đánh giá là kém.

SitePoint cũng đã cho đăng nhiều bài viết về thiết kế Android, nhưng tôi muốn giới thiệu nhất là hai bài viết 10 Essential Material Design Resources and TutorialsMaterial Design with the Android Design Support Library. Chúng đều là những bài viết chi tiết và sẽ giúp bạn thiết kế một ứng dụng tốt hơn theo hướng dẫn của Google hiện nay.

Awesome Android UI là một danh sách các thư viện UI tuyệt vời khác mà bạn có thể sử dụng để làm cho ứng dụng của mình trở nên bắt mắt hơn.

Androiduiux là một blog, thường xuyên cập nhật với các bài viết về những best practice trong thiết kế UI và UX cho ứng dụng của bạn.

4. "Nếu tôi không biết ngôn ngữ Java"

Nếu bạn không biết lập trình Java, thì bạn vẫn có thể viết các ứng dụng Android. Giải pháp đầu tiên mà tôi suy nghĩ là các ứng dụng lai (hybrid), nghĩa là các ứng dụng di động được phát triển sử dụng HTML, CSS và JavaScript. Một trong những lựa chọn tốt nhất là Ionic Frameworkgiải pháp full-stack của họ cho push notifications, phân tích và nhiều hơn nữa. SitePoint cũng đã đăng rất nhiều bài viết về cách sử dụng Ionic cho phát triển ứng dụng di động.

NativeScript là một framework mới hơn cho phép các nhà phát triển sử dụng JavaScript để xây dựng ứng dụng native cho Android, iOS và Windows Phone sử dụng cùng một mã nguồn. SitePoint cũng đã đăng một bài viết về phát triển ứng dụng di động NativeScript.

Nếu bạn là một lập trình viên quen thuộc với ngôn ngữ C#, thì Xamarin.Android là rất có giá trị xem xét vì nó được xây dựng dựa trên mã nguồn mở C#, Mono. Phần code thu được sẽ tương tự như code Java native và có phần tối ưu hơn so với một số giải pháp dạng lai (hybrid). SitePoint cũng đã cho đăng rất nhiều bài viết về việc phát triển ứng dụng bằng Xamarin.

5. Luôn luôn cập nhật

Có rất nhiều nhà phát triển có kinh nghiệm thường xuyên viết blog về Android. Có lẽ quan trọng nhất trong tất cả là hai blog Android Oficial BlogAndroid Developers Blog. Cả hai đều là những blog chính thức được viết bởi những người làm việc cho nhóm phát triển Android.

Android Weekly là một bản tin miễn phí giúp bạn luôn cập nhật thông tin phát triển Android. Tương tự như vậy Android CentralAndroid Authority, cả hai đều có rất nhiều tin tức về Android, bao gồm các phần đánh giá và đề xuất sản phẩm.

Nếu bạn biết bất kỳ nguồn tài nguyên hữu ích nào khác mà tôi đã bỏ sót, thì hãy bớt chút thời gian chia sẻ trong phần bình luận phía dưới nhé!