Java Applets Sinhala - Applet හදමු HTML වලට දාමු | SC Guide

Java Applets: Simple Beginnings SC Guide
ආයුබෝවන් යාළුවනේ, SC Guide එකට ආදරයෙන් පිළිගන්නවා! අද අපි කතා කරන්න යන්නේ ටිකක් පරණ වුණාට, Web Development වල මුල් කාලයේ ලොකු පෙරළියක් කරපු දෙයක් ගැන - ඒ තමයි Java Applets. මතකද අන්තර්ජාලය අලුතෙන් ලංකාවට ආපු කාලේ, වෙබ් සයිට් කියන්නේ මොකක්ද කියලා හරියටම නොදන්න කාලේ? ඒ දවස්වල තිබ්බ සාමාන්ය වෙබ් පේජ්වලට වඩා ටිකක් වෙනස්, interactive දේවල් වෙබ් සයිට් එකේම පෙන්නන්න පුළුවන් වුණේ මේ Applets නිසයි. ඒක හරියට නිකම්ම පින්තූර ටිකක් තිබ්බ බිත්තියකට, පොඩි පොඩි Animations, Games එහෙම දාලා ජීවමාන කරා වගේ වැඩක්!
අද කාලේ Applets එච්චරටම පාවිච්චි නොවුණත්, Web Development වල මුල් අඩිතාලම තේරුම් ගන්න මේවා ගැන දැනගන්න එක ගොඩක් වටිනවා. හරියට පරණ ගෙයක් අලුත්වැඩියා කරනකොට ඒකේ මුල් design එක ගැන දැනගෙන ඉන්නවා වගේ. ඉතින්, අද අපි මේ Guide එකෙන් බලාපොරොත්තු වෙන්නේ, Applet එකක් කියන්නේ මොකක්ද කියලත්, පොඩි Applet එකක් ලියලා ඒක HTML පිටුවකට Embed කරන්නේ කොහොමද කියලත් සරලව කියලා දෙන්න.
හරි, එහෙනම් වැඩේට බහිමු!
Applets කියන්නේ මොනවද?
සරලවම කිව්වොත්, Applet එකක් කියන්නේ වෙබ් බ්රවුසරයක් ඇතුළේ ක්රියාත්මක කරන්න පුළුවන් පොඩි Java program එකක්. සාමාන්ය Java application එකක් වගේම, මේකත් Java වලින් තමයි ලියන්නේ. හැබැයි මේ Applet එකට පරිගණකයේ Files වලට direct access කරන්න, නැත්නම් වෙන Program එකක් run කරන්න වගේ දේවල් කරන්න බැහැ. මේක වෙබ් බ්රවුසරයක් ඇතුළේ "Sandbox" එකක වගේ තමයි run වෙන්නේ. මේ ආරක්ෂක සීමා නිසා තමයි Applets වලට පරිශීලකයාගේ පරිගණකයට හානි කරන්න බැරි වුණේ.
මුල් කාලයේදී, වෙබ් බ්රවුසර වලට Javascript වගේ දේවල් වලින් කරන්න පුළුවන් දේවල් සීමා සහිත වුණා. ඒ වෙලාවේදී Java Applets තමයි Complex user interfaces, graphical animations, online games, සහ real-time data visualization වගේ දේවල් කරන්න ප්රධාන මෙවලම වුණේ. මතකද සමහර ඔන්ලයින් ගේම්ස්, Chat rooms එහෙම තිබ්බා, ඒවා ගොඩක් වෙලාවට Applets වලින් තමයි හැදිලා තිබ්බේ.
හැබැයි කාලයත් එක්ක Applets වලට තිබ්බ තැන නැතිව ගියා. ප්රධාන හේතු කීපයක් තියෙනවා:
- Security Concerns: Applets වලට තද security sandbox එකක් තිබුණත්, කාලෙන් කාලෙට security vulnerabilities මතුවුණා. මේ නිසා Browsers වලින් Applets run කරන එක තවදුරටත් ආරක්ෂිත නැහැ කියලා usersලට හිතුණා.
- Browser Support: Google Chrome, Mozilla Firefox වගේ ප්රධාන Browsers Applet support එක gradually remove කරා. Safari වගේ සමහර ඒවා ඉස්සර ඉඳන්ම එච්චර support කරේ නැහැ.
- Performance Issues: Applets load වෙන්න ටිකක් වෙලා ගියා වගේම, සමහර වෙලාවට system resources වැඩියෙන් පාවිච්චි කරා.
- Rise of Alternatives: JavaScript, HTML5 Canvas, WebGL, CSS3 වගේ තාක්ෂණයන් දියුණු වුණා. මේවාට Plugins නැතුවම Applets වලින් කරන්න පුළුවන් දේවල් වගේම ඊට වඩා වැඩි දේවල් කරන්නත් පුළුවන් වුණා. අද දවසේ ගොඩක් interactive web content හැදෙන්නේ මේවා පාවිච්චි කරලා තමයි.
ඒ වුණත්, මේ Applets ගැන ඉගෙනගන්න එකෙන් අපිට Web Development වල evolution එක තේරුම් ගන්නත්, client-side scripting වල මුල් අඩිතාලම ගැන දැනගන්නත් පුළුවන් වෙනවා.
අපේ පළමු Applet එක හදමු!
හරි, දැන් අපි අපේ පළමු Applet එක නිර්මාණය කරමු. මේකට ගොඩක්ම සරල Applet එකක් තමයි අපි ලියන්නේ. ඒකේ වැඩේ වෙන්නේ පොඩි text එකක් වෙබ් බ්රවුසරය ඇතුළේ display කරන එක විතරයි.
අවශ්ය දේවල් (What you need)
මේ වැඩේට අපිට ඕනෙ වෙන්නේ දේවල් දෙකයි:
- Java Development Kit (JDK): ඔයාගේ Computer එකේ JDK install කරලා තියෙන්න ඕනේ. නැත්නම්, Oracle වෙබ් අඩවියට ගිහින් download කරලා install කරගන්න පුළුවන්. මේකෙන් තමයි අපේ Java code එක compile කරලා run කරන්න ඕනෙ දේවල් තියෙන්නේ.
- Text Editor: සාමාන්ය Notepad, Notepad++, VS Code, Sublime Text, නැත්නම් Eclipse, IntelliJ IDEA වගේ IDE එකක් වුණත් පාවිච්චි කරන්න පුළුවන්.
Applet Code එක ලියමු (Let's write the Applet Code)
දැන් අපි අපේ Applet එකට අදාළ Java code එක ලියමු. අලුත් file එකක් හදලා ඒකට HelloWorldApplet.java
කියලා නම දෙන්න. ඊට පස්සේ මේ code එක ඒකේ paste කරන්න:
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorldApplet extends Applet {
// Applet එක initialize කරන්න ඕනෙ නම් මේ method එක use කරන්න පුළුවන්.
// අපි මේකට මුකුත්ම දාන්නේ නැහැ, නමුත් මේක Applet එක load වෙනකොට run වෙනවා.
public void init() {
System.out.println("Applet Initialized!");
}
// Applet එකේ graphics දේවල් අඳින්න මේ method එක use කරනවා.
// මේක Applet එකට display වෙන්න ඕනෙ හැම වෙලාවකම run වෙනවා.
@Override
public void paint(Graphics g) {
// "Hello, Sri Lanka!" කියලා text එකක් draw කරනවා.
// (50, 50) කියන්නේ x, y coordinates.
g.drawString("Hello, Sri Lanka! from Applet", 50, 50);
}
// Applet එක stop වෙනකොට (ex: browser tab එක වහනකොට) මේ method එක run වෙනවා.
public void stop() {
System.out.println("Applet Stopped!");
}
// Applet එක destroy වෙනකොට (ex: browser වහනකොට) මේ method එක run වෙනවා.
public void destroy() {
System.out.println("Applet Destroyed!");
}
}
මේ Code එකේ තියෙන දේවල් පොඩ්ඩක් පැහැදිලි කරමු:
import java.applet.Applet;
: මේකෙන් කියන්නේ අපිට Applet එකක් හදන්න අවශ්ය Java Applet class එක පාවිච්චි කරන්න ඕනේ කියන එකයි.import java.awt.Graphics;
: Graphics කියන්නේ Applet එක ඇතුළේ රූප, text වගේ දේවල් අඳින්න අවශ්ය පහසුකම් සපයන class එකක්.public class HelloWorldApplet extends Applet { ... }
: මේක තමයි අපේ Applet class එක. හැම Applet එකක්මjava.applet.Applet
class එක extend කරන්න (inherit කරන්න) ඕනේ.paint(Graphics g)
method එක: මේක තමයි Applet එකේ තිරය උඩ display වෙන්න ඕනෙ දේවල් අඳින ප්රධාන method එක. අපේ උදාහරණයේදී අපිg.drawString("Hello, Sri Lanka! from Applet", 50, 50);
කියලා Text එකක් අඳිනවා.(50, 50)
කියන්නේ Applet එකේ වම් පැත්තේ උඩ කෙළවරේ ඉඳන් පික්සල් 50ක් දකුණට සහ පික්සල් 50ක් පහළට වෙන්න Text එක පෙන්වන්න කියන එකයි.init()
,start()
,stop()
,destroy()
: මේවා Applet lifecycle methods. Applet එක load වෙනකොට (init
), start වෙනකොට (start
), stop වෙනකොට (stop
), සහ සම්පූර්ණයෙන්ම ඉවත් වෙනකොට (destroy
) මේ methods call වෙනවා. අපි උදාහරණයේinit
,stop
,destroy
එකට පොඩි System.out.println messages දැම්මා, වැඩ කරන හැටි බලාගන්න.
Code එක Compile කරමු (Let's Compile the Code)
දැන් අපි ලියපු Java code එක compile කරන්න ඕනේ. Command Prompt (Windows) or Terminal (macOS/Linux) එක open කරලා, ඔයාගේ .java
file එක save කරපු directory එකට යන්න. ඊට පස්සේ මේ command එක execute කරන්න:
javac HelloWorldApplet.java
හරි නම්, කිසිම error එකක් නැතුව, HelloWorldApplet.class
කියලා අලුත් file එකක් generate වෙයි. මේක තමයි අපේ Applet එකේ compiled version එක. මේ .class
file එක තමයි වෙබ් බ්රවුසරය තුළදී Java Virtual Machine (JVM) එකෙන් run කරන්නේ.
Applet එක HTML එකට දාමු!
දැන් අපි අපේ Applet එක වෙබ් පිටුවකට දාන්නේ කොහොමද කියලා බලමු. මේකට අපි HTML file එකක් හදන්න ඕනේ.
HTML Tag එක (The HTML Tag)
Applets වෙබ් පිටුවකට දාන්න අපි <applet>
tag එක පාවිච්චි කරනවා. අලුත් file එකක් හදලා ඒකට index.html
කියලා නම දීලා මේ code එක paste කරන්න:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Java Applet Page</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
.applet-container {
border: 2px solid #ccc;
padding: 10px;
display: inline-block;
background-color: #f0f0f0;
}
h1 {
color: #333;
}
</style>
</head>
<body>
<h1>අපේ පළමු Applet පිටුව</h1>
<p>මෙන්න අපේ Java Applet එක!</p>
<div class="applet-container">
<!-- Java Applet එක මෙතනට දානවා -->
<applet code="HelloWorldApplet.class" width="400" height="200">
<!-- Applet එක load වෙන්න බැරි වුණොත් මේ text එක පෙන්වයි -->
Sorry, your browser does not support Java Applets.
</applet>
</div>
<p style="margin-top: 20px;">Applet එක load වෙන්න ටිකක් වෙලා යයි. ඉවසීමෙන් ඉන්න :)</p>
</body>
</html>
මෙහි <applet>
tag එකේ වැදගත් attributes ටිකක් තියෙනවා:
code="HelloWorldApplet.class"
: මේකෙන් කියන්නේ run කරන්න ඕනෙ Applet class file එකේ නම. මේ.html
file එකයි,.class
file එකයි එකම folder එකේ තියෙන්න ඕනේ. නැත්නම්codebase
attribute එකෙන් path එක දෙන්න පුළුවන්.width="400"
: Applet එක display වෙන ප්රදේශයේ පළල (pixels වලින්).height="200"
: Applet එක display වෙන ප්රදේශයේ උස (pixels වලින්).
<applet>
tag එක ඇතුළේ තියෙන "Sorry, your browser does not support Java Applets." කියන text එක පෙන්වන්නේ මොකක් හරි හේතුවක් නිසා Applet එක load වෙන්න බැරි වුණොත් විතරයි.
වැඩ කරන හැටි බලමු (Let's see how it works)
HelloWorldApplet.java
, HelloWorldApplet.class
, සහ index.html
කියන files තුනම එකම folder එකක තියෙනවාද කියලා confirm කරගන්න. ඊට පස්සේ index.html
file එක ඔයාගේ වෙබ් බ්රවුසරයකින් open කරන්න.
ලොකුම ගැටලුව තමයි, අද වෙනකොට කිසිම නවීන වෙබ් බ්රවුසරයක Applet Support එක නැති වීම. Google Chrome, Firefox, Edge වගේ ඒවා Applets run කරන්නේ නැහැ. ඊට හේතුව අපි කලින් කතා කරපු security සහ performance issues. ඉතින්, මේක test කරන්න හොඳම විදිය තමයි JDK එකත් එක්ක එන appletviewer
tool එක පාවිච්චි කරන එක.
Command Prompt (Windows) or Terminal (macOS/Linux) එක open කරලා, ඔයාගේ files තියෙන directory එකට ගිහින්, මේ command එක execute කරන්න:
appletviewer index.html
මේකෙන් අලුත් window එකක් open වෙලා ඒක ඇතුළේ අපේ Applet එක display වෙයි. "Hello, Sri Lanka! from Applet" කියන text එකත් ඒකේ පෙනෙයි. ඒ වගේම, console එකේ "Applet Initialized!"
වගේ messages දකින්නත් පුළුවන්. මේක හරියටම වැඩ කරනවා නම්, නියමයි! ඔයා සාර්ථකව Applet එකක් හදලා HTML එකට embed කරලා තියෙන්නේ.
Applet වල අනාගතය සහ විකල්ප
අපි කලින් කතා කරා වගේම, Java Applets වලට තිබ්බ ස්වර්ණමය යුගය දැන් අවසන්. Browser vendorsලා Plugins වලට support කරන එක නැවැත්තුවා වගේම, Applets වලට ආවේණික වූ security, performance වගේ ගැටලු නිසා මේවා අද කාලේ production environment එකක පාවිච්චි කරන්නේ නැහැ. 2017 සැප්තැම්බර් මාසයේ Oracle ආයතනය විසින් Java SE 9 එක්ක Java Applet plugin එක deprecated කරා. ඒකෙන් පැහැදිලි වෙනවා මේ තාක්ෂණය තවදුරටත් ඉදිරියට ගෙනියන්නේ නැහැ කියලා.
නමුත්, Applets වලින් කරන්න උත්සාහ කරපු දේවල්, එනම් වෙබ් පිටුවක් ඇතුළේ Dynamic සහ interactive content නිර්මාණය කිරීම, අද දවසේ වෙනත් තාක්ෂණයන්ගෙන් බොහොම කාර්යක්ෂමව සහ ආරක්ෂිතව කරන්න පුළුවන්. ඒවා තමයි:
- JavaScript: අද වන විට වෙබ් බ්රවුසරයක interactive features දාන්න තියෙන ප්රධානම භාෂාව JavaScript. DOM manipulation, AJAX calls, Animations, Games, සහ complex web applications වගේ ඕනෙම දෙයක් JavaScript වලින් කරන්න පුළුවන්. React, Angular, Vue වගේ Frameworks වලින් Single Page Applications (SPAs) පවා හදන්න පුළුවන්.
- HTML5 Canvas සහ WebGL: Graphics සහ Animations සඳහා Canvas element එක වගේම 3D graphics සඳහා WebGL (Web Graphics Library) පාවිච්චි කරන්න පුළුවන්. මේවා Plugins නැතුවම බ්රවුසරය තුළදීම run වෙනවා.
- WebAssembly (Wasm): මේක අලුත්ම trend එකක්. WebAssembly කියන්නේ C, C++, Rust වගේ භාෂාවලින් ලියපු code high-performance web applications විදියට run කරන්න පුළුවන් format එකක්. Applets වලින් කළ high-performance computing tasks වලට WebAssembly හොඳ විකල්පයක්.
ඉතින්, Applets කියන්නේ අද දවසට අදාළ නැති වුණත්, Web Development ඉතිහාසයේ වැදගත් සන්ධිස්ථානයක්. මේවා ගැන දැනගන්න එකෙන් අපිට Web එක දියුණු වුණු හැටි ගැන හොඳ අවබෝධයක් ගන්න පුළුවන්.
නිගමනය
අයියේ, අක්කේ, අද අපි Java Applets ගැන ඉගෙන ගත්තා. Applet එකක් කියන්නේ මොකක්ද, ඒකේ ඉතිහාසය කොහොමද, පොඩි Applet එකක් ලියලා compile කරලා HTML පිටුවකට දාන්නේ කොහොමද කියලත් අපි ප්රායෝගිකවම කරලා බැලුවා. ඒ වගේම, අද කාලේ Applets වෙනුවට තියෙන නවීන තාක්ෂණයන් ගැනත් අපි කතා කරා.
මේ වගේ පරණ තාක්ෂණික දේවල් ගැන ඉගෙනගන්න එකෙන් අපේ දැනුම පුළුල් කරගන්න පුළුවන්. මොකද, අද තියෙන දේවල් හැදිලා තියෙන්නේ මේ වගේ පරණ අඩිතාලම් උඩ තමයි. "මුල නොදැන ගහේ අගට යන්න බැහැ" කියලා කියමනක් තියෙන්නේ ඒකයි!
ඉතින්, ඔයාලත් මේ උදාහරණය try කරලා බලන්න. appletviewer
එකෙන් හරි run කරලා "Hello, Sri Lanka!" message එක දැක්කොත් ඒක ලොකු ජයග්රහණයක්! මේ ගැන මොනවා හරි ගැටලුවක් තියෙනවා නම්, නැත්නම් ඔයාලට දැනගන්න ඕනෙ වෙනත් පරණ තාක්ෂණික දේවල් ගැන තියෙනවා නම්, පහලින් comment කරන්න. ඔයාලගේ අදහස් අපිත් එක්ක බෙදාගන්නත් අමතක කරන්න එපා. ඊළඟ Guide එකෙන් හමුවෙමු, හැමෝටම සුබ දවසක්!