J2ME CƠ BẢN: NGÀY ĐẦU HỌC VIỆC LẬP TRÌNH JAVA CHO MOBILE

Ngày đầu học lập trình Java cho mobile thực sự khó với những người không có sự cố gắng và đam mê. Nhưng đã có những người vượt qua khó khăn ấy để đến với thành công. Stanfor xin chia sẻ bài viết của một bạn cũng đã từng gặp khó khăn như các bạn. Hãy xem cách bạn ấy giải quyết khó khăn nhé.

Lập trình ứng dụng J2ME hay những người trong nghề hiểu đó là lập trình các ứng dụng chạy trên các thiết bị di động có nền tảng hỗ trợ JAVA.

Lập trình các ứng dụng trên mobile đã từ lâu thu hút coder lao vào viết code trong những ngày đầu công nghệ J2ME ra đời. Và tôi cũng là 1 trong số các coder đam mê lập trình Java và rất thích thú, tò mò công nghệ này. Đây là câu chuyện ngày đầu học "mót" lập trình J2ME mà tôi muốn chia sẻ với các bạn.

Tự tin với trình độ code J2SE đã đạt ngưỡng "code cứng", tôi vào làm trong một công ty mà thế mạnh là phát triển các dịch vụ và ứng dụng trên mobile. Tôi không biết tí gì về cái kỹ thuật nào được gọi là lập trình J2ME cả nhưng vẫn tự tin nộp hồ sợ phỏng vấn....cũng rất ngạc nhiên khi tôi được nhận vào làm. Trong một môi trường sáng tạo, có những con người ham học hỏi, đã kích thích tôi tìm hiểu về lập trình J2ME để được có được những cơ hội làm dự án về công nghệ này.


Đọc sách? Tìm nguồn tài liệu trên Internet? Tự học, tự nghiên cứu? Ban đầu tôi cũng đã thử những cách này và thấy rằng nó thật sự quá khó và quá lâu để giúp mình đạt được mục tiêu. Vào một ngày đẹp trời, anh CTO đến bên tôi và hỏi nhẹ nhàng: "Chú đang làm công việc gì đấy?" - Tôi trả lời: "Em đang nghiên cứu Mít-lét và đang gặp khó khăn không biết bắt đầu từ đâu". Sau câu hỏi đó, tôi đã có 1 buổi nói chuyện với anh CTO và anh đã giúp tôi giới hạn được mục tiêu và tiếp cận J2ME có phương pháp để đạt được mục đích của tôi trong thời gian ngắn nhất, đó chính là....hỏi các anh em đã có kinh nghiệm về J2ME.

Công việc của tôi trong những ngày đầu khá nhàn, ngồi test game, chơi thử game, và học các khái niệm về công nghệ khá mới mẻ đối với tôi, tôi chưa dám code vì thực sự trong đầu tôi chưa có chút gì về J2ME cả.

Những ngày ngồi test game rất nhàm chán nhưng tôi lại rất thích thú và nghiêm túc khi thực hiện công việc này và gửi feedback lại cho anh ấy khi game bị lỗi và giúp tôi hiểu rõ nguồn gốc các bug cũng như cách xử lý chúng.

Thật ngạc nhiên, sau 2 ngày chỉ ngồi test game tôi về nhà đọc lại trong cuốn ebook đã lựa trước đó để tìm hiểu về J2ME và thấy rằng trong 2 ngày vừa qua tôi đã học được rất nhiều thứ mà nếu học trong ebook phải mất 1-2 tuần.

Tôi bắt đầu lên kế hoạch và thực hiện nó, bập bẹ viết những dòng code J2ME đầu tiên.

I. J2ME là gì?

J2ME (Java 2 Micro Edition) được phát triển trên 1 phiên bản Java đó là J2SE (Java 2 Standard Edition) nhưng nó lược bỏ đi khá nhiều các framework cũng như API để phù hợp với bộ nhớ cũng như tốc độ xử lý của các thiết bị di động (rất nhỏ và yếu) và thường chạy trên Java 1.5


Java editions


