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    .

Java appletlari odatda Java tilida yozilgan, ammo Jython, JRuby, Paskal, 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)   hamda just-in-time kompilyatorli JavaScript tufayli  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
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
Koʻpgina brauzerlar Java appletlarini *[[:en:Sandbox_(security)|sandbox]]<nowiki/>da* ishga tushirgan, bu esa appletlarning fayl tizimi kabi lokal maʼlumotlarga kirishiga toʻsqinlik qilgan. 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
Koʻplab Java dasturchilari, bloglari va jurnallari appletlar oʻrniga Java Web Start texnologiyasidan foydalanishni tavsiya qilishdi. 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
Turli xavfsizlik modellariga ega ikkita applet turi mavjud edi: imzolangan (signed) va imzolanmagan (unsigned) appletlar. 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. Bundan tashqari, Java 7 Updatedan boshlab, 51 ta imzosiz appletlar bloklangan edi; ular Java boshqaruv panelida istisno tariqasida ishga tushirilishi mumkin.

## Muqobil texnologiyalar
Muqobil texnologiyalar (masalan, WebAssembly  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

* ActiveX

* Curl (dasturlash tili)
* Jakarta Servlet
* Java Web Start
* JavaFX
* WebGL

## Manbalar