CrazyEngineers Archive
Old, but evergreen and popular discussions on CrazyEngineers, presented to you in read-only mode.
@Raviteja.g • 02 Feb, 2009
hi friends, after a long time i had logged into this site due to my exams i am separated from this great CE😀sshhh: temporarily)
ok
now i had a small doubt 😕that what is the main difference between applets and html.
what is the reason that make to find applets if the same operations can be done through html codes
waiting for ur reply..!
@shalini_goel14 • 02 Feb, 2009 Hi Raviteja,

Welcome back to CE. 😀

A very good question.[​IMG]

As much to my knowledge in one sentence: Unlike html code, applets are intelligent programs. Html code has very limited functionality.
@Kaustubh Katdare • 02 Feb, 2009 If you are willing to accept an answer from non-computer engineer; here it goes 😉 -

1. HTML is Hyper Text Markup Language. Remember -it is NOT programming! It's just putting 'marks' around the text so as to make it look beautiful as a web page.

Here's how HTML looks (note, its just putting up tags around the text)

<html>
<body>
The content of the body element is displayed in your browser.
</body>
</html>


2. Applet on the other hand is a JAVA program that is 'embedded' in the HTML code to provide 'functionality' (note the quotes!) to the web page.

Here's a sample applet code taken from Source: https://java.sun.com/applets/jdk/1.4/demo/applets/ArcTest/ArcTest.java
/*
 * @(#)ArcTest.java	1.5 98/06/29
 *
 * Copyright (c) 1997, 1998 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
 * modify and redistribute this software in source and binary code form,
 * provided that i) this copyright notice and license appear on all copies of
 * the software; and ii) Licensee does not utilize the software in a manner
 * which is disparaging to Sun.
 *
 * This software is provided "AS IS," without a warranty of any kind. ALL
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGES.
 *
 * This software is not designed or intended for use in on-line control of
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in
 * the design, construction, operation or maintenance of any nuclear
 * facility. Licensee represents and warrants that it will not use or
 * redistribute the Software for such purposes.
 */

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

/**
 * An interactive test of the Graphics.drawArc and Graphics.fillArc
 * routines. Can be run either as a standalone application by
 * typing "java ArcTest" or as an applet in the AppletViewer.
 */
public class ArcTest extends Applet {
    ArcControls controls;   // The controls for marking and filling arcs
    ArcCanvas canvas;       // The drawing area to display arcs

    public void init() {
	setLayout(new BorderLayout());
	canvas = new ArcCanvas();
	add("Center", canvas);
	add("South", controls = new ArcControls(canvas));
    }

    public void destroy() {
        remove(controls);
        remove(canvas);
    }

    public void start() {
	controls.setEnabled(true);
    }

    public void stop() {
	controls.setEnabled(false);
    }

    public void processEvent(AWTEvent e) {
        if (e.getID() == Event.WINDOW_DESTROY) {
            System.exit(0);
        }
    }

    public static void main(String args[]) {
	Frame f = new Frame("ArcTest");
	ArcTest	arcTest = new ArcTest();

	arcTest.init();
	arcTest.start();

	f.add("Center", arcTest);
	f.setSize(300, 300);
	f.show();
    }

    public String getAppletInfo() {
        return "An interactive test of the Graphics.drawArc and \nGraphics.fillArc routines. Can be run \neither as a standalone application by typing 'java ArcTest' \nor as an applet in the AppletViewer.";
    }
}

class ArcCanvas extends Canvas {
    int		startAngle = 0;
    int		endAngle = 45;
    boolean	filled = false;
    Font	font;

    public void paint(Graphics g) {
	Rectangle r = getBounds();
	int hlines = r.height / 10;
	int vlines = r.width / 10;

	g.setColor(Color.pink);
	for (int i = 1; i <= hlines; i++) {
	    g.drawLine(0, i * 10, r.width, i * 10);
	}
	for (int i = 1; i <= vlines; i++) {
	    g.drawLine(i * 10, 0, i * 10, r.height);
	}

	g.setColor(Color.red);
	if (filled) {
	    g.fillArc(0, 0, r.width - 1, r.height - 1, startAngle, endAngle);
	} else {
	    g.drawArc(0, 0, r.width - 1, r.height - 1, startAngle, endAngle);
	}

	g.setColor(Color.black);
	g.setFont(font);
	g.drawLine(0, r.height / 2, r.width, r.height / 2);
	g.drawLine(r.width / 2, 0, r.width / 2, r.height);
	g.drawLine(0, 0, r.width, r.height);
	g.drawLine(r.width, 0, 0, r.height);
	int sx = 10;
	int sy = r.height - 28;
	g.drawString("S = " + startAngle, sx, sy);
	g.drawString("E = " + endAngle, sx, sy + 14);
    }

    public void redraw(boolean filled, int start, int end) {
	this.filled = filled;
	this.startAngle = start;
	this.endAngle = end;
	repaint();
    }
}

class ArcControls extends Panel
                  implements ActionListener {
    TextField s;
    TextField e;
    ArcCanvas canvas;

    public ArcControls(ArcCanvas canvas) {
	Button b = null;

	this.canvas = canvas;
	add(s = new TextField("0", 4));
	add(e = new TextField("45", 4));
	b = new Button("Fill");
	b.addActionListener(this);
	add(b);
	b = new Button("Draw");
	b.addActionListener(this);
	add(b);
    }

    public void actionPerformed(ActionEvent ev) {
	String label = ev.getActionCommand();

	canvas.redraw(label.equals("Fill"),
	              Integer.parseInt(s.getText().trim()),
	              Integer.parseInt(e.getText().trim()));
    }
}


So, HTML (and CSS) will decide how the page will look and applet will decide how the web page acts.

Clear enough?
@sumitjami • 02 Feb, 2009 After all i am also back 😁
...........project project project.........tired of it..............

Applets are nothing but programs which run when a particular page is loaded and runs independently as an independent program, applets provide containers for in which programmer can perform any task any task just as it would be any other desktop program
however the fact to be considered is that this program is not installed and only run directly ......at the same time this app is transfered through the web hence care has to be taken that it is not very large in size.....

Whereas the HTML as described is nothing but a decoration language which is used to put all the data to be displaced together on a page.........
@Karshil Sheth • 14 Feb, 2020

Applet is not used now-a-days in industry as the need of GUI programming and such things are not done. It has many limitations and is considered as deprecated.

Html is markup language for displaying the content on the web page. It is the skeleton of any website and is used minimally but not deprecated as applets. 

2.9k views

Related Posts

@MegaByte · May 18, 2011

We all being Engineers have the habit of solving most of the problems using 'Calculator'. So, let us share the tricks to perform the basic calculations without making the use...
2.3k views

@subash roy · Oct 10, 2012

Engineering Entrance Examinations Preparation Books There are many good Engineering Entrance Examinations Preparation Books which have proved to very helpful. These books include the test pattern, a well designed study...
5.6k views

@Prajakta Kelapure · Jul 6, 2014

Hii all, I am doing my post graduation in Signal Processing. I am searching for the project in Image Processing. I want to do it with LabView as the tool....
2.4k views

@Ankita Katdare · Nov 6, 2014

The latest entrant in Panasonic India's P series of smartphones is Panasonic P55, a 5.5 inch screen phablet that runs on Android 4.4 KitKat operating system. We've earlier covered the...
2k views

@Chirayu Samarth · Dec 16, 2014

After launching Iris Fuel 50 last month, the Indian mobile vendor has now launched another budget smartphone Lava Iris Fuel 60 at Rs. 8,888. The company asserts that the smartphone...
2.1k views