اکنون میخواهیم شما را با یکی از تکنولوژیهای قدرتمند این زبان به نام جاوا اپلت آشنا کنیم. بهراستی میدانید جاوا اپلت چیست؟ آیا از ویژگیهای این تکنولوژی پرقدرت باخبرید؟
پس با ما همراه شوید تا جاوا اپلت را بشناسید.
تاریخچه اپلتها:
نقطه شروع محبوبیت جاوا، اپلتهای جاوا میباشد. از لحاظ زمانی، زبان برنامه نویسی جاوا وقتی پا بهعرصه گذاشت که دنیای بزرگ اینترنت، در مراحل آغازین رشد قرار داشت و به یک زبان برنامه نویسی مستقل از محیط نیاز داشت تا بتواند قابلیتهای خود را بهطور کامل شکوفا کند. جاوا به کمک تکنولوژی جاوا اپلت توانست این نیاز را رفع کند.
اصطلاح اپلت، توسط applet script و در سال 1993 مطرح گردید. به طور کلی واژه اپلت را میتوان بهبرنامههایی نسبت داد که در زمینه برنامههای دیگر اجرا میشود. بهعنوان مثال فایلهای فلش که در صفحات وب قرار گرفته و توسط مرورگر اجرا میگردند، نوعی از اپلتها میباشند.
با یک مثال دیگر موضوع را برایتان روشنتر میکنم؛ شرکتهای زیادی دستگاههای مبتنی بر اینترنت اشیا IOT را ارائه می نمایند مانند لامپهای هوشمند یا دستگاههای هشدار دهنده در منازل و یا حتی دستگاهی که به حیوان خانگی شما غذا میدهد. تنها کاری که این اپلیکیشنها واقعا انجام دهند، آن است که با زدن یک کلید، فرمانی برای دستگاهی ارسال شود و یا مقادیری را از یک سنسور خوانده و نمایش میدهد. تمام تواناییهای لازم برای ارتباط با پروتکلهای استاندارد ارتباطی مانند TCP، UDP، WebSocket، بلوتوث و غیره در هسته اجرایی پلتفرم اپلت (مانند Niomatic) قرار دارد. تنها لازم است اولویتهای خود را برای واسط کاربری بهصورت اپلت طراحی نمایید.
جاوا اپلت چیست؟
اپلت جاوا (Java Applet) برنامهای کوچک و نوشته شده به زبان جاوا میباشد که توسط مرورگر صفحات وب با فعال بودن خصوصیت اجرای اپلتهای جاوا در آن، دریافت و اجرا میگردد. اپلتها بهطور معمول در داخل صفحه وب قرار داده و در درونشان اجرا میشوند و کدهای اپلت به صورت ByteCode برای کاربر بازگردانده میشود.
ByteCode به مجموعه دستورالعمل ماشین مجازی جاوا (Java Virtual Machine) میگویند.
اپلت باید زیر کلاسی از کلاس java.applet.Applet باشد. این کلاس رابط استاندارد بین اپلت و مرورگر را فراهم میکند. Swing نیز یک زیر کلاس ویژه از Applet بانام javax.swing.JApplet برای اپلتهایی که میخواهند از کامپوننتهای Swing استفاده کنند، دارد. اپلتهایی که براساس کلاس JApplet ایجاد میشوند، Swing Applet و اپلتهایی که بر اساس کلاس Applet ساخته میشوند، Pre-Swing Applet نام دارد. تفاوت Applet با JApplet در این است که جی اپلت صفحه گرافیکی را نشان میدهد ولی اپلت برای کار باید در HTML بارگزاری شود.
اپلتها بهراحتی ایجاد و در تمامی نسخههای جاوا قابل اجرا میباشند. از آن گذشته در صورت موافقت کاربر، میتوانند دسترسی کامل به ماشین سرویسگیرنده داشته باشند. همچنین برای اجرای یک اپلت همیشه نیاز به Plug-in خواهید داشت. پلاگین جاواt در یک مرورگر چرخه حیات یک اپلت را مدیریت میکند. اما این را در نظر بگیرید که در برخی موارد نمیتوان کاربر را ترغیب به نصب یک پلاگین بر روی مرورگر خود نمود و در برخی موارد نیز کاربر سطح دسترسی لازم برای انجام اینکار را ندارد. علاوه بر ضروری بودن نصب پلاگین، تا وقتیکه ماشین مجازی جاوا اجرا نشود نمیتوان یک اپلت را اجرا نمود که برای این منظور باید Java Runtime Enviroment نصب گردد.
4 متد اصلی اپلتها:
-
init
این متد برای مقداردهی اولیه هر اپلت مورد نیاز است.
-
start
این متد بهصورت خودکار پس از فراخوانی مرورگر از متد init بدست میآید.
-
stop
این متد به صورت خودکار زمانی فراخوانی میشود که کاربر صفحهای را که روی آن اپلت نشسته، حرکت دهد.
-
destroy
این متد تنها زمانی فراخوانی میشود که مرورگر بهطور معمول بسته شود.
-
paint
کاربردهای کلاس اپلت:
-
دریافت پارامترهای اپلت.
-
محل شبکه فایل HTML که حاوی اپلت باشد را دریافت میکند.
-
محل شبکه در دایرکتوری کلاس اپلت را دریافت میکند.
-
پیام وضعیت را در مرورگر چاپ میکند.
-
تصویر را برمیدارد.
-
کلیپ صوتی را برمیدارد.
-
کلیپ صوتی پخش میکند.
-
تغییر اندازه اپلت.
اکنون میخواهیم به ویژگی برتر اپلتها نسبت به اپلیکیشنها بپردازیم:
-
اپلتها حجم به مراتب کمتری نسبت به اپلیکیشنها دارند
در نتیجه، امکان به اشتراکگذاری و اجرای instance آنها وجود خواهد داشت. اپلتها را میتوانید به صورت لینک یا اطلاعاتی در یک تگ NFC یا QR Code رد و بدل نمایید.
-
امنیت بالای اپلتها
بهدلیل تمرکز بر روی امنیت و حفظ حریم شخصی در هسته برنامه توسط افراد متخصص، بلوکهای سازنده اپلتها از الگوهای استانداردی پیروی مینمایند که حداکثر کارایی و امنیت را تضمین خواهد نمود.
-
انتشار سریع
در بازار پررقابت کنونی با صدها میلیون اپلیکیشن، حتی با صرف هزینههای بسیار زیاد تبلیغات، بهسادگی اپلیکیشن شما در میان دیگر اپلیکیشنها گم خواهد شد. اکثر کاربران براساس نیاز و موقعیتی که در آن قرار میگیرند نیاز به استفاده از اپلیکیشن را احساس مینمایند. اما واقعا چه کسی میخواهد تعداد زیادی اپلیکیشن بر روی گوشی خود نصب داشته باشد؟!
بههمین خاطر اپلتها را میتوانید به صورت یک لینک ساده و با حجم کم، در هر نقطهای که کاربران شما وجود دارند، در دسترس قرار دهید.
-
کاهش چشمگیر هزینههای طراحی و عیبیابی
تیمهای متخصص، هسته اجرایی برنامه را طراحی و توسعه خواهند داد. اما در اپلتها تنها Concept، Logic و طراحی واسط کاربری قرار دارد که با تغییر کدهای هسته برنامه، نیازی به تغییر در اپلتها نخواهد بود.
-
کم حجم و سریع
تمرکز اصلی طراحی هسته، بر سه اصل امنیت، بهینهسازی و توسعهپذیری بوده است. بر این اساس هسته برنامه بهنحوی طراحی شده است که علاوه بر حجم بسیار کم، قابلیت پیادهسازی بر روی تمام انواع سختافزارها از پردازندههای 64 بیتی تا میکروکنترلرهای 8 بیتی و سیستمهای عامل مانند اندروید، iOS، Windows و غیره را داشته باشد.
-
یک طراحی برای تمام دستگاه ها
-
محیط توسعه اپلت (Applet IDE) بر روی سیستم عامل گوشیهای تلفن همراه
بیشتر بخوانید: جاوا اسپرینگ چیست و چه کاربردهایی دارد؟
ویژگیهای امنیتی:
-
اپلتها جز در موارد مشخص شده، اجازه هیچگونه دسترسی به فایلهای ماشینی که در حال اجراست را نمیدهد. حتی در بعضی از مرورگرها، اجازه همین مقدار دسترسی نیز داده نمیشود.
-
اپلت با هیچ نقطهای از شبکه، جز سیستمی که از آنجا بارگذاری شده است، نمیتواند تماس بگیرد.
-
اپلت نمیتواند هیچ برنامهای را روی سیستم اجرا کننده آن اجرا کند.
-
زمانی که یک اپلت از اینترنت دانلود و در مرورگر وب اجرا میشود، ابتدا اپلت در یک محیط امن با نام SandBox اجرا میشود و علت اینکار آن است که اپلت نتواند عملیات مخربی روی کامپیوتر مقصد انجام دهد؛ مانند خواندن یا نوشتن روی فایلها.
کد نویسی سادهای از اپلتها:
اکنون میخواهیم برنامه سادهای بهنام HelloWorldApplet.java کدنویسی کنیم که به صورت زیر خواهد بود:
import java.applet.*;
import java.awt.*;
public class HelloWorldApplet extends Applet
{
public void paint (Graphics g)
{
g.drawString ("Hello World", 25, 50);
}
}
بدون import فوق، کامپایلر جاوا کلاس اپلت و گرافیک را که کلاس اپلت به آن اشاره میکند را تشخیص نمیدهد.
نمایش تصویر در اپلتها:
یک اپلت میتواند تصاویری از فرمت GIF، JPEG، BMP و دیگر را نمایش دهد که از کلاس drowImage() در کلاس java.awt.Graphics() استفاده میکند. در زیر نمونهای از تمام مراحل نمایش تصاویر را نشان میدهیم:
import java.applet.*;
import java.awt.*;
import java.net.*;
public class ImageDemo extends Applet {
private Image image;
private AppletContext context;
public void init() {
context = this.getAppletContext();
String imageURL = this.getParameter("image");
if(imageURL == null) {
imageURL = "java.webp";
}
try {
URL url = new URL(this.getDocumentBase(), imageURL);
image = context.getImage(url);
} catch (MalformedURLException e) {
e.printStackTrace();
// Display in browser status bar
context.showStatus("Could not load image!");
}
}
public void paint(Graphics g) {
context.showStatus("Displaying image");
g.drawImage(image, 0, 0, 200, 84, null);
g.drawString("www.javalicense.com", 35, 100);
}
}
حال آن را فراخوانی میکنیم:
<html>
<title>The ImageDemo applet</title>
<hr>
<applet code = "ImageDemo.class" width = "300" height = "200">
<param name = "image" value = "java.webp">
</applet>
<hr>
</html>
اجرای صداها در اپلت:
یک اپلت میتواند فایل صوتی نمایشی از رابط AudioClip را در بسته java.applet پخش کند. اینترفیس AudioClip دارای سه متد زیر است:
-
()public void play: کلیپ صوتی را یکبار از ابتدا پخش میکند.
-
()public void loop: کلیپ صوتی را بهطور پیوسته پخش میکند.
-
()public void stop: پخش کلیپ صوتی را متوقف میکند.
import java.applet.*;
import java.awt.*;
import java.net.*;
public class AudioDemo extends Applet {
private AudioClip clip;
private AppletContext context;
public void init() {
context = this.getAppletContext();
String audioURL = this.getParameter("audio");
if(audioURL == null) {
audioURL = "default.au";
}
try {
URL url = new URL(this.getDocumentBase(), audioURL);
clip = context.getAudioClip(url);
} catch (MalformedURLException e) {
e.printStackTrace();
context.showStatus("Could not load audio file!");
}
}
public void start() {
if(clip != null) {
clip.loop();
}
}
public void stop() {
if(clip != null) {
clip.stop();
}
}
}
حالا نحوه فراخوانی اپلت فوق در html بصورت زیر خواهد بود:
<html>
<title>The ImageDemo applet</title>
<hr>
<applet code = "ImageDemo.class" width = "0" height = "0">
<param name = "audio" value = "test.wav">
</applet>
<hr>
</html>
کلام آخر:
پس اگر میخواهید وارد دنیای جاوا شوید بهتر است مفاهیم پایهای این زبان را بهخوبی یاد بگیرید. بههمین منظور ما برای شما عزیزان دورهای مقدماتی به صورت رایگان، با بیانی ساده و کاملا کاربردی قرار دادهایم تا لذت آموزش جاوا را بچشید.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.