<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://kk.encyclopedia.kz/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="kk-kz">
		<id>https://kk.encyclopedia.kz/index.php?action=history&amp;feed=atom&amp;title=Java_applet</id>
		<title>Java applet - Түзету тарихы</title>
		<link rel="self" type="application/atom+xml" href="https://kk.encyclopedia.kz/index.php?action=history&amp;feed=atom&amp;title=Java_applet"/>
		<link rel="alternate" type="text/html" href="https://kk.encyclopedia.kz/index.php?title=Java_applet&amp;action=history"/>
		<updated>2026-04-18T06:03:47Z</updated>
		<subtitle>Мына уикидегі бұл беттің түзету тарихы</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>https://kk.encyclopedia.kz/index.php?title=Java_applet&amp;diff=86155&amp;oldid=prev</id>
		<title>Moderator: 1 түзету</title>
		<link rel="alternate" type="text/html" href="https://kk.encyclopedia.kz/index.php?title=Java_applet&amp;diff=86155&amp;oldid=prev"/>
				<updated>2025-04-25T19:20:51Z</updated>
		
		<summary type="html">&lt;p&gt;1 түзету&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Ескі түзетулер&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;19:20, 2025 ж. сәуірдің 25 кезіндегі түзету&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(айырмашылығы жоқ)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Moderator</name></author>	</entry>

	<entry>
		<id>https://kk.encyclopedia.kz/index.php?title=Java_applet&amp;diff=86154&amp;oldid=prev</id>
		<title>Нұрлан Рахымжанов: Cat-a-lot: Тасымалдануда... Санат:Информатика → Санат:Ақпараттану</title>
		<link rel="alternate" type="text/html" href="https://kk.encyclopedia.kz/index.php?title=Java_applet&amp;diff=86154&amp;oldid=prev"/>
				<updated>2016-03-23T12:57:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=%D0%A3%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%93%D0%B0%D0%B4%D0%B6%D0%B5%D1%82%D1%82%D0%B5%D1%80/Cat-a-lot&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Уикипедия:Гаджеттер/Cat-a-lot (мұндай бет жоқ)&quot;&gt;Cat-a-lot&lt;/a&gt;: Тасымалдануда... &lt;a href=&quot;/index.php?title=%D0%A1%D0%B0%D0%BD%D0%B0%D1%82:%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Санат:Информатика (мұндай бет жоқ)&quot;&gt;Санат:Информатика&lt;/a&gt; → &lt;a href=&quot;/index.php/%D0%A1%D0%B0%D0%BD%D0%B0%D1%82:%D0%90%D2%9B%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D1%82%D0%B0%D0%BD%D1%83&quot; title=&quot;Санат:Ақпараттану&quot;&gt;Санат:Ақпараттану&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Жаңа бет&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Java applet.png|thumb|Ғылыми басылымға қосымша ретінде жазылған Java applet.&amp;lt;ref&amp;gt;[http://www.world-of-fungi.org/Models/tropisms/java_a.htm World of Fungi] - page of the scientific project, serving an applet that is used as an illustration figure&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[File:OpenAstexViewer.jpg|thumb|[[Protein Data Bank (file format)|.pdb]] форматындағы файлын визуализациялауға арналған 3D [[hardware acceleration]] арқылы серверден 3D файлдерді қондыруға арналған Java апплеті &amp;lt;ref&amp;gt;[http://openastexviewer.net/web/ The home site of the 3D protein viewer (Openastexviewer) under LGPL]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[File:Cardiac cells applet.png|thumb|120px|Using applet for nontrivial animation illustrating biophysical topic (randomly moving ions pass through voltage gates)&amp;lt;ref name='hear'&amp;gt;[http://thevirtualheart.org/CAPindex.html The virtual hearth]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[File:Mandelbrot java applet.png|thumb|Using Java applet for computation - intensive visualization of the [[Mandelbrot set]]&amp;lt;ref&amp;gt;[http://www.its.caltech.edu/~dannyc/fractals/simple.html The home site of the Mandelbrot set applet under GPL]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[File:ChessApplet.png|thumb|Sufficient running speed is also utilized in applets for playing nontrivial computer games like [[chess]]&amp;lt;ref&amp;gt;[http://english.op.org/~peter/ChessApp/ The home site of the chess applet under BSD]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
[[File:NASA World Wind.jpg|thumb|NASA [[World Wind]] (open source) is a second generation applet&amp;lt;ref&amp;gt;[http://java.sun.com/developer/technicalArticles/javase/newapplets/ Java.Sun.com]&amp;lt;/ref&amp;gt; that makes heavy use of [[OpenGL]] and on-demand data downloading to provide a detailed 3D map of the world.]]&lt;br /&gt;
[[File:Remoteconsoleapplet.png|thumb|Web [[out-of-band management|access]] to the server console at the hardware level with the help of a Java applet]]&lt;br /&gt;
[[File:FFT2DApplet.png|thumb|Demonstration of image processing using two dimensional [[Fourier transform]]&amp;lt;ref&amp;gt;[http://www.brainflux.org/java/classes/FFT2DApplet.html 2D FFT Java applet]&amp;lt;/ref&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
'''Java applet''' - Java бағдарламалық тілінде жазылған [[applet|апплет]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- delivered to users in the form of [[Java bytecode]]. Java applets can run in a [[Web browser]] using a [[Java Virtual Machine]] (JVM), or in [[Sun Microsystems|Sun]]'s [[AppletViewer]], a stand-alone tool for testing applets. Java applets were introduced in the first version of the Java language in 1995, and are written in [[programming language]]s that compile to Java bytecode, usually in [[Java (programming language)|Java]], but also in other languages such as [[Jython]],&amp;lt;ref&amp;gt;[http://www.jython.org/archive/21/applets/index.html Jython applet page]&amp;lt;/ref&amp;gt; [[JRuby]],&amp;lt;ref&amp;gt;[http://michal.hantl.cz/ruby-in-browser-jruby-inside-an-applet/ About Java applets in Ruby]&amp;lt;/ref&amp;gt; or [[Eiffel (programming language)|Eiffel]] (via [[SmartEiffel]]).&amp;lt;ref&amp;gt;[http://eiffelzone.com/esd/wrapj/ A tool to produce Java applets with SmartEiffel]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java applets run at very fast speeds comparable to, but generally slower than, other compiled languages such as [[C++]], but until approximately 2011 many times faster than [[JavaScript]].&amp;lt;ref&amp;gt;[http://www.timestretch.com/FractalBenchmark.html An example of the 2005 year performance benchmarking]&amp;lt;/ref&amp;gt; In addition they can use 3D [[hardware acceleration]] that is available from Java. This makes applets well suited for non-trivial, computation intensive visualizations. As browsers have gained support for native hardware accelerated graphics in the form of [[Canvas element|Canvas]] and [[WebGL]], as well as [[Just-in-time compilation|Just in Time compiled]] JavaScript, the speed difference has become less noticeable.&lt;br /&gt;
&lt;br /&gt;
Since Java's [[bytecode]] is [[cross-platform]] or platform independent, Java applets can be executed by browsers for many platforms, including [[Microsoft Windows]], [[Unix]], [[Mac OS]] and [[Linux]]. It is also trivial to run a Java applet as an application with very little extra code. This has the advantage of running a Java applet in offline mode without the need for any Internet browser software and also directly from the [[integrated development environment]] (IDE).&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
Applets are used to provide interactive features to web applications that cannot be provided by [[HTML]] alone. They can capture [[Mouse (computing)|mouse input]] and also have controls like [[Button (computing)|buttons]] or [[check box]]es. In response to the user action an applet can change the provided graphic content. This makes applets well suitable for demonstration, visualization and teaching. There are online applet collections for studying various subjects, from physics&amp;lt;ref&amp;gt;[http://www.falstad.com/mathphysics.html Paul Falstad online applet portal]&amp;lt;/ref&amp;gt; to heart physiology.&amp;lt;ref name='hear'/&amp;gt; Applets are also used to create online [[Kurnik|game collections]] that allow players to compete against live opponents in real-time.&lt;br /&gt;
&lt;br /&gt;
An applet can also be a text area only, providing, for instance, a cross platform [[command-line interface]] to some remote system.&amp;lt;ref&amp;gt;[http://www.jcraft.com/jcterm/ Jraft.com]&amp;lt;/ref&amp;gt; If needed, an applet can leave the dedicated area and run as a separate window. However, applets have very little control over web page content outside the applet dedicated area, so they are less useful for improving the site appearance in general (while applets like [[news ticker]]s&amp;lt;ref&amp;gt;[http://www.objectplanet.com/newsticker/ ObjectPlanet.com], an applet that works as news ticker&amp;lt;/ref&amp;gt; or [[WYSIWYG]] editors&amp;lt;ref&amp;gt;[http://www.sferyx.com/ Sferyx.com], a company that produces applets acting as [[WYSWYG]] editor.&amp;lt;/ref&amp;gt; are also known). Applets can also play media in formats that are not natively supported by the browser&amp;lt;ref&amp;gt;[[Cortado (software)|Cortado applet to play ogg format]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HTML pages may embed parameters that are passed to the applet. Hence the same applet may appear differently depending on the parameters that were passed.&lt;br /&gt;
&lt;br /&gt;
As applets have been available before [[Cascading Style Sheets|CSS]], they were also widely used for trivial effects like navigation buttons. This use is criticized and declining.&amp;lt;ref&amp;gt;[http://www.dr-lex.be/info-stuff/top13not2do.html#javanav Top 13] Things Not to Do When Designing a Website&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
Java applets are executed in a ''[[sandbox (security)|sandbox]]'' by most web browsers, preventing them from accessing local data like [[clipboard (software)|clipboard]] or [[file system]]. The code of the applet is downloaded from a [[web server]] and the browser either [[compound document|embeds]] the applet into a web page or opens a new window showing the applet's [[user interface]].&lt;br /&gt;
&lt;br /&gt;
A Java applet extends the class {{Javadoc:SE|package=java.applet|java/applet|Applet}}, or in the case of a [[Swing (Java)|Swing]] applet, {{Javadoc:SE|package=javax.swing|javax/swing|JApplet}}. The class must override methods from the applet class to set up a user interface inside itself (&amp;lt;code&amp;gt;Applet&amp;lt;/code&amp;gt; is a descendant of {{Javadoc:SE|java/awt|Panel}} which is a descendant of {{Javadoc:SE|java/awt|Container}}. As applet inherits from container, it has largely the same user interface possibilities as an ordinary Java application, including regions with user specific visualization.&lt;br /&gt;
&lt;br /&gt;
The first implementations involved downloading an applet class by class. While classes are small files, there are frequently a lot of them, so applets got a reputation as slow loading components. However, since [[JAR (file format)|jar]]s were introduced, an applet is usually delivered as a single file that has a size similar to a large image file (hundreds of kilobytes to several megabytes).&lt;br /&gt;
&lt;br /&gt;
The [[Domain Name System|domain]] from where the applet executable has been downloaded is the only domain to which the usual (unsigned) applet is allowed to communicate. This domain can be different from the domain where the surrounding HTML document is hosted.&lt;br /&gt;
&lt;br /&gt;
Java [[Static library|system libraries]] and [[Runtime library|runtimes]] are backwards compatible, allowing to write code that runs both on current and on future versions of the Java virtual machine.&lt;br /&gt;
&lt;br /&gt;
=== Similar technologies ===&lt;br /&gt;
Many Java developers, blogs and magazines are recommending that the [[Java Web Start]] technology be used in place of Applets.&amp;lt;ref&amp;gt;[http://www.javaworld.com/javaworld/jw-07-2001/jw-0706-webstart.html JavaWorld.com]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://javachannel.net/wiki/pmwiki.php/FAQ/Applets JavaChannel.net]&amp;lt;/ref&amp;gt; Java Web Start also allows to launch unmodified applet code, only it then runs in a separate window (not inside the invoking browser).&lt;br /&gt;
&lt;br /&gt;
A [[Java Servlet]] is sometimes informally compared to be &amp;quot;like&amp;quot; a server-side applet, but it is different in its language, functions, and in each of the characteristics described here about applets.&lt;br /&gt;
&lt;br /&gt;
== Embedding into web page ==&lt;br /&gt;
The applet can be displayed on the web page by making use of the deprecated &amp;lt;code&amp;gt;[[HTML element#Images and objects|applet]]&amp;lt;/code&amp;gt; HTML element,&amp;lt;ref&amp;gt;[http://www.w3.org/TR/html401/struct/objects.html#edef-APPLET W3.org]&amp;lt;/ref&amp;gt; or the recommended &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; element.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/html401/struct/objects.html#edef-OBJECT W3.org]&amp;lt;/ref&amp;gt;  &amp;lt;code&amp;gt;Embed&amp;lt;/code&amp;gt; element can be used&amp;lt;ref name=&amp;quot;java&amp;quot;&amp;gt;http://www.java.com/en/download/manual.jsp&amp;lt;/ref&amp;gt; with Mozilla family browsers (&amp;lt;code&amp;gt;embed&amp;lt;/code&amp;gt; was deprecated in HTML 4 but is included in HTML 5). This specifies the applet's source and location. &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;embed&amp;lt;/code&amp;gt; tags can also download and install Java virtual machine (if required) or at least lead to the plugin page. &amp;lt;code&amp;gt;Applet&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; tags also support loading of the serialized applets that start in some particular (rather than initial) state. Tags also specify the message that shows up in place of the applet if the browser cannot run it due any reason.&lt;br /&gt;
&lt;br /&gt;
However, despite &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; being officially a recommended tag, as of 2010, the support of the &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; tag was not yet consistent among browsers and Sun kept recommending the older &amp;lt;code&amp;gt;applet&amp;lt;/code&amp;gt; tag for deploying in multibrowser environments,&amp;lt;ref name=&amp;quot;ja&amp;quot;&amp;gt;[http://download.java.net/jdk7/docs/technotes/guides/plugin/developer_guide/using_tags.html#object Sun's position on applet and object tags]&amp;lt;/ref&amp;gt; as it remained the only tag consistently supported by the most popular browsers. To support multiple browsers, the &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; tag currently requires JavaScript (that recognizes the browser and adjusts the tag), usage of additional browser-specific tags or delivering adapted output from the server side. Deprecating &amp;lt;code&amp;gt;applet&amp;lt;/code&amp;gt; tag has been criticized.&amp;lt;ref&amp;gt;[http://mindprod.com/jgloss/applet.html#OBJECT Criticism] of APPLET tag deprecation&amp;lt;/ref&amp;gt; Oracle now provides a maintained JavaScript code&amp;lt;ref&amp;gt;[http://www.java.com/java/deployJava.txt Java applet launcher from Oracle]&amp;lt;/ref&amp;gt; to launch applets with cross platform workarounds.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following example is made simple enough to illustrate the essential use of Java applets through its java.applet package. It also uses classes from the Java [[Abstract Window Toolkit]] (AWT) for producing actual output (in this case, the &amp;quot;[[Hello world program|Hello, world!]]&amp;quot; message).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.applet.Applet;&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
&lt;br /&gt;
// Applet code for the &amp;quot;Hello, world!&amp;quot; example.&lt;br /&gt;
// This should be saved in a file named as &amp;quot;HelloWorld.java&amp;quot;.&lt;br /&gt;
public class HelloWorld extends Applet {&lt;br /&gt;
  // This method is mandatory, but can be empty (i.e., have no actual code).&lt;br /&gt;
  public void init() { }&lt;br /&gt;
&lt;br /&gt;
  // This method is mandatory, but can be empty.(i.e.,have no actual code).&lt;br /&gt;
  public void stop() { }&lt;br /&gt;
&lt;br /&gt;
  // Print a message on the screen (x=20, y=10).&lt;br /&gt;
  public void paint(Graphics g) {&lt;br /&gt;
    g.drawString(&amp;quot;Hello, world!&amp;quot;, 20,10);&lt;br /&gt;
  &lt;br /&gt;
  // Draws a circle on the screen (x=40, y=30).&lt;br /&gt;
    g.drawArc(40,30,20,20,0,360);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional simple applets are available at Wikiversity.&amp;lt;ref&amp;gt;[http://en.wikiversity.org/wiki/Java_applets Java applet section in Wikiversity]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For [[compiler|compiling]], this code is saved on a plain-[[ASCII]] file with the same name as the class and &amp;lt;tt&amp;gt;.java&amp;lt;/tt&amp;gt; extension, i.e. &amp;lt;tt&amp;gt;HelloWorld.java&amp;lt;/tt&amp;gt;. The resulting &amp;lt;tt&amp;gt;HelloWorld.class&amp;lt;/tt&amp;gt; applet should be placed on the web server and is invoked within an [[HTML]] page by using an &amp;lt;tt&amp;gt;&amp;amp;lt;APPLET&amp;amp;gt;&amp;lt;/tt&amp;gt; or an &amp;lt;tt&amp;gt;&amp;amp;lt;OBJECT&amp;amp;gt;&amp;lt;/tt&amp;gt; tag. For example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &lt;br /&gt;
  &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/loose.dtd&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
&amp;lt;HEAD&amp;gt;&lt;br /&gt;
&amp;lt;TITLE&amp;gt;HelloWorld_example.html&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;BODY&amp;gt;&lt;br /&gt;
&amp;lt;H1&amp;gt;A Java applet example&amp;lt;/H1&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Here it is: &amp;lt;APPLET code=&amp;quot;HelloWorld.class&amp;quot; WIDTH=&amp;quot;200&amp;quot; HEIGHT=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
This is where HelloWorld.class runs.&amp;lt;/APPLET&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Displaying the &amp;lt;tt&amp;gt;HelloWorld_example.html&amp;lt;/tt&amp;gt; page from a Web server, the result should look as this:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;'''A Java applet example'''&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here it is: &amp;lt;font face=&amp;quot;Times&amp;quot;&amp;gt;Hello, world!&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To minimize download time, applets are usually delivered in a form of compressed [[ZIP (file format)|zip]] archive (having [[JAR (file format)|jar]] extension). If all needed classes (only one in our case) are placed in compressed archive ''example.jar'', the embedding code would look different:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;P&amp;gt;Here it is: &amp;lt;APPLET code=&amp;quot;HelloWorld&amp;quot; WIDTH=&amp;quot;200&amp;quot; HEIGHT=&amp;quot;40&amp;quot; ARCHIVE=&amp;quot;example.jar&amp;quot;&amp;gt;&lt;br /&gt;
This is where HelloWorld.class runs.&amp;lt;/APPLET&amp;gt;&amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applet inclusion is described in detail in Sun's official page about the APPLET tag.&amp;lt;ref name=&amp;quot;appletinclusion&amp;quot;&amp;gt;[http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html Java.Sun.com] Sun's APPLET tag page&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advantages ==&lt;br /&gt;
A Java applet can have any or all of the following advantages:&amp;lt;ref&amp;gt;[http://download.oracle.com/javase/tutorial/deployment/applet/index.html Oracle official] overview on Java applet technology&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*It is simple to make it work on Linux, Microsoft Windows and Mac OS X i.e. to make it cross platform. Applets are supported by most [[web browser]]s.&lt;br /&gt;
&lt;br /&gt;
*The same applet can work on &amp;quot;all&amp;quot; installed versions of Java at the same time, rather than just the latest [[plug-in (computing)|plug-in]] version only.  However, if an applet requires a later version of the [[Java Virtual Machine|Java Runtime Environment]] (JRE) the client will be forced to wait during the large download.&lt;br /&gt;
&lt;br /&gt;
*Most web browsers [[web cache|cache]] applets so will be quick to load when returning to a web page. Applets also improve with use: after a first applet is run, the JVM is already running and starts quickly (the JVM will need to restart each time the browser starts afresh). It should be noted that JRE versions 1.5 and greater stop the JVM and restart it when the browser navigates from one HTML page containing an applet to another containing an applet.&lt;br /&gt;
&lt;br /&gt;
*It can move the work from the [[server (computing)|server]] to the [[client (computing)|client]], making a web solution more scalable with the number of users/clients.&lt;br /&gt;
&lt;br /&gt;
*If a standalone program (like [[Google Earth]]) talks to a web server, that server normally needs to support all prior versions for users which have not kept their client software updated. In contrast, a properly configured browser loads (and caches) the latest applet version, so there is no need to support legacy versions.&lt;br /&gt;
&lt;br /&gt;
*The applet naturally supports the changing user state, such as figure positions on the chessboard.&lt;br /&gt;
&lt;br /&gt;
*Developers can develop and debug an applet direct simply by creating a main routine (either in the applet's class or in a separate class) and calling init() and start() on the applet, thus allowing for development in their favorite [[Java Platform, Standard Edition|Java SE]] development environment. All one has to do after that is re-test the applet in the AppletViewer program or a web browser to ensure it conforms to security restrictions.&lt;br /&gt;
&lt;br /&gt;
*An [[untrusted]] applet has no access to the local machine and can only access the server it came from. This makes such an applet much safer to run than a standalone executable that it could replace. However, a signed applet can have full access to the machine it is running on if the user agrees.&lt;br /&gt;
&lt;br /&gt;
* Java applets are fast - and can even have [[Java performance|similar performance]] to native installed software.&lt;br /&gt;
&lt;br /&gt;
== Disadvantages ==&lt;br /&gt;
A Java applet may have any of the following disadvantages:&lt;br /&gt;
*It requires the Java [[plug-in (computing)|plug-in]].&lt;br /&gt;
*Some browsers, notably mobile browsers running [[iOS (Apple)|Apple iOS]] or [[Android (operating system)|Android]] do not run Java applets at all.&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/2368166/can-i-run-a-webpage-embedded-java-applet-on-the-iphones-web-browser Can I run a webpage-embedded Java Applet on the iPhone's web browser?]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://android.stackexchange.com/questions/987/java-applet-inside-browser-on-android Java Applet inside browser on Android]&amp;lt;/ref&amp;gt;&lt;br /&gt;
*Some organizations only allow software installed by the administrators. As a result, some users can only view applets that are important enough to justify contacting the administrator to request installation of the Java plug-in.&lt;br /&gt;
*As with any client-side scripting, security restrictions may make it difficult or even impossible for an untrusted applet to achieve the desired goals. However, simply editing the java.policy file in the JAVA JRE installation, one can grant access to the local filesystem or system clipboard for example, or to other network sources other than the network source that served the applet to the browser.&lt;br /&gt;
*Some applets require a specific JRE. This is discouraged.&amp;lt;ref&amp;gt;[http://java.sun.com/javase/6/webnotes/family-clsid.html Oracle notes on Java versioning]&amp;lt;/ref&amp;gt;&lt;br /&gt;
*If an applet requires a newer JRE than available on the system, or a specific JRE, the user running it the first time will need to wait for the large JRE download to complete.&lt;br /&gt;
*Java automatic installation or update may fail if a [[Proxy server#Web proxy|proxy server]] is used to access the web. This makes applets with specific requirements impossible to run unless Java is manually updated. The Java automatic updater that is part of a Java installation also may be complex to configure if it must work through a proxy.&lt;br /&gt;
*Unlike the older &amp;lt;code&amp;gt;applet&amp;lt;/code&amp;gt; tag, the &amp;lt;code&amp;gt;object&amp;lt;/code&amp;gt; tag needs workarounds to write a cross-browser HTML document.&lt;br /&gt;
*There is no standard to make the content of applets available to screen readers. Therefore, applets can harm the accessibility of a web site to users with special needs.&lt;br /&gt;
&lt;br /&gt;
== Compatibility related lawsuits ==&lt;br /&gt;
[[Sun Microsystems|Sun]] has made a considerable effort to ensure compatibility is maintained between Java versions as they evolve, enforcing Java portability by law if required. Oracle seems to be continuing the same strategy.&lt;br /&gt;
&lt;br /&gt;
=== 1997 Sun vs Microsoft ===&lt;br /&gt;
The 1997 lawsuit&amp;lt;ref name=&amp;quot;s1997&amp;quot;&amp;gt;[http://www.javaworld.com/jw-10-1997/jw-10-lawsuit.html 1997 year Sun-Microsoft lawsuit in JavaWorld]&amp;lt;/ref&amp;gt; was filed after Microsoft created a modified [[Microsoft Java Virtual Machine|Java Virtual Machine of their own]], which shipped with Internet Explorer. Microsoft added about 50 methods and 50 fields&amp;lt;ref name=&amp;quot;s1997&amp;quot;/&amp;gt; into the classes within the ''java.awt, java.lang'', and ''java.io'' packages. Other modifications included removal of [[Java remote method invocation|RMI]] capability and replacement of [[Java native interface]] from JNI to [[Java Native Interface#Microsoft's RNI|RNI]], a different standard. RMI was removed because it only easily supports Java to Java communications and competes with Microsoft [[Distributed Component Object Model|DCOM]] technology. Applets that relied on these changes or just inadvertently used them worked only within Microsoft's Java system. Sun sued for breach of [[trademark]], as the point of Java was that there should be no proprietary extensions and that code should work everywhere. Microsoft agreed to pay Sun $20 million, and Sun agreed to grant Microsoft limited license to use Java without modifications only and for a limited time.&amp;lt;ref name=&amp;quot;sun_suits&amp;quot;&amp;gt;[http://www.sun.com/lawsuit/summary.html Sun's page, devoted for the lawsuits against Microsoft]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2002 Sun vs Microsoft ===&lt;br /&gt;
Microsoft continued to ship its own unmodified Java virtual machine. Over years it has become extremely outdated yet still default for Internet Explorer. A later study revealed that applets of this time often contain their own classes that mirror [[Swing (Java)|Swing]] and other newer features in a limited way.&amp;lt;ref&amp;gt;[http://kenai.com/projects/ultrastudio-org/forums/message-forum/topics/7034-Most-common-problems-found-in-the-code-of-the-reviewed-applets Kenai.com (2011)] Most common problems, found in the code of the reviewed applets.&amp;lt;/ref&amp;gt;  In 2002 Sun filed an [[antitrust]] lawsuit, claiming that Microsoft's attempts at illegal monopolization have harmed the Java platform. Sun demanded Microsoft distribute Sun's current, binary implementation of Java technology as part of Windows, distribute it as a recommended update for older Microsoft desktop operating systems and stop the distribution of Microsoft's Virtual Machine (as its licensing time, agreed in the prior lawsuit, had expired).&amp;lt;ref name=&amp;quot;sun_suits&amp;quot;/&amp;gt; Microsoft paid $700 million for pending antitrust issues, another $900 million for patent issues and a $350 million royalty fee to use Sun's software in the future.&amp;lt;ref&amp;gt;[http://my.advisor.com/doc/13947 Sun - Microsoft 2002 lawsuit]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.microsoft.com/presspass/press/2004/apr04/04-02SunAgreementPR.mspx Microsoft page devoted to the Sun - Microsoft 2002 lawsuit]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2010 Oracle vs Google ===&lt;br /&gt;
{{See also|Oracle v. Google}}&lt;br /&gt;
Google has developed their own [[Android (operating system)|Android]] platform that uses Java features and concepts, yet is incompatible with standard libraries. This may be a violation of conditions under which Sun granted [[OpenJDK]] patents to use open source Java for all.&amp;lt;ref&amp;gt;[http://www.scribd.com/doc/35811761/Oracle-s-complaint-against-Google-for-Java-patent-infringement]&amp;lt;/ref&amp;gt; In 2010, Oracle sued Google&amp;lt;ref&amp;gt;[http://mobile.venturebeat.com/2010/08/12/oracle-sues-google-over-android/ Oracle sues Google over Android]&amp;lt;/ref&amp;gt; for using Java &amp;quot;in a wrong way&amp;quot;, claiming that &amp;quot;Google's Android competes with Oracle America's Java&amp;quot; and that &amp;quot;Google has been aware of Sun’s patent portfolio ... since Google hired certain former Sun Java engineers&amp;quot;. In May 2012 the jury in this case found that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable.&amp;lt;ref&amp;gt;{{cite web | url=http://www.zdnet.com/blog/btl/jury-clears-google-of-infringing-on-oracle-patents/77897 | title=Jury clears Google of infringing on Oracle's patents | author = Josh Lowensohn | work=ZDNet | date = May 23, 2012 | accessdate=2012-05-25}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
{{cite web &lt;br /&gt;
| title = Google wins crucial API ruling, Oracle’s case decimated&lt;br /&gt;
| url = http://arstechnica.com/tech-policy/2012/05/google-wins-crucial-api-ruling-oracles-case-decimated/ &lt;br /&gt;
| author = Joe Mullin&lt;br /&gt;
| work =  Ars Technica &lt;br /&gt;
| date = May 31, 2012&lt;br /&gt;
| accessdate = 2012-06-01 &lt;br /&gt;
 }} &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
There are two applet types with very different security models: signed applets and unsigned applets.&amp;lt;ref&amp;gt;[http://java.sun.com/docs/books/tutorial/deployment/applet/security.html Sun's explanation about applet security]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unsigned ===&lt;br /&gt;
Limits on unsigned applets are understood as &amp;quot;draconian&amp;quot;:&amp;lt;ref&amp;gt;[http://www.wutka.com/hackingjava/ch3.htm Java Security FAQ Applet Security Restrictions] by Mark Wutka&amp;lt;/ref&amp;gt; they have no access to the local filesystem and web access limited to the applet download site; there are also many other important restrictions. For instance, they cannot access all system properties, use their own [[class loader]], call [[native code]], execute external commands on a local system or redefine classes belonging to core packages included as part of a Java release. While they can run in a standalone frame, such frame contains a header, indicating that this is an untrusted applet. Successful initial call of the forbidden method does not automatically create a security hole as an access controller checks the entire [[Call stack|stack]] of the calling code to be sure the call is not coming from an improper location.&lt;br /&gt;
&lt;br /&gt;
As with any complex system, multiple security problems have been discovered and fixed since Java was first released. Some of these (like the Calendar serialization security bug)&amp;lt;ref&amp;gt;[http://slightlyrandombrokenthoughts.blogspot.com/2008/12/calendar-bug.html Description of Calendar serialization security bug]&amp;lt;/ref&amp;gt; persisted for many years with nobody being aware. However it seems that most (if not all) security holes are closed before they can be exploited on a larger scale.&lt;br /&gt;
&lt;br /&gt;
Some studies mention applets crashing the browser or overusing [[central processing unit|CPU]] resources but these are classified as nuisances&amp;lt;ref name=&amp;quot;SIP&amp;quot;/&amp;gt; and not as true security flaws. However, unsigned applets may be involved in combined attacks that exploit a combination of multiple severe configuration errors in other parts of the system.&amp;lt;ref&amp;gt;[http://avirubin.com/block.java.pdf Avirubin.com]&amp;lt;/ref&amp;gt; An unsigned applet can also be more dangerous to run directly on the server where it is hosted because while code base allows it to talk with the server, running inside it can bypass the firewall. An applet may also try [[Denial-of-service attack|DoS attacks]] on the server where it is hosted but usually people who manage the web site also manage the applet, making this unreasonable. Communities may solve this problem via [[Code review|source code review]] or running applets on a dedicated domain.&amp;lt;ref&amp;gt;[http://strategy.wikimedia.org/wiki/Proposal:Java_applet_support Strategy.Wikimedia.org], proposal with discussion about Java applets in community sites&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://Ultrastudio.org Ultrastudio.org], user editable educational site with full applet support&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The unsigned applet can also try to download malware hosted on originating server. However it could only store such file into temporary folder (as its transient data) and has no means to complete the attack by executing it. There were attempts to use applets for spreading Phoenix and Siberia exploits this way,{{citation needed|date=October 2010}} while these exploits do not use Java internally and were also distributed in several other ways.&lt;br /&gt;
&lt;br /&gt;
As of 1999, no real security breaches involving unsigned applets have ever been publicly reported.&amp;lt;ref name=&amp;quot;SIP&amp;quot;&amp;gt;[http://www.cs.princeton.edu/sip/faq/java-faq.php3 Java Security FAQ]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://www.securingjava.com/chapter-four/ ~ G.McGraw, E.W. Felten. Securing Java. ISBN 0-471-31952-X]&amp;lt;/ref&amp;gt; Using an up-to-date Web browser is usually enough to be safe against the known direct attacks from unsigned applets.&lt;br /&gt;
&lt;br /&gt;
=== Signed ===&lt;br /&gt;
A signed applet&amp;lt;ref&amp;gt;[http://www.informit.com/articles/article.aspx?p=433382&amp;amp;seqNum=2 Informit.com]&amp;lt;/ref&amp;gt; contains a signature that the browser should verify through a remotely running, independent [[Certificate server|certificate authority server]]. Producing this signature involves specialized tools and interaction with the authority server maintainers. Once the signature is verified, and the user of the current machine also approves, a signed applet can get more rights, becoming equivalent to an ordinary standalone program. The rationale is that the author of the applet is now known and will be responsible for any deliberate damage.{{vague|date=October 2010}} This approach allows applets to be used for many tasks that are otherwise not possible by client-side scripting. However, this approach requires more responsibility from the user, deciding whom he or she trusts. The related concerns include a non-responsive authority server, wrong evaluation of the signer identity when issuing certificates, and known applet publishers still doing something that the user would not approve of. Hence signed applets that appeared from Java 1.1 may actually have more security concerns.&amp;lt;ref&amp;gt;[http://www.indiana.edu/~phishing/verybigad/ Sid Stamm, Markus Jakobsson, Mona Gandhi (2006). A study in socially transmitted malware]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Self-signed ===&lt;br /&gt;
Self-signed applets, which are applets signed by the developer themselves, may potentially pose a security risk; java plugins provide a warning when requesting authorization for a self-signed applet, as the function and safety of the applet is guaranteed only by the developer itself, and has not been independently confirmed. Such self-signed certificates are usually only used during development prior to release where third-party confirmation of security is unimportant, but most applet developers will seek third-party signing to ensure that users trust the applet's safety.&lt;br /&gt;
&lt;br /&gt;
Java security problems are not fundamentally different from similar problems of any client-side scripting platform. In particular, all issues related to signed applets also apply to Microsoft [[ActiveX]] components.&lt;br /&gt;
&lt;br /&gt;
== Alternatives ==&lt;br /&gt;
Alternative technologies exist (for example, [[JavaScript]], [[Curl (programming language)|Curl]], [[Adobe Flash|Flash]], and [[Microsoft Silverlight]]) that satisfy some of the scope of what is possible with an applet. Of these, JavaScript is not always viewed as a competing replacement; JavaScript can coexist with applets in the same page, assist in launching applets (for instance, in a separate frame or providing platform workarounds) and later be called from the applet code.&amp;lt;ref&amp;gt;[http://www.rgagnon.com/javadetails/java-0170.html Rgagnon.com], calling a Java applet from JavaScript&amp;lt;/ref&amp;gt; [[JavaFX]] is an extension of the Java platform and may also be viewed as an alternative.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Тағы қараңыз ==&lt;br /&gt;
* [[Rich Internet application]] &lt;br /&gt;
* [[ActiveX]]&lt;br /&gt;
* [[Curl (бағдарламалау тілі)|Curl]]&lt;br /&gt;
* [[Java (бағдарламалау тілі)]]&lt;br /&gt;
* [[Java Servlet]]&lt;br /&gt;
* [[Java Web Start]]&lt;br /&gt;
* [[JavaFX]]&lt;br /&gt;
&lt;br /&gt;
==Сілттемелер==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Сыртқы сілттемелер==&lt;br /&gt;
*[http://www.java.com/download/ Latest version of Sun Microsystems' Java Virtual Machine] (includes browser plug-ins for running Java applets in most web browsers).&lt;br /&gt;
*[http://java.sun.com/docs/books/tutorial/applet/index.html Information about writing applets from Sun Microsystems]&lt;br /&gt;
*[http://java.sun.com/applets/jdk/1.4/index.html Demonstration applets from Sun Microsystems] ([[JDK]] 1.4 - include source code)&lt;br /&gt;
*[http://www.coderanch.com/how-to/java/AppletsFaq JavaRanch Applet FAQ]&lt;br /&gt;
*[http://www.interactivepulp.com/pulpcore/ Pulpcore: Open-source 2D rendering and animation framework for the Java plug-in]&lt;br /&gt;
&lt;br /&gt;
{{Java}}&lt;br /&gt;
&lt;br /&gt;
[[Санат:Java (платформасы)]]&lt;br /&gt;
[[Санат:Ақпараттану]]&lt;/div&gt;</summary>
		<author><name>Нұрлан Рахымжанов</name></author>	</entry>

	</feed>