Những dự án Open Source Android tuyệt vời sẽ giúp đỡ bạn trong công việc và học tập rất nhiều
Bài đăng này đã không được cập nhật trong 6 năm
Các tốt nhất để học tập chính là đọc nhiều và điều đó càng đúng hơn khi bạn là một developer. Nếu bạn muốn trở thành một developer tốt thì bạn phải đọc nhiều code. Các kênh thông tin như sách báo, blogs, diễn đàn là những nơi bạn có thể khai thác kiến thức, nhưng nhanh nhất cho việc học hỏi cho developer đó là những dự án thật, code thật. Rất tuyệt vời khi hiện nay các dự án open souce rất rất nhiều, nơi mà code được public với mọi người. Nếu bạn không biết tận dụng nó cho công việc và học tập thì bạn đã đánh mất quá nhiều thời gian và tiền bạc rồi. Tại sao tôi lại nói như vậy? Tất cả những gì bạn cần làm là ngồi xuống, pha một tách cafe và cùng theo dõi những gì tôi sắp giới thiệu dưới đây. Đó là những dự án Open source phục vụ cho nhiều mục đích công việc, giải quyết những baì toán mà developer hay gặp phải. Bạn có thể thử các ứng dụng này trực tiếp từ Play Store để có trải nghiệm thực hành trước khi đi sâu vào code. Mức độ khó với mỗi ứng dụng sẽ giúp bạn đánh giá nếu bạn nên ngay lập tức nhảy vào nghiên cứu nó hoặc lưu nó lại sau này sẽ dùng đến nó.
LeafPic
(Github | Play Store | Độ khó: Beginner)
Ảnh và video Gallery app là một trong những ứng dụng phổ biến bạn có thể tìm thấy trên mỗi thiết bị Android. Có bao giờ bạn tử hỏi làm sao để có thể làm một app đẹp và hiệu suất tốt như vậy không. Vậy thì bạn nên thử đối với dự án này nhé. Dự án này khá cơ bản và dễ hiểu rất phù hợp với những beginner. Một trong những thứ tôi tìm thấy ở app này đó là cách implement dynamic theme. Nó là một cái gì đó có khi khiến developer phải vật lộn khi không biết làm thế nào cho đúng và hiệu quả
Simple Calendar
(Github | Play Store | Độ khó: Beginner)
Một calendar đơn giản và dễ sử dụng được viết trên kotlin. Nếu bạn đang học Kotlin thì đây cũng là một ý kiến hay cho sự bắt đầu đó. Từ đây bạn đã có thêm một option khi dự án của bạn cần một calendar và custom nó cho thật đẹp theo yêu cầu khách hàng nhé.
Amaze File Manager
(Github | Play Store | Độ khó: Intermediate)
Lại một app quá thông dụng phải không nhỉ. Nhưng chính vì thông dụng nên ta mới phải làm việc nhiều với nó. Có rất nhiều thứ hay mà bạn sẽ học được ở app này, đặc biệt đó là giải quyết performent khi load dữ liệu từ Sdcard.
Easy Sound Recorder
(Github | Play Store | Độ khó: Beginner)
Bỗng một ngày khách hàng của bạn yêu cầu bạn hãy thêm cho họ tính năng ghi âm vào sản phẩm của họ. Thì bạn có thể nghĩ ngay đến Easy Sound Recorder. Nếu bạn muốn tìm hiểu về ghi âm và thao tác âm thanh trong Android, thì dự án này là cách tốt nhất để bắt đầu hành trình của bạn. Dự án này khá bé (chỉ với 1 Activity) và lại rất đơn giản để đọc hiểu. Ngoài ra beginner cũng có thể học được cách thiết kế theo phong cách Material Design từ dự án này.
MLManager
(Github | Play Store | Độ khó: Beginner)
MLManager là một app dùng thể quản lí các ứng dụng trong thiết bị Android. Dự án là ý tưởng cho viêc bạn muốn học cách lấy thông tin chi tiết những ứng dụng mà bạn đã cài đặt trong thiết bị , làm sao để extract file APK từ những app đó, và cách gỡ cài đặt nó ra sao... Code khá sạch và dễ hiểu thích hợp cho beginner trở lên , ngoài ra dự án này cũng làm trên Material Design nhé.
PhotoAffix
(Github | Play Store| Độ khó: Beginner)
Một app rất đơn giản và thiết kế cũng trực quan. App có tính năng ghép ảnh theo chiều dọc hoặc chiều ngang. Nghe có vể đơn giản nhỉ.Thực ra thì... Với code của ứng dụng này bạn sẽ học được những điều cơ bản trong phát triển Android. Các chuẩn coding, ngoài ra một phần không thể thiếu với mỗi ứng dụng phức tạp đó là custom view, từ những customview đơn giản sẽ là nền tảng để sau này bạn có thể làm những thứ phức tạp hơn.
MovieGuide
(Github | Độ khó: Intermediate)
Mục đích của app này khá đơn giản, app list ra những danh sách phim phổ biến với những trailer và review về chúng. Nhưng cái thú vị của app này đến từ cách mà nó được implement. App được xây dựng lên bằng những công nghệ và mô hình khá hot hiện nay như mô hình MVP, Uncle Bob’s Clean Architecture, ngoài ra không thể thiếu Dagger và RxJava... Rất đáng để chúng ta mò vào code của nó và học hỏi phải không nhỉ.
AnExplorer
(Github | Play Store | Độ khó: Intermediate)
Lại một app khác về quản lý file được thiết kế cho cả phone và tablet. Có nhiều thứ bạn sẽ học được ở app này như cách handle file, root management, loaders, custom views...
Minimal ToDo
(Github | Play Store | Độ khó: Beginner)
Nếu bạn là beginner thì đây là app khá hoàn chỉnh cho bạn nâng cao hiểu biết của mình khi xây dựng một app Android. Thiết kế của app khá đẹp và chuyên nghiệp cũng đáng để học hỏi ấy chứ.
Timber
(Github | Play Store | Độ khó: Advanced)
Phải nói thiết kế của Timber thì miễn chê phải không nào. Không những vậy app còn có rất nhiều tính năng. Nếu bạn muốn tự làm cho mình 1 app nghe nhạc hoặc khách hàng yêu cầu, thì đây chính là app mà bạn đang tìm kiếm. Dự án này khá lớn và khá khó. Đối với beginner thì sẽ hơi khó tiếp cận. Nhưng nếu bạn là beginner yêu thích nó thì hãy cứ tìm hiểu và học cách mà học làm nhé.
AnotherMonitor
(Github | Play Store | Độ khó: Intermediate)
Nếu bạn đang tìm kiếm một app hiển thị các process của Android, bộ nhớ, CPU... thì đây là cái bạn cần. Đây là 1 dự án nhỏ và dễ đọc hiểu.
InstaMaterial
(Github | Độ khó: Beginner)
Có bao giờ bạn từ hỏi tại sao Instagram học lại làm được 1 app đẹp như vậy không? Một ứng dụng gần giống như instagram với thiết kế Material Design là những gì tôi đang nói đến. Các bạn học được ở đây là gì? Đó là cách làm theo phong cách thiết kế Material design, về các element, animation, transitiom,... App naỳ phù hợp với tất cả ai muốn làm quen với Material Design.
Clip Stack
(Github | Play Store | Độ khó: Beginner)
Một app đơn giản, đẹp, dễ sử dụng và clipboard manager. Tuy nhiên code của nó không được chuẩn theo convention cho lắm, cho nên chỉ nên tham khảo không nên làm theo hoàn toàn.
Super Clean Master
(Github | Difficulty: Advanced)
Ứng dụng theo kiểu tương tự thế này hẳn không còn lạ lẫm phải không. Nhưng phía sau nó thế nào thì không phải ai cũng nghĩ ra được. Ứng dụng dùng để tối ưu hóa hệ thống bằng cách clean những tiến trình hoặc file lưu trữ... Chính vì vậy code của nó cũng không hề dễ nhằn đâu nhé.
KISS
(Github | Play Store | Độ khó: Intermediate)
KISS là một launcher đơn giản và siêu nhanh,bản thân tôi cũng chưa bao giờ biết cách làm thế nào để làm ra 1 launcher, vì nó là app khác đặc biệt. Nếu bạn có ý định làm 1 launcher thì hãy bắt đầu tìm hiểu từ đây nhé.
Turbo Editor
(Github | Play Store | Độ khó: Intermediate)
Một app text editor đơn giản nhưng cũng không kèm phần mạnh mẽ. Với app nó có thể hightlight cho bạn khi văn bản là các ngôn ngữ lập trình khác nhau. Đặc biệt app còn xử lý được những file nặng mà nhiều app khác không làm được. Đây là cơ sở giúp bạn có thể xây dựng lên những app về text editor.
Pedometer
(Github | Độ khó: Beginner)
App dùng để đếm bước chân bằng việc sử dụng cảm biến. Đặc biệt là cách tối ưu hóa về pin làm sao cho đếm chính xác mà hiệu suất tốt. Mặc dù design không được đẹp cho lắm nhưng với những người mới bắt đầu có thể học hỏi ở nó về tính năng.
Trên đây là những Open source mà tôi cho rằng khá hữu ích cho công việc và học tập. Tôi mong rằng qua bài viết này thì dù bạn đã có thể note lại cho mình những thứ mà mình đang cần và có thể sẽ cần cho sau này. Để công việc trở lên dễ dàng hơn và cũng học hỏi được nhiều kiến thức hữu ích từ những dự án này.
Nguồn blog.aritraroy.in
All rights reserved