Java Platform, Micro Edition
Java Platform, Micro Edition (Java ME, раніше — Java 2 Micro Edition, J2ME) — підмножина платформи Java для пристроїв, з обмеженими ресурсами, наприклад: стільникових телефонів, кишенькових комп'ютерів, ресиверів цифрового телебачення, програвачів дисків Blu-ray тощо.
Історія
ред.Java ME розроблена під керівництвом Sun Microsystems і є заміною схожої технології — PersonalJava. Спочатку специфікація розроблялася в рамках JCP (Java Community Process) як JSR 68 [Архівовано 15 жовтня 2002 у Wayback Machine.]. Пізніше її варіанти розвинулися в окремі JSR. Sun надає зразок реалізації (англ. reference implementation) специфікації, але спочатку не надавала безплатної реалізації середовища виконання (англ. runtime environment) Java ME для мобільних пристроїв. 22 грудня 2006 початковий код Java ME був випущений під ліцензією GNU General Public License, проєкт отримав назву phoneME[3].
Особливості
ред.Відмінними особливостями пристроїв з обмеженими ресурсами є обмежена обчислювальна потужність, обмежений обсяг пам'яті, малий розмір дисплея, живлення від портативної батареї, а також низькошвидкісні і недостатньо надійні комунікаційні можливості. Типовий мобільний телефон містить всередині 32-розрядний RISC-процесор з тактовою частотою 150-250 МГц, має об'єм оперативної пам'яті близько 1-2 Мб, кольоровий дисплей розміром 2 дюйми і має можливість з'єднання з інтернетом за допомогою GPRS або EDGE зі швидкістю до 474 кбіт/с, яке при цьому фундаментально ненадійно, оскільки швидкість передачі даних може несподівано впасти, або з'єднання може бути взагалі повністю втрачено.
Java ME специфікує дві базові конфігурації, які визначають вимоги до віртуальної машини (обмеження набору допустимих інструкцій тощо), а також мінімальний набір базових класів: CLDC (Connected Limited Device Configuration - конфігурація пристрою з обмеженими ресурсами та комунікаційними можливостями) та CDC (Connected Device Configuration - конфігурація пристрою з нормальними ресурсами та комунікаційними можливостями).
Java ME також визначає кілька так званих профілів (англ. profiles), які доповнюють і розширюють згадані вище конфігурації, зокрема визначають модель програми, можливості графічного інтерфейсу, а також комунікаційні функції (наприклад доступ до Інтернету) тощо.
В даний час найпоширенішою конфігурацією є CLDC, для якої розроблений профіль MIDP (Mobile Information Device Profile - профіль для мобільного пристрою з інформаційними функціями). Програми, написані для цього профілю, називаються мідлети (англ. MIDlet). Іншим популярним профілем для CLDC є DoJa, розроблений фірмою NTT DoCoMo для її власного сервісу iMode. iMode вельми поширений в Японії, і в меншій мірі в Європі і на Далекому Сході.
Конфігурація CLDC успішно використовується в більшості сучасних мобільних телефонів і портативних органайзерів. За даними компанії Sun Microsystems до кінця 2004 у світі було випущено понад 579 мільйонів мобільних пристроїв з підтримкою цієї конфігурації Java. Це робить Java ME панівною технологією Java у світі. Обсяги виробництва мобільних телефонів значно перевищують кількість інших комп'ютерних пристроїв, здатних виконувати програми на Java (наприклад, персональних комп'ютерів).
Емулятори
ред.Для емуляції J2ME було створено десятки J2ME-емуляторів, у тому числі компанія Sun (згодом Oracle) та розробники мобільних телефонів (такими як Nokia, Sony Ericsson, Siemens, і т.д.) надавали емулятори у комплекті з SDK для розробників мобільних застосунків[4].
MicroEmulator
ред.MicroEmulator[en] — вільний J2ME-емулятор для комп'ютерів та інших пристроїв зі встановленим виконуваним середовищем Java Runtime Environment, а також аплет для запуску J2ME застосунків на вебсайтах[5][6][7].
Одним з практичних застосувань MicroEMU було використання браузера Opera Mini на малопотужних нетбуках та комп'ютерах в Інтернет-мережах із низькою швидкістю пересилання даних[8][9][10][11]. Компанія Opera Software також розмістила аплет MicroEMU на офіційному сайті, який дозволяв запускати Opera Mini безпосередньо у веб-браузері[12].
Станом на 2013, розроблялася версія MicroEmulator 3.0.0, але після 2014 проєкт був придбаний і поглинутий компанією "All My Web Needs"[13]. Код бета версії 3.0.0 та попередніх версій залишився вільним[14][15][16].
Цікаві факти
ред.- Cibyl — середовище розробки та транслятор коду на мові програмування C у виконуваний байт-код Java для J2ME[17][18][19][20][21], з допомогою якого було успішно портовано емулятор Commodore 64 й ігровий рушій Sierra Adventure Game Interpreter[en], а також частково портовано інтерпритатор ScummVM[en][22][23].
- Для J2ME було створено кілька інтерпритаторів інших мов програування: Hecl (Tcl)[24], Mobile BASIC[en], MIDletPascal[25][26], Alchemy OS[27], OpenTTY[28] (емулятор термінала з підтримкю Shell скриптів[en]). Окрім інтерпритаторів було створено і середовища розробки, зокрема було портовано Jasmine та компілятор Janino[29], які дозволяли створювати програми як на мові Java (Java ME), так і на інших мовах програмування безпосередньо на телефоні[30].
Див. також
ред.Джерела
ред.- Li, Sing; Knudsen, Jonathan (2005). Beginning J2ME: From Novice to Professional (англ.) (вид. Third). Apress. ISBN 1-59059-479-7.
Примітки
ред.- ↑ The WikipediaMobileJ2ME Open Source Project on Open Hub. openhub.net. Процитовано 23 липня 2024.
- ↑ ehonour-openpath (10 грудня 2022), ehonour-openpath/WikipediaMobileJ2ME, процитовано 23 липня 2024
- ↑ Подробиці про phoneME дивись на сторінці проєкту [Архівовано 10 червня 2007 у Wayback Machine.]
- ↑ JAVA ME SDK DOWNLOAD. Oracle (англ.). Процитовано 21 липня 2024.
- ↑ rhnvrm (7 лютого 2017). Working with J2ME on Linux in 2017. ~/rhnvrm (амер.). Процитовано 23 липня 2024.
- ↑ Skinning the MicroEmulator. petitpub.com. Процитовано 23 липня 2024.
- ↑ A tutorial about MicroEmulator, a java applet to demonstrate midlets. Installing MicroEmulator as an application. Includes examples. mobilefish.com (англ.). Процитовано 21 липня 2024.
- ↑ Dube, Ryan (13 липня 2011). How To Use Microemulator To Use The Internet From Low-Bandwidth Rural Areas [Windows]. MUO (англ.). Процитовано 23 липня 2024.
- ↑ Installing Opera Mini emulator locally. sharovatov.github.io. Процитовано 23 липня 2024.
- ↑ Bovens, Andreas (16 вересня 2009). Opera Mini 5 Beta Is Out. Dev.Opera (англ.). Архів оригіналу за 11 листопада 2023. Процитовано 23 липня 2024.
- ↑ Настройка GPRS и установка Оперы Мини на Eee PC. Хабр (рос.). 2 лютого 2009. Процитовано 23 липня 2024.
- ↑ Opera Mini simulator. Opera Software (англ.). Архів оригіналу за 23 лютого 2013. Процитовано 23 липня 2024.
- ↑ MicroEMU | Acquired by All My Web Needs. microemu.org. Процитовано 23 липня 2024.
- ↑ Index of /microemulator/download. snapshot.microemu.org (англ.). 19 січня 2013. Архів оригіналу за 17 жовтня 2013. Процитовано 23 липня 2024.
- ↑ microemu. code.google.com (англ.). Процитовано 23 липня 2024.
MicroEmu is a pure Java implementation of Java ME.
- ↑ MicroEmulator. SourceForge (англ.). 26 квітня 2013. Процитовано 23 липня 2024.
- ↑ Tolksdorf, Robert (8 листопада 2009). Cibyl – Programming languages for the Java Virtual Machine JVM and Javascript (брит.). Процитовано 9 вересня 2024.
- ↑ Kågström, Simon (5 вересня 2024), SimonKagstrom/cibyl, процитовано 9 вересня 2024
- ↑ Kågström, Simon; Grahn, Håkan; Lundberg, Lars (13 червня 2007). Cibyl: an environment for language diversity on mobile devices (англ.). ACM. с. 75—82. doi:10.1145/1254810.1254821. ISBN 978-1-59593-630-1. Процитовано 9 вересня 2024.
- ↑ Kågström Simon. Optimizations in the Cibyl binary translator for J2ME devices (PDF).
- ↑ From C Source to Java Bytecode?. Stack Overflow (англ.). Процитовано 9 вересня 2024.
- ↑ The Official Frodo Home Page. frodo.cebix.net. Процитовано 9 вересня 2024.
- ↑ cibyl. code.google.com. Процитовано 9 вересня 2024.
Cibyl is a programming environment and binary translator that allows compiled C programs to execute on J2ME-capable phones.
- ↑ Hecl - The Mobile Scripting Language. hecl.org. Процитовано 9 вересня 2024.
- ↑ MIDletPascal at SourceForge.net. midletpascal.sourceforge.net. Процитовано 9 вересня 2024.
- ↑ Pascal Game Development - MIDletPascal 3.2 Alpha Released. www.pascalgamedevelopment.com. Процитовано 9 вересня 2024.
- ↑ Home - Alchemy OS. alchemy-os.sourceforge.net. Процитовано 9 вересня 2024.
- ↑ Lima, Mr (7 вересня 2024), mrlima4095/OpenTTY-J2ME, процитовано 9 вересня 2024
- ↑ Janino -- an Embedded Java[TM] Compiler. www.janino.net. Процитовано 9 вересня 2024.
- ↑ Мельник, Віктор. Рассвет и закат мобильного программирования [Світанок та захід мобільного програмування]. annimon.com (рос.). Melnyk Software.
Посилання
ред.- Sun Developer Network, Java ME [Архівовано 11 березня 2010 у Wayback Machine.]
- J2ME Game Developer Network [Архівовано 24 травня 2017 у Wayback Machine.]
- Hecl and Java ME
- Java 2 Micro Editon на сайті Університету штату Каліфорнія в Сан-Хосе
- Java by aNNiMON