Friday, April 19, 2019

Danh sách các ứng dụng Android mã nguồn mở tuyệt vời để tăng cường kỹ năng lập trình cho bạn

552

Theo: https://viblo.asia/p/danh-sach-cac-ung-dung-android-ma-nguon-mo-tuyet-voi-de-tang-cuong-ky-nang-lap-trinh-cho-ban-jvEla6Nm5kw

Cách tốt nhất để học là đọc và đọc thật nhiều, điều này luôn đúng đối với developer chúng ta.Nếu bạn muốn kỹ năng lập trình của mình tốt hơn nữa thì bạn phải đọc thật nhiều code hơn nữa.

Sách, theo dõi các blogger, các forums đều tốt ở một mức nhất định nhưng không có gì có thể thay thế một project mã nguồn mở với đầy đủ chức năng, toàn bộ source code của nó ở ngay trước mắt bạn.

Bây giờ việc mà bạn phải làm là ngồi lại, lấy một tách trà(hoặc cà phê) và sau đó đọc mấy cái code kick-ass programmer này đi con gì nữa =)).
Ở trong các phần của bài viết này, tôi sẽ mang đến cho các bạn một số ứng dụng Android mã nguồn mở (Open sources) tốt nhất từ các kiểu thể loại khác nhau để đáp ứng mọi nhu cầu học tập cũng như phát triển ứng dụng của bạn.

Bạn có thể thử các ứng dụng này trực tiếp từ Play Store để có thể trải niệm trước khi đi sâu vào source code. Mức độ khó khăn gắn liền với mỗi ứng dụng sẽ giúp bạn tự đánh giá xem mình có nên ngụp lặn ngay lập tức vào đống source code của nó không hay là đặt nó sang một bên chờ thời cơ chín muồi.

Thôi miên man đủ rồi. Giờ là đi vào phần chính nhỉ…

1. LeafPic

(Github | Play Store | Độ khó: Beginner)

Ứng dụng thư viện ảnh và video là một trong những ứng dụng phổ biến nhất mà bạn có thể tìm thấy trên bất kỳ thiết bị Android nào. Đã bao giờ mà bạn tự hỏi là làm thế nào để người ta có thể tạo ra các ứng dụng đó không. LeafPic là một trong những ứng dụng mã nguồn mở về thư viện ảnh tốt nhất mà bạn có thể thử và học hỏi.
Nó khá đơn giản, dễ hiểu và hoàn toàn phù hợp với bất kỳ một người mới bắt đầu. Một trong những điều tôi cảm thấy tốt nhất ở ứng dụng này việc tự động thay đổi theme(dynamic theming) trong ứng dụng. Đó chính là điều mà nhiều Android Developer đã phải vật lộn để thực hiện được nó.

2. Simple Calendar

(Github | Play Store | Độ khó: Beginner)

Ứng dụng lịch đơn giản và dễ sử dụng được phát triển bằng Kotlin. Nếu bạn đang tìm kiếm các nguồn học để tìm hiểu Kotlin thì đây có lẽ là một trong những cách tốt nhất để bắt đầu tìm hiểu.
Mục tiêu của ứng dụng này khá là đơn giản. Nó cũng khá hoàn hảo khi để bạn có thể tiếp xúc với một nguôn ngữ mới để phát triển ứng dụng Android. Một điều thú vị khác là bạn có thể học được từ dự án này là có thể tạo được Widget để tùy chỉnh cho Android.

3. Amaze File Manager

(Github | Play Store | Độ khó: Intermediate)

Ứng dụng Android phổ biến khác mà bạn có thể tìm thấy trên hầu hết các thiết bị Android là Trình quản lý tệp (File Manager).
Mặc dù việc xây dựng một ứng dụng quản lý tệp có thể luôn được phát triển ngay từ ban đầu của hệ điều hành. Nhưng thực sự là khá khó để được nó trên tất cả các nền tảng Android và tất cả các thiết bị.
Có rất nhiều điều tốt đẹp để bạn có thể học hỏi từ ứng dụng này, đặc biệt là làm thế nào để thực hiện xử lý file đúng trên SD Card. Nhưng tôi sẽ không khuyên bạn nên làm theo các chuẩn coding standards được sử dụng trong source code ứng dụng này vì nó chưa đạt được đến mức chuẩn.

4. Easy Sound Recorder

(Github | Play Store | Độ khó: Beginner)

Ứng dụng này là ứng dụng ghi âm đơn giản, dễ sử dụng và đẹp cho Android. Nếu bạn muốn tìm hiểu về việc ghi âm và thao tác âm thanh trong Android thì Ứng dụng này là cách tốt nhất để bắt đầu cuộc hành trình của bạn.
Project này rất nhỏ(Chỉ có 1 Activity duy nhất) và cũng rất dễ hiểu. Người mới bắt đầu cũng có thể tìm hiểu về những điều cơ bản nhất của Material Design từ Project này.

