Lập trình ứng dụng Android nên sử dụng ngôn ngữ lập trình nào?

Không thể phủ nhận rằng nền tảng thiết bị di động đang ngày càng đóng một vai trò quan trọng trong cuộc sống của chúng ta. Dù chỉ để giải trí 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. Vậy bạn nên sử dụng ngôn ngữ lập trình nào để lập trình ứng dụng Android



Java là ngôn ngữ chính thức để phát triển Android. 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. 

Java

Năm 1995, Sun Microsystems phát hành ngôn ngữ lập trình đầu tiên Java. Bạn có thể tìm kiếm nó ở bất cứ đâu trên các thiết bị điện thoại thông minh hoặc các 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. Máy ảo được tích hợp trong Android sẽ thực thi nhiệm vụ này. 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. 
Dưới đây là một ví dụ về code Java trông sẽ như thế nào. Ví dụ này sử dụng một vòng lặp lồng nhau để in ra các chuỗi dấu hoa thị có độ dài tăng dần:
for (int i = 0; i < 5; i++) {
  for (int j = 0; j <= i; j++) {
    System.out.print("*");
  }
  System.out.println();
}
Đây là một ví dụ rất đơn giản và code thực sự cho một ứng dụng trên thực tế phức tạp hơn nhiều.
Có rất nhiều hướng dẫn học lập trình Java trực tuyến. Dưới đây là một số tài liệu từ hãng Oracle:
  • Getting Started - Giới thiệu về công nghệ Java cùng các bài học về cách cài đặt phần mềm phát triển Java và sử dụng nó để tạo ra một chương trình đơn giản.
  • Learning the Java Language - Các bài học mô tả các khái niệm và tính năng cơ bản của ngôn ngữ lập trình Java.
  • Essential Java Classes - Những bài học về exceptions, input/output cơ bản, concurrency, regular expressions, và môi trường nền tảng phát triển.
Bạn có thể cũng muốn xem các hướng dẫn sau đây:
  • Tutorials Point – Java Tutorial
  • Introduction to Programming Using Java
Một khi bạn đã học Java, bước tiếp theo là tìm hiểu làm thế nào sử dụng Java để tạo ra các ứng dụng Android. Để làm điều đó bạn sẽ cần đến Android Software Development Kit (SDK). Android SDK cung cấp tất cả các thư viện API và các công cụ bạn cần để xây dựng một ứng dụng Android.
Việc phát triển một ứng dụng Android cần nhiều kiến thức ngoài Java, bạn cần phải hiểu cách giao diện người dùng Android được xây dựng (sử dụng XML), và làm thế nào để truy cập vào các hệ thống con Android khác nhau. Google có một loạt các hướng dẫn về phát triển Android. Getting Started tutorial sẽ chỉ cho bạn những yếu tố cần thiết nhất của phát triển ứng dụng Android.

Phonegap

Học lập trình Android kiếm tiền có dễ không?
Nếu bạn đã biết HTML, CSS, và quan trọng nhất là Javascript, thì thay vì phải học Java 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.
Dưới đây là cách bạn xuất ra các chuỗi dấu hoa thị trên một trang web thông qua Javascript:
var i, j;
for (i = 1; i <= 5; i += 1) {
  s = '';
  for (j = 0; j < i; j += 1)
    s += '*';
  document.write(s + '<BR>');
}

Corona

Học lập trình Android bằng ngôn ngữ gì?
Trường hợp khác,nếu bạn không muốn sử dụng Java tì Corona SDK sẽ là một sừ lựa chọn thay thế hoàn hảo cho bạn. Corona là một SDK cao cấp được xây dựng trên ngôn ngữ lập trình LUA. LUA đưuọc ghi nhận dễ sử dụng 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.
Dưới đây là một đoạn code bằng ngôn ngữ LUA, nó có chức năng tương tự như đoạn code Java ở trên:
for i=1,5 do
  for j=1,i do
    io.write("*")
  end
  io.write("\n")
end
Dưới đây là chương trình 3 dòng code để hiển thị một hình nền và một dòng chữ lên màn hình:
local background = display.newImage( "myimage.jpg", display.contentCenterX, display.contentCenterY )
local myText = display.newText( "Hello, World!", display.contentCenterX,
                              display.contentWidth / 4, native.systemFont, 40 )
myText:setFillColor( 1, 110/255, 110/255 )
Dòng code đầu tiên để load hình nền, dòng code thứ hai để hiển thị dòng chữ "Hello, World!", và dòng code thứ ba để thiết lập màu của văn bản. Thật đơn giản phải không bạn.
Bộ emulator phức tạp của Corona 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.

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 để lập trình ứ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é!

Nguồn:https://techmaster.vn/posts/33851/lap-trinh-android-bang-ngon-ngu-lap-trinh-nao

Nhận xét

Đăng nhận xét

Bài đăng phổ biến từ blog này

[AUTOCAD 2008] Hướng dẫn cài đặt và crack autocad 2008 (kèm link download)

[PES 2014]Hướng dẫn download cài đặt, việt hóa, cập nhật thị trường chuyển nhượng mới nhất.

Tạo bộ nhớ đêm Cache cho Ổ cứng SSD bằng 2 bước đơn giản