Multiplate-form
A software multiplate-form is a Logiciel conceived to function on several platforms , i.e. the couple binding Ordinateur and Operating system. In English one often speaks about “cross-country race-platform software” or “platform independent software” or of “multi-platform software”.
Many a computer programming languages is multiplates-forms. Indeed, it is enough to develop a Compilateur intended to generate a comprehensible achievable code by each Processeur S which one wishes to use.
For example, a software made with the graphic library GTK+ under Linux will not function such as it is under Windows, even if the Architecture is the same one. Even if the language is the C, the inner working of the management of posting is different. One touches here with the concept of Portabilité of a program.
The problem arises quickly with the developers: to choose a platform for a program amounts restricting the audience of this one. This problem becomes more and more complex more especially as the IT sector tends to diversify, so much in the operating system (Linux, Mac OS, etc) that in the material (GSM, PDA, etc).
Various technical solutions
To allow the software to have the most possible audience one can resort to three techniques:
- languages compiled with libraries multiplates-forms,
- interpreted languages,
- semi-interpreted languages.
Languages compiled with libraries multiplates-forms
The speed of execution and integration are big factors in many developments. It is then necessary to pass by the compiled languages . The various systems managing from many things differently, one must pass by libraries multiplates-forms to obtain the abstraction necessary to programming multiplate-form.Another advantage of the compiled programs is that those are directly usable in the end user. By providing the library with the product, it is not necessary to use an interpreter or a virtual machine.
There is all the same a disadvantage with the use of compiled programs multiplates-forms: distribution. It is indeed necessary to compile a version of the program for each operating system and each architecture, and this with each version of the program. In the case of the open software source that does not pose really a problem because it is enough to provide the means of compiling on each operating system.
Among the most popular libraries the multiplates-forms let us quote WxWidgets and Qt. These two libraries provide a very complete framework which makes it possible to once develop an application for many systems (Linux, Mac OS, Windows, Windows CE, Palm OS, etc).
Interpreted languages
The interpreted languages propose another approach of the problem. Such languages are interpreted with each time the program is used, of the blow if the Interpréteur exists for a given platform, the program will function on this platform. Nevertheless, the use is also easy only if all that is used in the program belonged to libraries standards. To use advanced functions, it is necessary to be folded back on libraries multiplates-forms (for example still WxWidgets and Qt).The distribution of software in interpreted language is much easier but often should be provided the adequate interpreter. Another problem is that the sources of the software are provided, that can pose problems if the code contains a process which must remain secret.
Semi-interpreted languages
The most recent approach to create multiplates-forms applications is the use of semi-interpreted languages. These languages are compiled towards an intermediate code which is interpreted. This approach has same the advantages that the code interpreted but has more an high speed of execution.The principal example is the language Java of Sun Microsystems. This language is compiled in bytecode Java which is then interpreted by a virtual machine. The bytecode can be carried out on each platform where the virtual machine is implemented. In spite of the use of semi-interpreted codes, Java with the reputation to be slow. The Java language can be compiled in native code (for example with GCJ) but it loses its portability then. The distribution of Java poses the problem of the virtual machine, it is necessary to distribute this one with the software, which is not always very easy.
Simple: Cross-country race-platform
| Random links: | Xianyang | Alex Kidd | Sea of Davis | Harris Steel Group | Right of associations in France | Mars_des_volontaires |