devstory

Quelle plate-forme devez-vous choisir pour développer des applications de bureau Java?

  1. Introduction
  2. La programmation de l'applicationJava Desktop
  3. La technologie Eclipse
  4. RCP fait quoi?
  5. Qu'est- ce que RAP fait?
  6. RAP & RCP - Pourquoi le même code est-il?
  7. Où devriez vous commencer?

1. Introduction

En réalité, il y a plusieurs de questions courantes avec Java:
  • Quelle solution dois je sélectionner pour programmer une application de bureau Desktop?
  • Y a t- il une solution de programmation une site web ayant de l'interface similaire de l''application de Desktop?
Dans ce document, je les répondrai de la manière générale et je vous donnerai des solutions correspondantes,
Application de Desktop:
C'est une application de Desktop écrite par Java (Java Swing):
Application web:
C'est une application Web qui a une interface similaire de celle de l'application de Desktop, elle est écrite sur Eclipse RAP:

2. La programmation de l'applicationJava Desktop

En effet, pour programmer une application de Desktop, vous avez 2 choix:
  • Utilisation Swing - est une bibliothèque disponible sur JDK et est capable d'exécuter sur différents systèmes d'exploitation (Windows, Unix, Mac OS,..)
  • Utilisation SWT - est une bibliothèque pour programmer l'application de Desktop et et développée par IBM. Elle est capable d'exécuter sur différents systèmes d'exploitation (Window, Unix, Mac OS,..)
C'est une image de l'application Desktop qui est écrite en SWT et exécute sur de différents système d'opérateur:
C'est une image d'un Desktop écrit par Swing. Par défaut "Look And Feel", elle semble incensée.Danns le programme, vous pouvew choisir une autre L-A-F pour construire une interface similaire de Windows ouLinux si vous voulez.
Swing
Le package AWT (Abstract Window Toolkit) est une bibliothèque dévéloppées pour le programme de Desktop disponible dans JDK. Mais, malheureusement elle ne fonctionne un peu moins bien que prévu sur différents systèmes d'exploitation. C'est la raison pour laquelle Swing est né et remplacé AWT afin d'assurer qu'elle exécute bien sur différents systèmes d'exploitation.
Swing construit une interface graphique entièrement par Java et s'exécute sur tous les systèmes d'exploitation. Il ne remplace pas AWT, mais hérite de AWT plutôt. C'est sa faiblesse qui rend les programmeurs confus. Un grand nombre de classes appartenant à AWT n'ont pas été utilisées ou deviennent des classes héritées par les classes de Swing. À mon avis, cela ne permet pas à Swing d'être apprécié.
SWT (Standard Widget Toolkit)
SWT (Standard Widget Toolkit) est une bibliothèque graphique libre pour les applications de Desktop, initiée par IBM. SWT n'est pas un standard Java.
Cette librairie utilise le système graphique de la plate-forme d'exécution(Button, Label, ...) et créer uniquement des composantes graphiques qui n'existent pas dans cette plate-forme là par Java.
Nếu lập trình SWT tốt nhất bạn chọn Eclipse IDE để lập trình. Eclipse có thể tích hợp plugin WindowBuilder hỗ trợ kéo thả các thành phần giao diện vô cùng dễ dàng. WindowBuilder vốn là một sản phẩm thương mại nay đã được miễn phí sử dụng khi tích hợp vào Eclipse.
Comparer SWT et Swing
Swing est une bibliothèque Java pure. Après avoir terminé la programmation de l'application, vous pouvez configurer Look And Feel pour obtenir une interface similaire à Windows ou Linux ou Mac Os. Certains Look And Feels sont disponibles sur JDK, afin que vous puissiez utiliser ou acheter L-A-F. Vous exécutez donc une application Swing sur la plate-forme Windows sur laquelle l'interface d'affichage appartient à Linux, Mac Os, ...
Ceci est un lien d'introduction de la belle L-A-F:
SWT - Cette bibliothèque n'est pas entièrement écrite par Java. Lorsqu'il fonctionne sur un système d'exploitation, il essaie d'utiliser les bibliothèques de composants de ce système d'exploitation (par exemple, il utilise des Button, Label, Frame, ...), et utilisez uniquement Java pour créer des composants s'ils ne sont pas disponibles sur le système d'exploitation . Par conséquent, comme pour la vitesse, SWT est plus rapide que Swing.
Avec SWT nous n'avons pas le concept de Look And Feel comme Swing. Lorsque vous exécutez l'application sur la plate-f orme de tout système d'exploitation, l'interface est caractérisée par ce système d'exploitation.
Comparer les performances de l'application:
Vous devriez choisir SWT ou Swing?
Je pense que vous devriez choisir SWT pour la programmation d'une application Desktop, car il s'agit d'un paquet de bibliothèque avec une fourniture abondante de différents composants d'interface. De plus, il est né après Swing, donc c'est le résultat d'étudier et de remédier des faiblesses de Swing.
SWT avec des progiciels de bibliothèque en expansion est en cours de développement, par exemple:
Eclipse dévelope une nouvelle plate- forme baptisée RAP (Remote Application Platform) - RAP vous permet de programmer des applications donc les interfaces sont similaires comme celles des applications Desktop, et elle utilise également des classes familières dans SWT. Donc, vous pouvez écrire une application qui peut fonctionner à la fois sur la plate-forme Web et celle sur Desktop. C'est une force si vous choisissez SWT.
Voyez une Demo (une démo) du programme écrit par RAP:

