If to speak about computer programming languages, then they do not have any restrictions (almost). Thus comes an idea of adding a finished program in the web-page. In the browser window a rectangular area of a specific size will respond to such an object. The hooking program will be fully responsible for the content of this window. "Built in" program will differ from the application, which will run on this computer only by the absence of its own web window and fixed position relative to the other elements of a Web page.
Unfortunately, there are many obstacles for the realization of this simple scheme.
- Its more then risky idea to provide anyone who wants to perform his program on his own PC. Unlike JS-script, the program could easily infect PC by virus or steal confidential information.
- Executable file that will be compiled for a single computer platform, can not work in another OS, on the other platform, and so on. Its impossible for web-pages to know which OS is installed on the user's computer, so the question of choosing the right software version of several available disappears. This moment can be avoided if to sent the source code from the server not in the form of binary code, in order that user's computer fulfill this code itself. This solution has its own drawbacks: lost most of the performance, there is no way to insure against any compilation errors, and also you need to install a interpreter of programming language.
- And, the last, its quite difficult to provide a small size of the file, which can be easily downloaded from the network. Its almost impossible to change the program file size without significant functional limitations.
We can distinguish three main technologies of program objects embedding. This are: plug-in modules, applets in the Java language, « ActiveX components».
- plug-in modules suggests the presence of two components: a common module, which you need to download and install one time, and objects which are connected to HTML-page. Objects can consist only of data - for example, images or sounds in a special format, which can only be handled by this module. When they also contain the program code, they usually have a small size, because the most time-consuming part is implemented inside the main module. This gives the opportunity to make small sizes of downloaded data. When applying modules security issues most often are not worth. Only a few types of objects have the ability to harm your computer, but you can quite easy protect yourself from them. And regarding the incompatibility of platforms, the developers have to create a modules for all the operating systems.
- Applets in Java language, considering their features, have many similarities with pluggable modules. The main volume of work while running applet falls on a system software, which is called a " Java virtual machine». It is included in all popular browsers. The object connected to the web-page includes a so-called "byte codes", which are something between the compiled binary file of programs and source code. It is a compromise between portability and performance. The functionality of a java- applet is more limited, than modules (pluggable). However, Java is ranked as a fully functional language, hence, this language in the applet does not work with your computer, it works with virtual machine, which protects your computer from the results of the applet's work. Of course, wherever there is protection, you can try to bypass it, but overall, Java- applets is revered a quite friendly technology.
Unfortunately, each of the web browsers has its own virtual machine, so the applet which runs on the one machine, sometimes may not want to work on another machine. Besides the fact, as any multilevel system Java- applets lose in performance in comparison with the usual programs. And also. A need to program "truly" to create a java- applets, greatly increases the laboriousness of such process.
- At one time « ActiveX components», which are technologies of Microsoft company, wanted to compete with Java- applets. They were limited only by Internet Explorer and Windows platform. It is noisy and quickly forgotten innovation was characterized by the lack of "pad" between the operating system and the software module. For security solution was created a system of "electronic signatures". Therefore there is nothing surprising that so heavy weight system proved to be unsustainable. For today ActiveX-objects of Microsoft company are applied only sometimes.