Tất tần tật về ngành lập trình di động

21-09-2020 23:10

Với sự tăng trưởng mạnh mẽ của thị trường smart phone, không chỉ các hãng sản xuất di động mà cả các nhà phân phối và những doanh nghiệp công nghệ khác cũng chen chân vào cuộc đua phát triển ứng dụng mobile để khai thác hết các tính năng của thiết bị di động đỉnh cao như: iPhone, iPad, Samsung Galaxy, Nokia Lumia, Blackberry, HTC, …Và Việt Nam cũng không nằm ngoài xu hướng này. Hãy cùng tìm hiểu về ngành lập trình di động để tìm ra sức hút của nó nhé:

1. Giới thiệu ngành lập trình di động

Lập trình ứng dụng di động là nghề sử dụng các ngôn ngữ lập trình (Java, C#, …) để viết và phát triển các phần mềm nhằm gia tăng tiện ích cho thiết bị di động, đặc biệt là di động sử dụng hệ điều hành...

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…

2. Xu hướng phát triển ứng dụng di động

2.1. Web App

Hướng Mobile Web thường được áp dụng khi các bạn đã có sẵn một website đang hoạt động. Ta sẽ tạo thêm 1 trang web riêng cho mobile, sử dụng HTML, CSS, một số framework hỗ trợ mobile và responsive (Bootstrap, jQuery Mobile, Materialize). Người dùng sẽ trang web dành cho mobile để dùng ứng dụng.

Ưu điểm

  • Chỉ cần có kiến thức về web là viết được
  • Viết một lần, chạy được trên mọi hệ điều hành
  • Người dùng không cần phải cài app, có thể vào thẳng trang web
  • Không cần phải thông qua App Store, tiết kiệm tiền
  • Dễ nâng cấp (Chỉ việc nâng cấp web là xong)

Nhược điểm

  • Với một số máy đời cũ, Web App sẽ bị bể giao diện, hiển thị sai, hoặc javascript không chạy.
  • Performance chậm
  • Không thể tận dụng được các tính năng của di động: Push notification, chụp hình, nghiêng máy, định vị GPS…

2.2. Native App

Viết Native App nghĩa là lập trình viên sẽ sử dụng IDE, SDK mà nhà sản xuất cung cấp để lập trình ra một ứng dụng, build ứng dụng đó thành file cài và gửi lên App Store để kiểm duyệt. Người dùng sẽ phải tìm ứng dụng trên App Store, tải về máy và chạy.

Đây là hướng phát triển được áp dụng nhiều nhất, điển hình là game Flappy Bird của Nguyễn Hà Đông. Với những ứng dụng game, xử lý ảnh, cần tính toán nhiều, Native App là lựa chọn duy nhất.

Ưu điểm

  • Tận dụng được toàn bộ những tính năng của device: Chụp ảnh, nghiêng máy, rung, GPS, notification.
  • Có thể chạy được offline.
  • Performance rất nhanh, vì code native sẽ được chạy trực tiếp.
  • Là lựa chọn duy nhất cho các ứng dụng game, xử lý hình ảnh hay video …

Khuyết điểm

  • Cần cài đặt nặng nề (Eclipse, XCode, Android SDK, …), khó tiếp cận.
  • Với mỗi hệ điều hành, ta phải viết một ứng dụng riêng. Khó đảm bảo sự đồng bộ giữa các ứng dụng (1 button trên Android sẽ khác 1 button trên iOS, pop cũng khác).
  • Cần phải submit app lên App Store, mỗi lần update phải thông báo người dùng.
  • Code mệt và lâu hơn so với Mobile Web.

2.3. Hybrid App

Hybrid App kết hợp những ưu điểm của Mobile Web và Native App. Ta xây dựng một ứng dụng bằng HTML, CSS, Javascript, chạy trên WebView của mobile. Tuy nhiên, Hybrid App vẫn có thể tận dụng những tính năng của device: chụp hình, GPS, rung, ….

Hybrid App sẽ được viết dựa trên một cross-platform framework: Cordova, Phonegap, Titanium, …. Ta sẽ gọi những chức năng của mobile thông qua API mà framework này cung cấp, dưới dạng Javascript. Bạn chỉ cần viết một lần, những framework này sẽ tự động dịch ứng dụng này ra các file cài đặt cho Android, iOS và Windows Phone.

Ưu điểm

  • Chỉ cần biết HTML, CSS, JS (Thế nên mình mới khuyên các bạn nên học Javascript).
  • Viết một lần, chạy được trên nhiều hệ điều hành
  • Tận dụng được các chức năng của device.

Khuyết điểm

  • Không ổn định, khó debug. Framework sẽ dịch code của bạn thành code native, việc sửa lỗi ứng dụng khá khó vì bạn không biết code sẽ được dịch ra như thế nào.
  • Performance chậm.
  • Cần cài đặt nhiều thứ (Titanium, Cordova đều bắt phải cài đặt SDK này nọ thì mới build ứng dụng được).

Nhu cầu nguồn nhân lực cho ngành này gia tăng cùng sự phát triển không ngừng của khoa học kỹ thuật, vậy nên nếu bạn có định hướng đi theo ngành này, hãy trang bị cho mình đầy đủ kiến thức và kỹ năng để có thể canh tranh với các đối thủ khác nhé.

 

-------------------------------------------------

Tham khảo thêm các khóa học lập trình của ITPlus Academy tại:

Lập trình nhúng với FPT SOFTWARE

trình Python & Odoo Framework với IziSolution

Khóa học thiết kế và lập trình web - PHP chuyên nghiệp

Lập trình ứng dụng di động Android

Khóa học lập trình Python

Khóa học Trí tuệ nhân tạo - Học máy cơ bản và ứng dụng

                                                                                                                                                                             Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề

1