Technologies Beyond Html
Essay by review • February 20, 2011 • Research Paper • 4,077 Words (17 Pages) • 2,266 Views
Web pages can incorporate technologies into HTML to enable and enhance the Internet experience beyond the mere presentation capabilities provided by HTML. By itself, HTML is useful in formatting static web documents for online presentation. Now that the Internet has developed into a tool for entertainment, news, and commerce, HTML's mere web static presentation capabilities are insufficient. Web developers now employ technologies that integrate dynamic content, visitor tracking, and interactivity into web sites. These technologies include programming languages like Java and JavaScript, multimedia players for video and music, and cookies to remember information about web visitors.
The commerce and communication aspects of the Internet, call for the ability to enhance presentation and content dynamically. When communicating information or news it is important to get and keep audience attention. Active and attractive content addresses this truism. Additionally, all commerce requires interaction or exchange between entities; merchant and customer, supplier and distributor, publisher and subscriber, and so forth. For web pages to be tools of commerce, they must provide some interactivity. Building dynamism and interactivity into a web site requires adding means to detect and react to both internal and external web page events. The "means" used for detecting and reacting in HTML is one or more programs embedded in or called from the HTML code.
Customizing the detection and reaction to events usually requires programming. It follows that programming requires a programming language. In web page programming, two of the most popular and enduring of these programming languages are Java and JavaScript. Despite trivial similarities in name and syntax, these languages are very different. Tables 1 through 3 below explore the similarities and differences between these two languages. Note: The contents of the three tables below are based on numerous sources; however, the table structure, elements, and some contents are paraphrased from Woodger Computing's Java vs. JavaScript webpage (January, 2008).
Java versus JavaScript: General Items
Item JavaScript Java
Implementation Code text interpreted by browser at runtime, then executed. Code cannot stand-alone. Code compiled into machine-independent intermediate byte-code. The platform running the code uses machine-specific Java Virtual Machine (JVM) to interpret the byte-code and run it.
Dependency JavaScript is browser dependant, rather than platform dependant, since the browser interprets and executes the code. Java applets (mini-applications) run within browsers that support them. The platform running the browser must have JVM installed.
Minimum Development Environment JavaScript code can be developed using an ordinary text editor. Testing requires running the code with a browser. Java requires a Java Developer Kit (JDK) develop Java code. The JDK includes a compiler, a debugger and an applet viewer.
Language Philosophy A loosely typed scripting language aimed at web designers and developers - rather than software developers.
JavaScript tries to continue running unless it encounters an insurmountable syntax error. A more rigorous language, Java's compiler works at preventing runtime issues before any questionable or dangerous actions take place.
Learning Curve JavaScript is a smaller and more straightforward to learn. Java is larger and more complex language. It requires more programming skill.
Table 1: Java vs. JavaScript, General Items. Woodger Computing Inc. (2008, January)
Java versus JavaScript: Presentation Features
Item JavaScript Java
Web Presentation Ability JavaScript can build dynamic web pages.
JavaScript provides more direct control over the browser. (e.g. controlling the back button, refreshing the page, etc.) Java had dynamic capabilities much earlier that HTML/JavaScript but the gap has been greatly narrowed.
Only Java can be used for live streaming of data (e.g. stock-market tickers).
Web Presence The relative predominance of HTML/JavaScript on the web can probably be attributed to easier GUI development and faster webpage downloading times. Many Java applets are found on the web.
Developing User Interfaces User Interfaces are developed in HTML. JavaScript is included in the webpage and it interacts with the HTML form elements.
Tools exist to make developing web pages (HTML and JavaScript) much easier. In plain Java, user interfaces are developed in AWT or Swing. Working directly with these Java libraries is challenging.
Java development environments can hide the underlying complexity of developing user interfaces directly in Java.
Client-side Security JavaScript does not allow direct access to a user’s hard-drive (beyond Cookies which the browser directly controls).
JavaScript has more security holes. Java is very strict about not allowing access to memory or devices outside the applet. Certain actions are allowed as long as the user explicitly grants permission. Overall, Java is considerably more secure than JavaScript.
Standalone Java applications or applications that run in the middle tier (as opposed to applets within browsers) can do regular operations (e.g. file I/O, program initiation, etc.)
Secrecy of Client-side Code JavaScript is directly viewable using "View Source". There is no means to hide the code from a knowledgeable web surfer. Compiled Java bytecode is sent to the client so a casual web surfer cannot easily understand your Java logic. However, a determined hacker can use inexpensive Java decompilers to recreate readable source code.
In short, sensitive code or proprietary algorithms are best executed as server code (behind a firewall) where they are not accessible.
Language Interoperability Applets are included into a webpage by specifying a Java initiating parameters in a HTML tag.
JavaScript can call public Java methods and read/update public Java variables for an applet running on the webpage. When given permission by the webpage (i.e. "MAYSCRIPT" attribute specified in APPLET tag), a Java applet can call JavaScript functions on the parent webpage, it can read/update HTML form elements and it can directly execute JavaScript code (e.g. an alert).
Table 2: Java vs. JavaScript, Presentation Features. Woodger Computing
...
...