THẾ NÀO LÀ MỘT MOBILE APP DEVELOPER

Chắn hẳn các bạn vẫn còn nhớ đến anh Nguyễn Hà Đông, chủ nhân của trò chơi trên điện thoại thông minh nổi tiếng toàn cầu Flappy Bird ra đời vào năm 2014. Đến hiện tại, Grab, Go-Viet hay Now đều đã và đang thay đổi thói quen của người dùng với việc sử dụng ứng dụng di động.

Có thể nhìn thấy, Mobile App Developer đang là nghề thu hút đông đảo người trẻ với nhiều cơ hội việc làm hấp dẫn. Vậy như thế nào là một Mobile App Developer? Bài viết dưới đây sẽ giúp bạn có cái nhìn tổng quát về công việc này.

1. Câu hỏi đầu tiên đặt ra, Mobile App Development và Mobile App Developer là gì?

mobile-app

Mobile App Development là lập trình để phát triển ứng dụng di động. Các phần mềm ứng dụng này được người dùng mua thông qua các “cửa hàng ứng dụng” như Google Play, App Store, CH Play,… Công việc chủ yếu là thiết kế và xây dựng các ứng dụng chạy trực tiếp trên thiết bị di động như điện thoại thông minh, máy tính bảng,.. Người thực hiện công việc trên được gọi là Mobile App Developer (Chuyên viên phát triển Ứng dụng di động). Điều quan trọng ở các nhà lập trình không chỉ cần kỹ năng cứng về lập trình, mà còn phải hiểu được nhu cầu, thị hiếu khách hàng.

Hiện nay, 3 hệ điều hành phổ biến nhất lần lượt là Android, iOS, Windows Phone. Bên cạnh đó là một số hệ điều hành khác như BlackBerry,…Ngôn ngữ lập trình chủ yếu khi làm ứng dụng di động là Java, Swift và Objective-C.

1.1 Android

Ứ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. Mảng Android cũng chiếm lượng lớn trong các bài đăng tuyển dụng gần đây. Tuy vậy, Android cũng có điểm khó cho lập trình viên. Đó là có quá nhiều device với đủ kích cỡ màn hình, cùng với vô số phiên bản. Điều này gây khá nhiều khó khăn cho lập trình viên khi viết ap. Cần phải test nhiều loại, đảm bảo ứng dụng tương thích với nhiều device, không bị lỗi giao diện,…

1.2 iOS

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 một chút. Lý do không phải vì iOS tốt hơn Android. Mà có thể là do 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. Ứ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.

1.3 Windows Phone

Windows Phone đã chậm chân khi gia nhập thị trường di động, nơi Android và iOS đã xuất hiện khá lâu. Mặc dù Microsoft đã có một số chính sách hỗ trợ developer, hệ thống ứng dụng trên Window App Store vẫn còn khá nghèo nàn. 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.

2. Một số hướng đi chính để phát triển ứng dụng di động?

mobile-app

Theo một số thông tin, thời điểm hiện tại, có 3 hướng đi chính cho phát triển ứng dụng di động, đó là: Web App, Native App và Hybrid App.

2.1 Web App (Ứng dụng Web)

Web App là ứng dụng chạy trên nền web. Chúng được viết bằng các ngôn ngữ web như HTML5, CSS, javascript hoặc jQuery Mobile. Về cơ bản là website với giao diện giống như app và nội dung được load từ web. Ứng dụng web dễ hình dung nhất là m.facebook.com. Web App thường được áp dụng khi đã có sẵn một website đang hoạt động và cần tạo thêm trang web riêng cho mobile. Người tạo có thể sử dụng HTML, CSS, một số framework hỗ trợ mobile và responsive (Bootstrap, jQuery Mobile, Materialize).

2.2 Native App (Ứng dụng gốc)

Native App là hướng phát triển tiềm năng. Điển hình là game Flappy Bird, đòi hỏi sự xử lý tinh vi, tính toán, hack não rất nhiều. Native App là những ứng dụng được viết riêng cho một loại nền tảng như iOS, Android, Windows Phone. Chúng được viết bằng các ngôn ngữ tương ứng của mỗi nền tảng đó, ví dụ Java trên Android, Object C trên iOS, C# trên winphone. Mỗi Native App chỉ chạy được trên một nền tảng và không thể mang sang các nền tảng khác. Đa phần các game mobile hiện nay là Native App.

Viết Native App nghĩa là lập trình viên sẽ sử dụng IDE và SDK mà nhà sản xuất cung cấp để lập trình ra một ứng dụng. Trong đó, IDE (Integrated Development Environment – Môi trường phát triển tích hợp) là một phần mềm bao gồm những gói phần mềm khác giúp phát triển ứng dụng phần mềm. SDK (Software Development Kit) là một tập hợp công cụ hỗ trợ cho việc phát triển phần mềm thông qua một nền tảng nào đó.

2.3 Hybrid App (Ứng dụng lai)

Hybrid App là ứng dụng kết hợp những ưu điểm của cả Mobile Web App và Native App. Theo đó, các phần cơ bản của ứng dụng vẫn viết bằng ngôn ngữ web. Nhưng chúng được đặt trong native container, nên vẫn có thể dưa lên kho tải. Hybrid App được xây dựng bằng HTML, CSS, Javascript, chạy trên WebView của mobile. Đồng thời Hybrid App vẫn có thể tận dụng những tính năng của thiết bị như: chụp hình, GPS, rung, ….

