Android là gì?

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng, các thiết bị nhà thông minh. Được phát hành đầu tiên vào ngày 23 tháng 09 năm 2008 dựa trên Java, C++. Ban đầu Android được phát triển bởi Tổng công ty Android dưới sự hỗ trợ tài chính từ Google và sau đó Google mua lại vào năm 2005.Chính mã nguồn mở của Android cùng với tính không ràng buộc nhiều đã cho phép các nhà phát triển thiết bị di động và các lập trình viên được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị.

Công cụ phát triển ứng dụng Android

Google cung cấp cho ta bộ phát triển SDK và IDE Android Studio(Phát triển từ Intellij). Để phát triển ứng dụng ta dùng ngôn ngữ chính là Java và thông qua các components của Android SDK, Android API ta có thể phát triển một ứng dụng hoàn chỉnh. Ngoài ra Kotlin cũng được Google phát triển cho các developer dần sẽ thay thế Java trong tương lai.

Kỹ năng cơ bản?

Để có thể trở thành nhà phát triển các ứng dụng trên Android thì chúng ta phải có các kỹ năng cơ bản như sau:

  1. Nắm bắt lập trình Java cơ bản. (OOP, thread,…)
  2. Kỹ năng sử dụng IDE Android Studio (Cách debug ứng dụng, logcat, các phím tắt trên IDE…)
  3. Nắm bắt các components của Android như Widget, BroadcastReceiver, Notification, Permission, Services…
  4. Nắm bắt thêm các xu hướng sử dụng API được cộng đồng phát triển cho lập trình viên Android như Glide, Retrofit, RxJava…
  5. Nắm bắt các mô hình phát triển như MVP, MVVM…
  6. Kỹ năng đọc hiểu, tự học và tự làm sản phẩm.
  7. Tham khảo, tìm tòi các blog lập trình, các trang web như StackOverFlow.
  8. Luôn luôn tự đặt câu hỏi Tại Sao, Vì Sao dành cho bản thân và tìm câu trả lời.

Quá trình học tập và phát triển

Build Build Build

Đừng chỉ có đọc vì nó sẽ không giúp được bạn nhiều, hãy bắt tay vào làm ngay sau khi bạn đã tìm hiểu. Hãy tự xây dựng một Project nho nhỏ để kiểm tra, thử với những thứ bạn đã đọc và tìm hiểu.

There is no better way to learn something than by doing.

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

Luôn cập nhật các công nghệ mới từ Android, hãy join vào các cộng đồng phát triển như Mindorks hoặc ngay trên chính trang phát triển của Google.

Luôn học và thực hành theo những hướng dẫn chuẩn mực

Bạn nên đi theo những cách làm tốt và tối ưu nhất trong quá trình phát triển ứng dụng của mình Best PracticesAndroid CodePath. Sau sẽ giúp cho bạn trong quá trình phát triển và maintenance sản phẩm, làm việc nhóm sẽ hiệu quả hơn là thay vì mỗi người tự làm theo các cách khác nhau.

Sử dụng những công cụ hữu ích

Tất cả chúng ta rất may mắn khi có mọi người xây dựng các công cụ để giúp những người khác, các công cụ đó giúp cho chúng ta phát triển nhanh hơn và giúp cuộc sống dễ dàng hơn (life easier).

  1. Library methods count. Đây là một thư viện khá tuyệt, giúp chúng ta tránh khỏi nỗi kinh hoàng 64k method limit .
  2. Gradle Please. Sử dụng Gradle để có thể tìm tất cả cá thư viện bạn cần và nó tương thích với Android Studio.
  3. Material Design Icons. Giúp chúng ta customize các icon theo xu hướng Material Design.
  4. Tham khảo thêm tại Useful Tools.

Đọc code

Là một trong những cách tốt nhất để bạn có thể học và thực hành. Bạn sẽ học được rất nhiều từ những ứng dụng open-source. Ví dụ như sử dụng mô hình MVP và MVVM, luôn được khuyến khích để sử dụng trong ứng dụng.

  1. Android app MVP Architechture. Một ví dụ về MVP sử dụng Dagger2, GreenDao, RxJava2, Fast-Android-Networking and PlaceholderView.
  2. Android app MVVM Architechture. Cũng như trên nhưng ví dụ về mô hình MVVM.
  3. Tham khảo thêm tại Open Sources Project.

