Java applet
Java appletlari Java yoki boshqa Java baytkodiga kompilyatsiya qiluvchi dasturlash tilida yozilgan kichik ilovalar boʻlib, foydalanuvchi Java Appletni veb-sahifadan ishga tushirdi va ushbu applet ilovasi Java virtual mashinasida (JVM) veb-brauzerdan alohida ishga tushiriladi. Java applet veb-sahifaning oʻzida, yangi dastur oynasida, Sun AppletViewerda yoki appletlarni sinab koʻrish uchun moʻljallangan boshqa dasturiy vositalarda ishga tushirilishi mumkin.
Java appletlari 1995-yilda chiqarilgan Java dasutlash tilining birinchi versiyasidanoq tadqim etilgan. 2013-yildan boshlab yirik veb-brauzerlar Java appletlari ishlatadigan asosiy texnologiyalarni qoʻllab-quvvatlashni bosqichma-bosqich toʻxtata boshladilar[6] [7] [8] [9] [10].
Java appletlari odatda Java tilida yozilgan, ammo Jython, JRuby, Paskal[11], Scala, NetRexx yoki Eiffel kabi boshqa tillardan ham foydalanish mumkin.
Java appletlari juda yuqori tezlikda ishlaydi va 2011 yilgacha ular JavaScriptdan bir necha baravar tezroq ishlar edi. JavaScriptdan farqli ravishda, Java appletlari 3D apparat akseleratsiyasiga ega boʻlib, koʻplab hisob-kitoblarni talab qiladigan kompyuter vizualizatsiyasi uchun juda mos hisoblanadi. Brauzerlar kanvas texnologiyasi (yoki 3D grafiklar uchun WebGL) [12] [13] hamda just-in-time kompilyatorli JavaScript tufayli [14] ushbu ikki dasturlash tillari oʻrtasidagi tezliklar farqi deyarli bilinmay qoldi.
Java baytkodi kross-platforma boʻlgani sababli, Java appletlari Microsoft Windows, FreeBSD, Unix, macOS va Linux kabi koʻplab platformalar uchun ham ishga tushirilishi mumkin. Appletni faqatgina Oracle JVM baytekodini ishga tushirishni qoʻllab-quvvatlamaydigan mobil qurilmalardagina ishga tushirish mumkin emas.
Umumiy ishlash mexanizmi
[tahrir | manbasini tahrirlash]Appletlar veb-ilovalarga HTML orqali amalga oshirib boʻlmaydigan interaktiv xususiyatlarni taqdim etish uchun ishlatiladi. Ular sichqoncha harakatlarini qayd etishadi, shuningdek, Buttons („Tugmalar“) yoki CheckBox kabi boshqaruv elementlariga ham ega. Foydalanuvchi harakatlariga javoban applet taqdim etilgan grafik kontentni oʻzgartirishi mumkin. Bu appletlarni maʼlumotlarni koʻrsatish, vizualizatsiya qilish va oʻqitish uchun juda qulay qiladi. Fizikadan to yurak fiziologiyasigacha boʻlgan turli fanlarni oʻrganish uchun onlayn applet toʻplamlari mavjud.
Masofaviy serverlarga buyruqlar qatori interfeysini taʼminlash maqsadida Java Appletlar faqat matn bilan ham ishga tushirilishi mumkin. Agar kerak boʻlsa, appletlar alohida oyna sifatida ishlashi mumkin. Biroq, appletlar ilovaning tegishli ish maydonidan tashqaridagi veb-sahifalarni deyarli nazorat qilmaydi, shuning uchun ular boshqa shu kabi brauzer kengaytmalarining farqli ravishda, sayt koʻrinishini oʻzgartirish va uni boshqarish uchun qulay emas. Appletlar, shuningdek, brauzer tomonidan qoʻllab-quvvatlanmaydigan formatlardagi media fayllarni ham oʻynatishi mumkin.
HTMLda kodlangan sahifalar Appletlar ichiga tegishli parametrlarni joylashtirishi mumkin.
Texnik maʼlumotlar
[tahrir | manbasini tahrirlash]Koʻpgina brauzerlar Java appletlarini sandboxda ishga tushirgan, bu esa appletlarning fayl tizimi kabi lokal maʼlumotlarga kirishiga toʻsqinlik qilgan[15]. Appletning kodi veb-serverdan yuklab olinadi, shundan soʻng brauzer ilovani veb-sahifaga joylashtiriladi yoki appletning foydalanuvchi interfeysini koʻrsatadigan yangi oyna ochiladi.
Birinchi navbatda, klasslar boʻyicha applet sinflari yuklab olinadi. Sinflar kichik hajmli fayllar boʻlsa-da, ulardan ancha koʻp fayllar mavjud. Shuning uchun ham appletlar sekin yuklanadigan komponentlar sifatida hammaga maʼlum. Biroq, .jars
kengaytmasi joriy qilinganligi sababli, applet odatda tasvir fayliga oʻxshash oʻlchamga ega (yuzlab kilobaytdan bir necha megabaytgacha) bitta fayl sifatida taqdim qilinadi.
Oʻxshash texnologiyalar
[tahrir | manbasini tahrirlash]Koʻplab Java dasturchilari, bloglari va jurnallari appletlar oʻrniga Java Web Start texnologiyasidan foydalanishni tavsiya qilishdi[16]. Java Web Start oʻzgartirilmagan asl applet kodini ishga tushiradi va yana u alohida oynada ochiladi(brauzer ichida emas).
Java Servlet baʼzan norasmiy ravishda server tomonidagi appletga oʻxshab koʻrinadi, biroq u oʻzining tili, funksiyalari va boshqa appletlardan farq qiladigan xarakteristikasi jihatidan farq qiladi.
Xavfsizlik
[tahrir | manbasini tahrirlash]Turli xavfsizlik modellariga ega ikkita applet turi mavjud edi: imzolangan (signed) va imzolanmagan (unsigned) appletlar[17]. Java SE 7 Update 21 (2013-yil aprel) dan boshlab appletlar va Web-Start ilovalarini ishonchli sertifikat bilan imzolanishi tavsiya etildi va imzosiz appletlar ishga tushganda ogohlantirish xabarlari paydo boʻla boshladi[18]. Bundan tashqari, Java 7 Updatedan boshlab, 51 ta imzosiz appletlar bloklangan edi; ular Java boshqaruv panelida istisno tariqasida ishga tushirilishi mumkin[19].
Muqobil texnologiyalar
[tahrir | manbasini tahrirlash]Muqobil texnologiyalar (masalan, WebAssembly [20] va JavaScript) mavjud boʻlib, ular applet bilan mumkin boʻlgan barcha yoki undan-da keng koʻlamlar ishlarni amalga oshirishga qodir. JavaScript bitta sahifada appletlar bilan birga mavjud boʻlishi, appletlarni ishga tushirishga yordam berishi va keyinchalik applet kodidan chaqirilishi mumkin. JavaScript funksiyalari va unumdorligini oshirgan sari, appletlarni qoʻllab-quvvatlash va ulardan foydalanish oxir-oqibat toʻxtatiladigan darajagacha tushib ketdi.
Yana qarang
[tahrir | manbasini tahrirlash]Manbalar
[tahrir | manbasini tahrirlash]- ↑ „The home site of the 3D protein viewer (Openastexviewer) under LGPL“. 2009-yil 1-avgustda asl nusxadan arxivlangan. Qaraldi: 2009-yil 21-sentyabr.
- ↑ „Generation of an action potential in cardiac cells using interactive java applet. Excitable media. movies excitable media Fitzhug nagumo beeler reuter luo rudy model mathematical cell modeling“. Thevirtualheart.org. Qaraldi: 2022-yil 22-mart.
- ↑ „The home site of the Mandelbrot set applet under GPL“. 2013-yil 8-mayda asl nusxadan arxivlangan. Qaraldi: 2013-yil 29-iyul.
- ↑ „The home site of the chess applet under BSD“. 2009-yil 7-sentyabrda asl nusxadan arxivlangan.
- ↑ „Next Generation in Applet Java Plug-in Technology“. 2009-yil 4-aprelda asl nusxadan arxivlangan. Qaraldi: 2009-yil 25-sentyabr.
- ↑ „Java 9 Release Notes“. Oracle.com.
- ↑ „JEP 289: Deprecate the Applet API“. Openjdk.java.net. Qaraldi: 2022-yil 22-mart.
- ↑ „JPG blog: Moving to a Plugin-Free Web“. Blogs.oracle.com.
- ↑ „JPG blog: Further Updates to 'Moving to a Plugin-Free Web'“. Blogs.oracle.com.
- ↑ „Java Client Roadmap Update“. Oracle.com. Qaraldi: 2022-yil 22-mart.
- ↑ „FPC JVM – Free Pascal wiki“. Wiki.freepascal.org. Qaraldi: 2022-yil 22-mart.
- ↑ „canvas – HTML“. Mozilla Developer Network. Qaraldi: 2015-yil 15-avgust.
- ↑ „WebGL – Web API Interfaces“. Mozilla Developer Network. Qaraldi: 2015-yil 15-avgust.
- ↑ „Design Elements – Chrome V8“. Qaraldi: 2015-yil 15-avgust.
- ↑ McGraw. „What Untrusted Java Code Can't Do“. Securingjava.com (1999). Qaraldi: 2021-yil 26-dekabr.
- ↑ Srinivas. „Java Web Start to the rescue“. JavaWorld (2001-yil 6-iyul). Qaraldi: 2020-yil 13-iyul.
- ↑ „What Applets Can and Cannot Do (The Java™ Tutorials > Deployment > Java Applets)“. Docs.oracle.com. Qaraldi: 2022-yil 22-mart.
- ↑ „Java Applet & Web Start – Code Signing“. Oracle. Qaraldi: 2014-yil 28-fevral.
- ↑ „What should I do when I see a security prompt from Java?“. Oracle. Qaraldi: 2014-yil 28-fevral.
- ↑ „Mozilla tries to do Java as it should have been – with a WASI spec for all devices, computers, operating systems“ (en). Theregister.com. Qaraldi: 2020-yil 6-oktyabr.