5. MLManager

(Github | Play Store | Độ khó: Beginner)

MLManager là trình quản lý ứng dụng đơn giản và trực tiếp cho thiếu bị Android của bạn. Project này thật lý tưởng cho bạn nếu bạn muốn tìm hiểu cách lấy thông tin chi tiết về các ứng dụng đã cài đặt trên thiết bị của bạn, trích xuất APK, gỡ cài đặt và có thể nhiều hơn nữa.
Các tiêu chuẩn về việc coding (Coding standards) được sử dụng trong ứng dụng này khá là tốt các bạn nên học hỏi theo. Và nó cũng có thể cung cấp cho bạn một ý tưởng tốt và đơn giản về nguyên tắc thiết kế Material Design.

6. PhotoAffix

(Github | Play Store | Độ khó: Beginner)

Ứng dụng này khà đơn giản, được thiết kế khá là rõ ràng. Ưng dụng này được sử dụng để nối ảnh theo chiều dọc hoặc chiều ngang.
Đó là một ứng dụng lý tưởng mà bất kỳ Android Developer mới bắt đầu muốn học những điều cơ bản về phát triển Android. Các tiêu chuẩn về việc coding (Coding standards) đã được thực hành một cách tốt nhất.
Bạn cũng sẽ có thể tìm hiểu được cách để Custom View một cách đơn giản nhưng nó giúp bạn có được một nền tảng để có thể custom các view phức tạp trong tương lại.

7. MovieGuide

(Github | Độ khó: Intermediate)

Mục tiêu của ứng dụng này cũng khá là đơn giản, nó liệt kê các bộ phim nổi tiếng với các đoạn giới thiệu và đánh giá. Nhưng những gì dự án này làm thì thực sự thú vị.
Ứng dụng này cũng giới thiệu một số công cụ phát triển rất hay như MVP, Uncle Bob’s Clean Architecture, mang lại hương vị ngọt ngào của RxJava và việc sử dụng Dependency injection của Dagger 2.
Ứng dụng này khá đơn giản nhưng cách mọi thừ được thực hiện thật là tuyệt vời và chắc chắn nó sẽ có giá trị vô cùng lớn đối với bạn.

8. Timber

(Github | Play Store | Độ khó: Advanced)

Timber là một trình nghe nhạc được thiết kế đẹp mắt, và có đầy đủ tính năng cho Android.
Nếu bạn từng muốn xây dựng một trình phát nhạc của rieegn mình hoặc bất kỳ ứng dụng âm nhạc nào, thì dây sẽ là dự án mà bạn cần xem.
Dự án này khá lớn và vẫn đang được phát triển. Đối với người mới bắt đầu, có thể khó hiểu tất cả mọi thứ đang diễn ra trong dự án nhưng điều này thực sự thú vị với bất kỳ Android Developer ở level Intermediate hoặc Advanced .

9. CoCoin

(Github | Độ khó: Beginner)

Cocoin là một giải pháp tài chính và kế toán trọn vẹn có tính năng rõ ràng với giao diện đẹp.
Nếu bạn muốn học cách quản lý rất nhiều dữ liệu người dùng, vẽ các biểu đồ đẹp từ những dữ liệu đó. Custom nhưng View rieegn theo cách của mình thì thực sự source code này rất cần cho bạn.

10. Pedometer

(Github | Difficulty: Beginner

Một ứng dụng đo bước chân đơn giản, hiệu suất nhẹ, sử dụng hardware sensor để tính toán bước đi và không làm ngốn pin của thiết bị.
Đây là một dự án tốt để bắt đầu học việc theo dõi bước đi và bước đầu nghiên cứu đến hardware sensor.

Thực sự vẫn còn rất rất nhiều dự án Android mã nguồn mở khác mình muốn chia sẻ cho các bạn ở ngay tại bài viết này. Nhưng mình nghĩ con số 10 là đủ để làm các bạn ngụp sâu lặn kỹ với mớ source code này rồi. Mình chỉ sợ Nếu mình viết nhiều quá thì chỉ làm cho các bạn càng rối thêm về mớ kiến thức khổng lồ mà internet mang lại cho chúng ta thôi :-<.
Mình xin dừng bàn phím ở đây. Hẹn anh em sang bài lần sau để mình có thể chia sẻ thêm nhiều các project hay ho nữa cho mọi người.
Chúc mọi người lượm lặt được thêm cho mình kiến thức thông qua đống source code bổ ích này.