J2ME được thiết kế dành cho các thiết bị tiêu dùng với công suất hạn chế (TV, máy in, thiết bị điện tử,...). Nhiều thiết bị  không có tùy chọn để tải về và cài đặt phần mềm ngoài những gì đã được cấu hình trong quá trình sản xuất. Bên cạnh đó cũng có các thiết bị J2ME (feature phone) đủ khả năng để duyệt web, tải về - cài đặt các ứng dụng Java.


II. Những hệ điều hành hỗ trợ J2ME




III. Ưu điểm và nhược điểm của J2ME

1. Nhược điểm:

  • Ứng dụng Midlet sẽ không tác động được lên các ứng dụng khác trên cùng 1 thiết bị hoặc hệ điều hành của nó. 
  • Không giống như J2SE, J2ME không có command-prompt. 
  • Một ứng dụng Midlet được kiểm soát bởi Application Management Software(AMS). 
  • AMS tương tác với các hoạt động của một ứng dụng Midlet và kiểm soát vòng đời của nó. Nó có trách nhiệm bắt đầu, xử lý, dừng và hủy các midlets của ứng dụng khi chạy. 
  • Nó có bộ nhớ rất hạn chế, vì vậy tốc độ xử lý tương đối chậm. 
  • Ứng dụng J2SE sử dụng cấu trúc Data Persistence, J2ME lưu dữ liệu thông qua hệ thống quản lý các bản ghi RMS, thao tác duy nhất trên các mảng byte. 
  • Thiết bị J2ME không hỗ trợ bàn phím đầy đủ cho các phím ký tự đặc biết và số.
  • Đồ họa không được đẹp, trải nghiệm người dùng kém.
  • Thời gian, chi phí thiết kế giao diện khá tốn kém.
  • Core API(s) đã cũ so với chuẩn của các công nghệ hiện tại.

2. Ưu điểm:
  • Cho phép phát triển các ứng dụng portable.
  • Cộng đồng developer lớn.
  • Có thể cung cấp được các nội dung động, trong khi WAP chỉ cung cấp các nội dung tĩnh.
  • Rich Client Application.
  • Tính thống nhất của các ứng dụng trên các nền tảng.
  • Tái sử dụng mã nguồn.

IV. Có thể làm được những gì với J2ME?

Việc học lập trình J2ME có lợi ích trước tiên đó là giúp bạn không bị thất nghiệp, trong khi mọi người đổ xô đi học làm web để join vào những dự án outsource rẻ mạt thì bạn có thể chủ động sáng tạo và hình thành tư duy kinh doanh với những sản phẩm mà mình làm ra. Nếu bạn đam mê viết ứng dụng, nó có thể giúp bạn thực hiện những ý tưởng cho công cụ, ứng dụng trên thiết bị di động của bạn. Nếu bạn đam mê viết Game, nó hoàn toàn có thể hỗ trợ bạn phát triển những game 2D, 3D trên các thiết bị di động với độ phân giải khác nhau.




Với bài viết này, tôi đã cung cấp cho các bạn những thông tin cần thiết nhất và đầy đủ nhất về J2ME trước khi chúng ta bắt tay nghiên cứu chuyên sâu về nó. J2ME là gì? Có khả năng làm được những gì? Các Hệ Điều Hành hỗ trợ....để giúp các bạn định hình và tạo bước đệm cho các bài tiếp theo.

Đây là câu chuyện và cũng là kinh nghiệm cá nhân của tôi trong quá trình tìm hiểu và thành công trên nền tảng công nghệ này.

Hy vọng các bạn thu được những thông tin bổ ích và chuẩn bị tinh thần đón chờ bài viết tiếp theo về J2ME.

Bạn đã tìm được cách vượt qua khó khăn khi tiếp thu kiến thức về lập trình Java cho mobile chưa? Nếu còn khó khăn gì chưa giải quyết được hãy liên hệ với Stanford qua số hotline: (04) 6275.2212 - 0936.172.315 - 0963.723.236 để được gọi lại tư vấn miễn phí.

Stanford hân hạnh được đồng hành cùng bạn!


Tags: