J2ME
Bản mẫu:Infobox software platform
J2ME (viết tắt của Java Platform, Micro Edition) hay Java ME là một nền tảng máy tính để phát triển và triển khai mã nguồn di động cho hệ thống nhúng và thiết bị di động (vi điều khiển, cảm biến, cổng kết nối, điện thoại di động, trợ lý kỹ thuật số cá nhân, đầu thu truyền hình, máy in).[1] Java ME trước đây gọi là Java 2 Platform, Micro Edition hay J2ME.
Nền tảng này sử dụng ngôn ngữ lập trình hướng đối tượng Java và là một phần của nền tảng phần mềm Java. Nó được thiết kế bởi Sun Microsystems (nay là Oracle Corporation) và thay thế một công nghệ tương tự gọi là PersonalJava.
Năm 2013, với hơn ba tỷ điện thoại di động hỗ trợ Java ME trên thị trường,[2] nền tảng này tiếp tục suy giảm khi điện thoại thông minh đã vượt qua điện thoại phổ thông.[3]
Lịch sử
[sửa | sửa mã nguồn]Nền tảng này từng phổ biến trên các điện thoại phổ thông, chẳng hạn như các mẫu Series 40 của Nokia. Nó cũng được hỗ trợ trên hệ điều hành Bada và trên hệ điều hành Symbian cùng với phần mềm gốc. Người dùng Windows CE, Windows Mobile, Maemo, MeeGo và Android có thể tải xuống Java ME cho môi trường tương ứng của họ ("bằng chứng về khái niệm" cho Android).[4][5]
Ban đầu được phát triển theo Quy trình Cộng đồng Java với tên gọi JSR 68, các phiên bản khác nhau của Java ME đã phát triển trong các JSR riêng biệt. Các thiết bị Java ME triển khai một cấu hình. Phổ biến nhất trong số này là Cấu hình Thiết bị Thông tin Di động hướng đến các thiết bị di động như điện thoại di động và Cấu hình Cá nhân hướng đến các sản phẩm tiêu dùng và thiết bị nhúng như hộp giải mã tín hiệu và PDA. Các cấu hình là tập hợp con của các cấu hình, hiện có hai loại: Cấu hình Thiết bị Giới hạn Kết nối (CLDC) và Cấu hình Thiết bị Kết nối (CDC).[6]
Năm 2008, các nền tảng Java ME bị giới hạn ở các tính năng của máy ảo Java (JRE) 1.3 và sử dụng phiên bản định dạng tệp lớp đó (nội bộ gọi là phiên bản 47.0).
Triển khai
[sửa | sửa mã nguồn]
Oracle cung cấp một phiên bản tham chiếu của đặc tả kỹ thuật, cùng một số cấu hình và hồ sơ cho MIDP và CDC. Bắt đầu từ SDK JavaME 3.0, một IDE dựa trên NetBeans đã hỗ trợ chúng trong một IDE duy nhất.
Trái ngược với nhiều phiên bản nhị phân của Nền tảng Java do Sun xây dựng cho máy chủ và máy trạm, Sun thường không cung cấp các phiên bản nhị phân cho các nền tảng mục tiêu Java ME, mà thay vào đó dựa vào các bên thứ ba để cung cấp các phiên bản của riêng họ.
Ngoại lệ là JRE (JVM) MIDP 1.0 dành cho Palm OS.[7] Sun không cung cấp J2ME JRE cho các thiết bị dựa trên Microsoft Windows Mobile (Pocket PC), bất chấp chiến dịch gửi thư ngỏ tới Sun yêu cầu phát hành một phiên bản triển khai nội bộ được đồn đoán của PersonalJava được biết đến với tên mã là "Captain America".[8] Các triển khai của bên thứ ba được các nhà cung cấp Windows Mobile sử dụng rộng rãi.
Tại một thời điểm nào đó, Sun đã phát hành một triển khai tham chiếu hiện đã bị bỏ rơi với tên gọi phoneME.
Các hệ điều hành nhắm mục tiêu Java ME đã được DoCoMo triển khai dưới dạng DoJa, và bởi SavaJe dưới dạng SavaJe OS. Công ty sau này đã được Sun mua lại vào tháng 4 năm 2007 và hiện là nền tảng của JavaFX Mobile của Sun.
Mika VM mã nguồn mở nhằm mục đích triển khai JavaME CDC/FP, nhưng không được chứng nhận như vậy (các triển khai được chứng nhận yêu cầu phải tính phí bản quyền, điều này không thực tế đối với một dự án mã nguồn mở). Do đó, các thiết bị sử dụng triển khai này không được phép tuyên bố tương thích với JavaME CDC.
Hệ điều hành Android dựa trên Linux sử dụng một phiên bản Java độc quyền tương tự về mục đích, nhưng rất khác biệt ở nhiều khía cạnh so với Java ME.[9]
Giả lập
[sửa | sửa mã nguồn]- Sun Java Wireless Toolkit (WTK, viết tắt) — là trình giả lập Java ME độc quyền, ban đầu được cung cấp bởi Sun Microsystems, và sau đó là Oracle.
- MicroEmulator (MicroEMU, viết tắt) — là trình giả lập Java ME mã nguồn mở.
- J2ME Loader — trình giả lập Java ME mã nguồn mở dành cho Android.
- FreeJ2ME-plus — Một phiên bản phát triển từ FreeJ2ME, trình giả lập J2ME miễn phí, đa nền tảng với hỗ trợ giao diện người dùng Libretro và AWT.
Ngoài ra còn có các trình giả lập khác, bao gồm cả các trình giả lập được cung cấp như một phần của bộ công cụ phát triển bởi các nhà sản xuất điện thoại, chẳng hạn như Nokia, Sony Mobile, Siemens Mobile, v.v.
Tham khảo
[sửa | sửa mã nguồn]- ↑ "Java ME Overview". Oracle Corporation. Truy cập ngày 26 tháng 2 năm 2017.
- ↑ "Learn about Java Technology". Bản gốc lưu trữ ngày 8 tháng 3 năm 2013. Truy cập ngày 15 tháng 2 năm 2024.
- ↑ Farivar, Cyrus (ngày 14 tháng 8 năm 2013). "Smartphones outsell feature phones (again) for the first time, worldwide". Ars Technica. Truy cập ngày 15 tháng 3 năm 2024.
- ↑ phoneME for Windows CE, Windows Mobile and Android (development stopped in 2011-06-15) - in origin here
- ↑ "App Runner (development stopped in 2010-05-11)". Bản gốc lưu trữ ngày 3 tháng 1 năm 2012. Truy cập ngày 5 tháng 8 năm 2012.
- ↑ "Java ME Technology". java.sun.com (bằng tiếng Anh). Bản gốc lưu trữ ngày 1 tháng 6 năm 2010. Truy cập ngày 9 tháng 1 năm 2026.
- ↑ "MIDP for Palm OS 1.0: Developing Java Applications for Palm OS Devices". developers.sun.com (bằng tiếng Anh). Bản gốc lưu trữ ngày 26 tháng 6 năm 2012. Truy cập ngày 9 tháng 1 năm 2026.
- ↑ "CDC and Personal Profile - Open letter to SUN to produce a JRE for Pocket PC". forum.java.sun.com. Bản gốc lưu trữ ngày 3 tháng 6 năm 2008. Truy cập ngày 9 tháng 1 năm 2026.
- ↑ "Redirecting..." kevinboone.net. Truy cập ngày 9 tháng 1 năm 2026.
{{Chú thích web}}: Chú thích có tiêu đề chung (trợ giúp)
- Ghi chú
- JSR 232: Mobile Operational Management – một nền tảng dựa trên công nghệ OSGi tiên tiến dành cho điện toán di động
- JSR 291: Dynamic Component Support for Java SE – Mô hình lập trình đối xứng cho Java SE sang Java ME JSR 232
Thư mục
[sửa | sửa mã nguồn]- Ben Hayun, Roy (ngày 30 tháng 3 năm 2009). Java ME on Symbian OS: Inside the Smartphone Model (ấn bản thứ 1). Wiley. tr. 482. ISBN 978-0-470-74318-8.
- Knudsen, Jonathan (ngày 8 tháng 1 năm 2008). Kicking Butt with MIDP and MSA: Creating Great Mobile Applications (ấn bản thứ 1). Prentice Hall. tr. 432. ISBN 978-0-321-46342-5.
- Li, Sing; Knudsen, Jonathan (ngày 25 tháng 4 năm 2005). Beginning J2ME: From Novice to Professional (ấn bản thứ 3). Apress. tr. 480. ISBN 1-59059-479-7.
Liên kết ngoài
[sửa | sửa mã nguồn]- Sun Developer Network, Java ME
- Nokia's Developer Hub Java pages
- Nokia S60 Java Runtime blogs
- Sony Ericsson Developer World
- Motorola Developer Network Lưu trữ ngày 21 tháng 7 năm 2009 tại Wayback Machine
- J2ME Authoring Tool LMA Users Network
- Samsung Mobile Developer's site
- Sprint Application Developer's Website
- Performance database of Java ME compatible devices
- MicroEJ platforms for embedded systems
- Book - Mobile Phone Programming using Java ME (J2ME) Lưu trữ ngày 5 tháng 3 năm 2016 tại Wayback Machine
- Tutorial Master ng, J2ME