11/08/2018, 20:59

Tổng quan về lập trình ứng dụng di động – Phần 1

Trong khoảng thời gian gần đây, lập trình di động đang là một ngành hot. Các mẩu tin tuyển dụng gần nhất mình đọc thường tuyển Android developer, iOS developer, … với mức lương khá cao, không thua kém gì lập trình web hay lập trình hệ thống nhúng. Ngoài ra, nếu biết cách lập trình ứng dụng, ...

Trong khoảng thời gian gần đây, lập trình di động đang là một ngành hot. Các mẩu tin tuyển dụng gần nhất mình đọc thường tuyển Android developer, iOS developer, … với mức lương khá cao, không thua kém gì lập trình web hay lập trình hệ thống nhúng. Ngoài ra, nếu biết cách lập trình ứng dụng, bạn cũng có thể làm freelance, hoặc tự phát triển ứng dụng và kiếm tiền thông qua ứng dụng của mình.

Bài viết này sẽ giúp các bạn có cái nhìn tổng quan về thị trường ứng dụng di động hiện nay, cũng như giới thiệu một số ngôn ngữ/công nghệ các bạn cần biết nếu muốn đi theo con đường này.

mobile-app-developer

Thế chân vạc trong trận chiến Mobile

Trên thị trường ứng dụng di động hiện nay, 3 hệ điều hành chiếm thị phần cao nhất là : Android, iOS và Window phone, tiếp sau là 1 số hệ điều hành khác như BlackBerry… Trong phạm vi bài viết, mình chỉ phân tích về 3 OS đứng đầu là** Android, iOS Windows Phone** nhé.

chart-ww-smartphone-os-market-share

Thị phần trong thị trường di động của các hệ điều hành

Android – Kẻ chiếm miếng bánh lớn nhất

Theo biểu đồ, ta dễ nhận ra Android luôn chiếm hơn 70% thị phần của mảng di động. Ứng dụng Android được viết bằng ngôn ngữ Java, do đó các bạn lập trình viên Java có thể dễ dàng chuyển hướng qua mảng này.

Lập trình viên Android cũng đang là mục tiêu được các công ty săn đón. Các mẩu tin tuyển dụng Android developer chiếm tỉ trọng lớn nhất trong số các tin tuyển dụng của mảng mobile. Thuở còn làm đồ án tốt nghiệp, có 1 ông trong nhóm mình chưa biết gì về Android. Mình và ổng tự học và làm 2 tháng thực hiện đồ án, vừa xong đồ án thì ổng đi PV lập trình Android trong 1 công ty và được nhận luôn.

Android có quá nhiều device với đủ kích cỡ màn hình, cùng với vô số phiên bản (Từ 2.0 cho tới 4.4). Điều này gây khá nhiều khó khăn cho lập trình viên khi viết app : Cần phải test đủ thứ, đảm bảo ứng dụng tương thích với nhiều device, không bị lỗi giao diện, v…v.

Nếu bạn muốn đi theo con đường viết ứng dụng kiếm tiền, đưa ứng dụng lên Google Store, bạn sẽ phải mua 1 tài khoản Android Developer. Phí tài khoản này là 25$/năm.

android

iOS – Vị vua không ngai

Theo biểu đồ, iOS chỉ chiếm 20% thị phần, bằng 1/4 so với Android. Tuy nhiên nghe đồn là doanh thu của Apple Store lại cao hơn Google Play Store. Nguyên nhân là do người dùng iOS chơi sang hơn, chịu khó bỏ tiền mua ứng dụng hơn so với người dùng Android.

Số lượng tuyển dụng iOS ít hơn Android, tuy nhiên lương cho lập trình viên iOS lại nhỉnh hơn bên Android chút đỉnh. Lý do không phải vì iOS tốt hơn Android, mà chỉ đơn thuần là qui luật cung cầu: Lập trình viên iOS hiếm hơn lập trình viên Android nên họ có giá cao hơn.

Để tiếp cận iOS, bạn cần máy ảo hoặc máy Mac để cài hệ điều hành MacOS. Ứng dụng iOS được viết bằng ngôn ngữ Objective-C (Giống C nhưng có thêm OOP) hoặc Swift. Việc code và debug trên iOS phức tạp hơn Android. Bạn phải cài đặt Xcode, mua tài khoản Apple Developer mới có thể test ứng dụng và đưa ứng dụng lên Apple Store. Bộ phận kiểm duyệt của Apple Store cũng khắt khe hơn Google Play Store, nhiều khi bạn phải chờ khá lâu để ứng dụng của mình được duyệt.

Nếu làm ở công ty, bạn sẽ được cũng cấp tài khoản Apple Developer cũng như device để test. Nếu muốn tự viết, bạn sẽ phải tự trả 100$/năm cho tài khoản Apple Developer, và mất thêm 1 khoản kha khá để mua thiết bị (iPhone, iPad) về test.

ios

Windows Phone – Kẻ sinh sau đẻ muộn

Windows Phone đã chậm chân khi gia nhập thị trường di động, nơi Android và iOS đã làm mưa làm gió khá lâu. Mặc dù Microsoft đã có một số chính sách hỗ trợ devloper, hệ thống ứng dụng trên Window App Store vẫn còn khá nghèo nàn và nhàm chán (Mình tìm app Google Map mà còn không có).

Thú thật, mình chả thấy công ty nào tuyển lập trình viên Windows Phone cả. Hầu như các công ty đều o bế cho ứng dụng trên Android, iOS trước rồi mới đến Windows Phone. Vì Windows Phone được viết bằng ngôn ngữ C# kết hợp với XAML, các lập trình viên C# có thể thử sức ở mảng này.

Cá nhân mình từng code cả Android lẫn Windows Phone thì thấy Windows Phone dễ code hơn, debug nhanh và tiện hơn. Với Android, nếu không có device, ta phải debug trên máy ảo, chạy rất chậm… máy ảo của Window Phone lại rất mượt và nhanh.

Nếu muốn viết app kiếm tiền, mình nghỉ các bạn nên thử Window Phone, vì những lý do sau (Nhớ cầu trời sau này Window App Store có nhiều người dùng hơn nhé, hiện tại ít người dùng nên chắc khả năng thu tiền lại cũng không cao đâu):

  • Apple Store và Play Store đã có rất nhiều ứng dụng, tính cạnh tranh rất cao. Ngược lại, bạn ít khi gặp phải sự cạnh tranh trên Window Store.
  • Microsoft đưa ra khá nhiều chính sách hỗ trợ Windows Phone, có thể trong tương lai sẽ thu hút nhiều người dùng hơn.
  • Account Window Phone Developer có giá rất rẻ, chỉ có 19$ và dùng mãi mãi.

original

Ở phần 2, mình sẽ giới thiệu với các bạn những ngôn ngữ/framework dùng để viết 1 ứng dụng di động, cùng một số kĩ năng các bạn cần có nếu muốn theo con đường này, mong các bạn đón đọc.

Bản gốc: Blog Tôi đi code dạo.

0