Ngôn ngữ và môi trường lập trình trên hệ điều hành Android

Ngôn ngữ lập trình chính thức của Android là Java. Mặc dù các ứng dụng trên Android được phát triển dựa trên nền tảng Java, nhưng Android không hỗ J2ME và J2SE, là hai ngôn ngữ lập trình phổ dụng cho các thiết bị di động.

Dựa trên máy ảo Java của Sun, Google đã tinh chỉnh và phát triển nên máy ảo Dalvik để biên dịch mã Java với tốc độ biên dịch nhanh hơn và nhẹ hơn. Đến phiên bản Froyo 2.2, Android đã hỗ trợ Just-in-time Compiler (JIT) làm tăng tốc độ biên dịch Java lên gấp 2-5 lần so với các phiên bản trước.

Bằng cách sử dụng các frameworks của hãng thứ ba (VD: PhoneGap, Titanium,…), các nhà lập trình web cũng có thể phát triển ứng dụng Android một cách dễ dàng bằng các ngôn ngữ web phổ dụng như HTML, CSS, Javascript. Tuy nhiên số lượng các ứng dụng đi theo chiều hướng này chưa nhiều.

Ngoài ra các ứng dụng của Android sử dụng SQLite để quản lý cơ sở dữ liệu.

hoc-lap-trinh-game-android-1

Một số lưu ý

Vấn đề phân mảnh phiên bản Android trên thị trường:

Do Android là hệ điều hành mã nguồn mở và miễn phí, bất kỳ một nhà sản xuất phần cứng nào cũng có thể sử dụng và tùy biến Android để cài đặt trên các thiết bị của mình. Điều này dẫn đến vấn để phân mảnh (fragmentation) khi trên thị trường tồn tại nhiều mẫu điện thoại Android, mỗi mẫu chạy một phiên bản Android khác nhau. Đôi khi các phiên bản Android này còn khác nhau về giao diện hay chức năng, do các nhà sản xuất tự chế thêm vào mã nguồn của Android. Một ví dụ tiêu biểu chính là giao diện Sense UI của HTC.

Mặt khác, do việc cập nhật hệ điều hành phụ thuộc hoàn toàn vào các nhà sản xuất, thế nên sau khi Google công bố phiên bản Android mới , người sẽ buộc phải chờ khá lâu mới được cập nhật.

Do vấn đề phân mảnh này, trên thị trường một lúc tốn tại nhiều phiên bản Android khác nhau, và người phát triển ứng dụng Android buộc phải xem xét đến khả năng ứng dụng do mình viết ra có thể sẽ không chạy đuợc hay thiếu di một số chức năng quan trọng khi chaỵ trên các máy chạy phiên bản Android cũ. Một ví dụ tiêu biểu là ứng dụng chính thức của mạng xã hội Twitter chỉ có thể chạy trên phiên bản Android 2.1, tức có 1/2 thị trường người dùng điện thoại Android không thể sử dụng ứng dụng này.

Vấn đề kích thước màn hình

Một lần nữa, do trên thị trường có rất nhiều nhà sản xuất điện thoại Android, và mặc dù Google yêu cầu tất cả mọi điện thoại Android phải đáp ứng 1 số tiêu chí chung về phần cứng (màn hình cảm ứng, GPS, 3G,…), các nhà sản xuất hoàn toàn tự do quyết định kích cỡ và độ phân giải điện thoại.

Như vậy, các nhà phát triển ứng dụng Android phải chuẩn bị trước khả năng ứng dụng của mình sẽ chạy trên một loạt các kích cỡ màn hình lớn nhỏ khác nhau.

Môi trường lập trình cho Android

Android SDK bao gồm các công cụ riêng lẻ như: debugger, các thư viện, trình giả lập điện thoại Android, các tài liệu hỗ trợ và code mẫu. Hiện Android cung cấp bộ công cụ này trên nhiều nền tảng hệ điều hành khác nhau (Windows, Linux, Mac,…), miễn là có sẵn Java Development Kit, Apache Ant và Python2.2 trở lên.

Môi trường lập trình (IDE) chính thức của Android là Eclipse với sự hỗ trợ của plugin Android Development Tools (ADT). Tuy nhiên, người lập trình có thể sử dụng bất kỳ 1 IDE hay trình soạn thảo văn bản nào để viết code Java và XML rồi biên dịch nên ứng dụng hoàn chỉnh bằng cách sử dụng dòng lệnh (command lines).

Ứng dụng Android được đóng gói thành các file .apk và đuợc lưu trong thư mục /data/app của hệ điều hành Android.Java Development Kit (JDK) 5.0.

Một số công cụ hỗ trợ lập trình Android tiêu biểu:

SQLite Manager: Là một addon của Firefox giúp quản lí cơ sở dữ liệu SQLite của Android.

DroidDraw: Giúp thiết kế file XML giao diện ứng dụng.

Balsamiq Mockups và AdobeFireworks: Giúp nhanh chóng phác thảo ý tưởng và giao diện sơ bộ của ứng dụng.

StarUML: Vẽ các lược đồ UML hỗ trợ phân tích thiết kế.

Với những chia sẻ trên, các bạn đã hiểu hơn về ngôn ngữ và môi trường lập trình trên hệ điều hành Android chưa? Nếu  bạn muốn tự mình tạo ra những ứng dụng riêng của Android, hãy tham gia khóa học lập trình Android tại Stanford – dạy kinh nghiệm lập trình nhé!

Xem tại website: www.stanford.com.vn 

Add Comment