Luôn luôn maintain chất lượng code

Không chỉ đơn giản là MVP, MVVM, MVC… mà là mỗi phần code trong các phần nhỏ của ứng dụng. Hãy để những developers giàu kinh nghiệm reviewed code cho bạn.

Phát hiện và sửa chữa vấn đề memory leak trong Android

Thi thoảng chúng ta thấy các Dialog của hệ thống, lag giật trong ứng dụng chúng ta cũng sẽ thấy lỗi OutOfMemoryError trong quá trình building apps. Do một số đối tượng không được giải phóng khi không cần sử dụng hoặc bị sinh ra quá nhiều sẽ dẫn đến hiện tượng Memory Leak. Tham khảo tại đây Detecting and Fixing Memory Leak in Android.

Để Handle một Memory Leak trong android ta cần phải tìm xem nguyên nhân từ đâu? Vậy đã có LeakCanary giải quyết được vấn đề này.

Học RxJava

Rxjava là Java VM được phát triển dựa trên Reactive Extensions. Và nó sẽ trở thành 1 trong những kỹ năng quan trọng để trở thành nhà phát triển ứng dụng Android. Chúng ta có thể đăng ký học trực tiếp tại Learn RxJava.

Sử dụng Dependency Injector

Đọc thêm tại đây

Học thêm Testing ứng dụng Android

  1. Android Testing Codelab.
  2. Automated Performance Testing.

Hiểu rõ hơn về Bitmaps

Bitmap sẽ lấy tương đối nhiều memory có thể dẫn đến việc xảy ra OutOfMemoryError. Tìm hiểu rõ hơn tại Android Bitmap.

Tìm hiểu các thư viện từ bên thứ 3 hoạt động như thế nào

Đừng đơn giản chỉ sử dụng các thư viện như load ảnh, load json… hãy tìm hiểu xem chúng hoạt động như thế nào để có thể chạy nuột như vậy. Tham khảo thêm về cách hoạt động của thư viện load ảnh Glide và thư viện Fresco tại Glide and Fresco Work

Hiểu sâu hơn về Context

Một trong những thành phần quan trọng nhất của Android. Tham khao thêm tại Android Context.

Bảo mật ứng dụng

Bảo mật ứng dụng vô cùng quan trọng, giúp bảo mật các thông tin cá nhân và dữ liệu nhạy cảm của người dùng tránh cho kẻ xấu trục lợi. Tham khảo các thủ thuật về bảo mật Security Tips.

Tối ưu dụng lượng của file APK

Ta có thể sử dụng các kỹ thuật như Split APK, Proguard, tối ưu các ảnh trong ứng dụng… Đọc thêm tại Reduce Apk Size.

Nắm bắt các thông số về App Performance

  1. Frames Per Second – Thông số khá quan trọng thể hiện các khung hình trên 1 giây, thông số càng cao thì các tác vụ, animation càng mượt mà.
  2. CPU
  3. Memory
  4. Network Traffic
  5. Disk
  6. Tìm hiểu thêm tại Perfomance Metrics

Sử dụng Git thành thạo

Tham khảo các thủ thuật về Git tại Git Tips.

Kotlin

Kotlin đang là xu hướng dành cho các nhà phát triển ứng dụng Android, tương lai sẽ thay thế dần ngôn ngữ Java.
Học thêm Kotlin tại Complete guide to learn Kotlin for android development.

Cuối Cùng

Bạn hãy bookmark lại bài viết này của mình và những thủ thuật ở phía trên. Chúc các bạn thành công, trở thành các Android Developer trong tương lai ^^. Cảm ơn bạn đã đọc và theo dõi bài viết, hãy upvote cho mình nếu bạn thích 😄.

Tham Khảo

https://medium.com/mindorks/how-to-become-a-complete-android-developer-110d7ef91f2a