Bộ ngôn ngữ lập trình Android tốt nhất
Thậm chí nếu bạn không nghĩ rằng chúng ta đã hoàn toàn chuyển sang kỷ nguyên hậu PC, thì một điều rõ ràng là các nền tảng di động đang đóng một vai trò thiết yếu trong cuộc sống của chúng ta. Dù chỉ để cho vui hay để tạo ra lợi nhuận, việc phát triển ứng dụng Android có thể mang lại nhiều giá trị, cả về mặt cá nhân và tài chính. Giả sử bạn có đủ trình độ kỹ thuật để có thể tự phát triển các ứng dụng Android, thì ngôn ngữ lập trình nào bạn cần phải học?
Ngôn ngữ chính thức để phát triển Android là Java. Phần lớn Android được viết bằng Java và các hàm API của nó được thiết kế để được gọi chủ yếu từ Java. Bạn có thể phát triển ứng dụng C và C++ bằng cách sử dụng Android Native Development Kit (NDK), tuy nhiên Google không khuyến khích làm theo cách đó. Theo Google, “NDK sẽ không có lợi cho hầu hết các ứng dụng. Là một nhà phát triển, bạn cần phải cân bằng giữa các lợi ích và những hạn chế của nó. Đáng chú ý, việc sử dụng native code trên Android thường không mang lại sự cải thiện hiệu suất đáng kể, nhưng nó luôn luôn làm tăng tính phức tạp trong ứng dụng của bạn.”
Java
Java là một ngôn ngữ lập trình được phát hành đầu tiên bởi Sun Microsystems vào năm 1995. Nó có thể được tìm thấy trên nhiều loại thiết bị khác nhau từ điện thoại thông minh, cho đến máy tính lớn (mainframe). Bạn có thể sử dụng nó trên máy tính để bàn và thậm chí trên Raspberry Pi. Java không biên dịch tới native code mà nó dựa trên một “máy ảo” có thể hiểu một định dạng mã trung gian được gọi là Java bytecode. Mỗi nền tảng chạy Java cần một máy ảo (VM) để thực thi. Trên Android, máy ảo ban đầu được gọi là Dalvik. Google cũng đã bắt đầu xây dựng thế hệ máy ảo tiếp theo của họ gọi là ART. Công việc của những máy ảo này là để thông dịch mã bytecode, chúng thực ra cũng chỉ là một tập các lệnh tương tự như mã máy trong CPU, và thực hiện chương trình trên bộ vi xử lý. Các máy ảo sử dụng rất nhiều công nghệ khác nhau bao gồm just-in-time compilation (JIT) và ahead-of-time compilation (AOT) để tăng tốc độ các quá trình xử lý.Công việc của những máy ảo này là để thông dịch mã bytecode.
Điều này có nghĩa là bạn có thể phát triển ứng dụng Android trên các hệ điều hành Windows, Linux hoặc OS X và trình biên dịch Java sẽ chuyển mã nguồn đó thành mã bytecode. Chúng sẽ được thực thi trên máy ảo được tích hợp trong Android. Nó khác với mô hình được sử dụng bởi iOS trong đó sử dụng một trình biên dịch native để chuyển mã Objective-C thành mã máy ARM.
Corona
Nếu bạn không muốn học Java hoặc làm thế nào để thiết kế giao diện người dùng trong XML, thì vẫn có những sự lựa chọn thay thế. Một là sử dụng Corona SDK. Corona là một SDK cao cấp được xây dựng trên ngôn ngữ lập trình LUA. LUA thì dễ học hơn so với Java và bộ SDK này sẽ làm giảm thiểu những khó khăn trong việc phát triển ứng dụng Android. Một ứng dụng đơn giản hiển thị một hình nền mà bạn chọn và một dòng chữ trên màn hình có thể được viết chỉ trong 3 dòng code với Corona.
Corona bao gồm một bộ emulator phức tạp cho phép bạn chạy chương trình ngay lập tức mà không cần phải biên dịch code của bạn. Khi bạn muốn tạo một file .apk Android bạn tiến hành build thông qua các trình biên dịch trực tuyến của Corona và ứng dụng đó sẽ được lưu vào máy tính của bạn.
Corona được thiết kế chủ yếu dành cho việc làm game (nhưng không độc quyền) và nó bao gồm các thư viện cho sprites, âm thanh, game networking và một physics engine 2D. Hầu như mọi thứ trong Corona được hiển thị thông qua OpenGL. Điều này có nghĩa là bạn có thể tận dụng được khả năng đồ họa của GPU, ngoài ra ứng dụng mặc định là một blank canvas, vì vậy tất cả bạn cần làm là bắt đầu vẽ!
Corona cung cấp một bộ đầy đủ các hướng dẫn và tutorial cho người mới bắt đầu, bao gồm một tài liệu giới thiệu về Lua, và tài liệu Corona in 5 Minutes bao gồm một phần giới thiệu về physics engine 2D.
Bạn có thể tải miễn phí Corona về và sử dụng, nhưng nếu bạn muốn các tính năng như in-app purchasing hoặc khả năng gọi đến những hàm API Android native thì bạn cần phải trả một khoản phí thuê bao hàng tháng.
Phonegap
Nếu bạn đã biết HTML, CSS, và quan trọng nhất là Javascript, thì thay vì phải học Java hoặc LUA, bạn có thể xây dựng các ứng dụng Android sử dụng các kỹ năng bạn đã có. PhoneGap được dựa trên dự án Cordova của Apache. Về cơ bản nó tạo ra một webview mà bạn có thể thao tác sử dụng Javascript. Ứng dụng web có thể tương tác với các tính năng thiết bị khác nhau giống như một ứng dụng native, bằng cách tham chiếu tới file cordova.js để có được các API binding. Các chức năng native mà PhoneGap hỗ trợ bao gồm accelerometer, máy ảnh, vị trí hiện tại, lưu trữ nội bộ và nhiều thứ khác.
Những lựa chọn khác
Java, LUA và HTML/Javascript không phải là lựa chọn duy nhất để phát triển ứng dụng Android. Bạn có thể sử dụng Titanium, một nền tảng phát triển bằng Javascript khác, và Gamesalad, một mobile game creator cho phép bạn tạo ra các trò game trên di động mà không cần phải lập trình!
Nếu bạn có kinh nghiệm sử dụng bất kỳ nền tảng phát triển ứng dụng Android nào khác, hoặc nếu bạn muốn giới thiệu một nền tảng thú vị, thì hãy chia sẻ trong phần bình luận phía dưới nhé!
Khóa học chuyên nghiệp Lập trình Android:
Khóa học dành cho:
|