3. La technologie Eclipse

Nous avons besoin d'avoir une vue générale de la technologie d'Eclipse
RCP (Rich Client Platform) : est une platform utilisant le programme SWT pour programmer des applications Desktop. L'exéction de différents systèmes d'opération.
(Voir plus en détails de RCP ci-dessous.)
RAP (Remote Application Platform): Est une plate-forme utilisant la bibliothèque RWT pour la programmation d'applications fonctionnant sur le Web comme l'application Desktop.
  • RWT (RAP Widget Toolkit) est un paquet de bibliothèque dont le nom de classes est identique à celui de SWT. Il a des méthodes similaires qui vous aident à programmer des applications RAP en cours d'exécution sur le Web. Grâce à cette caractéristique, avec seulement un source code, vous pouvez exécuter l'application sur la plate-forme Desktop ou Web.
RAP fonctionne bien sur différents navigateurs.
Tabris - est un paquet de bibliothèque qui écrit des applications Mobile et peut fonctionner sur différents types de Mobile.

4. RCP fait quoi?

RCP (Rich Client Platform) : Une plate- forme utilisant la bibliothèque SWT pour programmer des applications Desktop. L'exécution sur différents système de l'opération, c'est une plate- forme créée Eclipse IDE.
Par conséquent, RCP est une plate- forme utilisant SWT comme base de construction. Vous pouvez utiliser la plate-forme RCP pour programmer des applications Desktop.
L'image ci-dessous illustre une application simple (utilisez uniquement SWT, sans utilisant les choses avancées de RCP Platform):
RCP Platform a construit une plate-forme qui vous permet de programmer des interfaces structurelles compliquées comme Eclipse IDE, Il comprend les systèmes Menu, Toolbar, View, Editor, ...
RCP vous permet également de développer des Plugin intégrés dans Eclipse que vous utilisez.

5. Qu'est- ce que RAP fait?

RAP (Remote Application Platform): Est une plate-forme utilisant la bibliothèque RWT pour programmer des applications exécutant sur Web comme celles de Desktop.
  • RWT (RAP Widget Toolkit) est un ensemble de bibliothèques avec des classes dont les noms sont identiques à ceux des classes de SWT et dont les méthodes sont similaires. Cela vous aide à programmer des applications RAP sur le Web. Étant donné que cette fonctionnalité ne nécessite qu'un seul source code, vous pouvez exécuter l'application en tant qu'application de Desktop ou sur le Web.
Comme RCP, RAP est une plate-forme qui nous permet de créer des applications dont les interfaces sont aussi compliquées que celles d'IDE Eclipse.
Comme RCP, RAP est une plate-forme qui nous permet de créer des applications dont les interfaces sont aussi compliquées que celles d' Eclipse IDE.

6. RAP & RCP - Pourquoi le même code est-il?

Celle-ci est la structure de deux plate-formes:
  • RCP est basé sur SWT (Standard Widget Toolkit)
  • RAP est basé sur RWT (RAP Widget Toolkit)
Voici est un exemple du code, ajouter un Button à une Composite:
** MyApplicationWindow **
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;

public class MyApplicationWindow  {

    .......

   protected void createContents() {
       .......

       Composite composite = new Composite(shell, SWT.NONE);
       composite.setLayout(new GridLayout(1, false));
      
       Button btnMyButton = new Button(composite, SWT.NONE);
       btnMyButton.setText("My Button");
   }

}
SWT, et RWT utilisent la classe org.eclipse.swt.widgets.Button pour créer Button .

Le code de la classe Button dans SWT (exécuter sur desktop) est différent à celui de la classe Button de RWT (exécuter sur WEB).
  • La classe Button de SWT est emballée dans le fichier jar baptisée org.eclipse.swt_*.jar
  • La classe Button de RWT est emballée dans le fichier jar nommée org.eclipse.rap.rwt_*.jar
Target Platform is a library environment where you can declare.

You can declare two Target Platforms. One includes RCP libraries, and another includes RAP libraries.
  • RCP Target Platform
  • RAP Target Platform
With the same code but if you run with RCP Target Platform, you will get a Desktop application; if you run with RAP Target Platform, you will get an application on Web.

Of course, RAP and RCP have some differences. No all components of SWT have equivalently on RWT, and vice versa. In specific situations, we can handle this difference. Applications which can run on both Desktop and Web are known as "Single Sourcing".

7. Où devriez vous commencer?

Si vous sélectionnez la programmation RAP-RCP. Vous devez étudier de SWT, cela signifie que vous pouvez étudier facilement de RWT.
Travailler avec SWT signifie de collaborer avec des objets Widget (Button, Label, ..) et de gérer Layout. WindowBuilder qui est un plugin, nous permet de glisser et déplacer des composants sur l'interface et automatiquement générer des codes correspondants.
Vous pouvez faire des références dans le document ci- dessous, il vous instruit de programmer SWT avec WindowBuilder qui est un outil virtuel qui vous aide à glisser et déplacer facilement des composants de l'interface.
Après avoir maîtrisé la programmation avec SWT, vous pouvez continuer avec le RCP ou le RAP.
SWT:
RCP
RAP
  • Hướng dẫn lập trình Eclipse RAP cho người mới bắt đầu - Ứng dụng cơ bản

Java Basic

Show More