3. Kĩ năng cần có ở một Mobile App Developer?

mobile-app

Bên cạnh những kỹ năng về mặt kỹ thuật, chuyên viên phát triển ứng dụng di động đòi hỏi phải có một số kỹ năng mềm. Ví dụ như kỹ năng giao tiếp để có thể trao đổi hiểu được nhu cầu khách hàng. Hay kỹ năng làm việc nhóm, khả năng quản lý thời gian, công việc hợp lí. Đặc biệt đòi hỏi cao sự sáng tạo, linh hoạt, nhạy bén, thích nghi và thường xuyên cập nhật những xu hướng của thế giới hiện đại.

Điều quan trọng không thể thiếu ở một Mobile App Developer là sự đam mê, kiên trì học tập. Bởi vì những gì ta biết chưa bao giờ là đủ, nên ta phải thường xuyên học hỏi thêm nữa.

4. Cơ hội nghề nghiệp trong lĩnh vực Mobile App Development?

mobile-app

Lập trình viên di động có thể làm thuê cho công ty phần mềm, các agencies. Cứng cáp hơn, bạn có thể hoạt động tự do, tự hình thành ý tưởng và xây dựng app, sau đó bán kiếm tiền. Một số vị trí thăng tiến dần khi bạn bước vào con đường này:

– Chuyên viên Phát triển Ứng dụng

– Chuyên viên Phát triển Ứng dụng cấp cao

– Quản lý dự án Phát triển Ứng dụng

Với một công việc đòi hỏi nhiều kỹ năng chuyên nghiệp và đang được nhiều nhà tuyển dụng săn lùng thì một chuyên viên Phát triển ứng dụng có thể kiếm được nguồn thu nhập mà nhiều người phải mơ ước.

Có thể bạn muốn đọc
Thủ thuật kiểm tra mạng WiFi có bị “câu trộm” hay không nổi bật tuần qua

Thủ thuật kiểm tra mạng WiFi có đang bị “câu trộm” không; mẹo khôi phục giao diện Facebook trở về như cũ; ứng dụng biến smartphone thành hệ thống âm thanh “đỉnh”… là những thủ thuật nổi bật tuần qua.

PHP chạy như nào? Từ Source code đến render

Khi chúng ta chạy một đoạn code PHP, có rất nhiều thứ xảy ra sâu bên dưới mà ta không nhìn thấy. Một cách khái quát, bộ thông dịch PHP trải qua 4 giai đoạn khi nó thực thi 1 đoạn code:

Cảnh giới lập trình

Mới bước vào ngành CNTT và lập trình thì ai ai cũng phải “nhập môn”, làm quen. Vì vậy mà nhiều khi code rất là trẻ trâu. Code đọc khó hiểu, tệ hơn là thụt dòng loạn xạ không có quy tắc.

Với 5 mẹo này sẽ giúp bạn cải thiện được khả năng lập trình logic

Hãy luôn ghi nhớ rằng bạn đang trong quá trình học hỏi và cải thiện trình độ của mình. Mọi thứ bạn làm sẽ hơi chậm, nhưng tiến trình sẽ được cải thiện. Não bộ của bạn sẽ được “đào tạo” bài bản để tìm câu trả lời cho các câu hỏi khác nhau.

[Lập trình] Cách học lập trình nhanh hơn

Học lập trình không phải là chuyện mà ta có thể làm trong một sớm, một chiều, nhưng nó không phải là quá khó khăn. Có rất nhiều điều bạn có thể làm cho nó dễ dàng hơn khi bạn học lập trình. Bài viết sau đây được tham khảo từ trang web cprogramming.com sẽ có thể giúp ích cho chúng ta khám phá được những bí quyết để học lập trình tốt hơn và nhanh hơn.

Thủ thuật tìm kiếm trên Google

Trong quá trình làm việc và giảng dạy của mình, tôi nhận thấy hầu hết các bạn đang còn thiếu một kỹ năng rất quan trọng trong thời đại thông tin số bùng nổ như hiện nay, đó chính là kỹ năng ứng dụng các thủ thuật tìm kiếm trên Google. Hiện nay Google đang chiếm khoảng ~85% lượng người dùng tìm kiếm thông tin trên toàn thế giới (*), có khoảng ~95% người dùng tìm kiếm trên Google ở Việt Nam (**). Những con số trên cho ta thấy sự bành trướng của gã khổng lồ Google, ta cũng không thể phủ nhận những tiện ích, thông tin mà Google mang lại cho chúng ta. – Nếu bạn là học sinh, sinh viên: hàng ngày bạn phải dùng Google để tìm kiếm thông tin phục vụ cho quá trình học tập của mình. – Nếu bạn là người đi làm: hàng ngày bạn dùng Google để tìm kiếm thông tin đối tác, khách hàng… – Nếu bạn là dân SEO: hàng ngày bạn dùng Google để tìm website để building link, tìm tài liệu… – Dù bạn là ai thì tôi chắc chắn bạn đã dùng Google để tìm kiếm thông tin (nhất là khi bạn đang đọc bài viết này bằng các tìm kiếm trên Google).