Mac4Ever MacGameZone Gadget O'Mac Refurb-Store Mac-LAN : Jouez ! Forum : ...
icon
Vendredi 22 Juin 2001

Développer en Java pour Mac OS

Creation > Programmation
Java est au coeur de Mac OS X, au même titre que Carbon ou Cocoa. De plus, c'est un langage très accessible pour les novices et très rapide pour créer une interface. C'est donc une excellente solution pour développer simplement des softs pour Mac OS (classique ou X).
Ici, vous n'apprendrez pas à programmer en Java (cela présente peu d'intérêt pour un site Mac), mais simplement à mettre en oeuvre sur Mac un programme. En effet, la plupart des bouquins vous explique la marche à suivre sur PC, tout en.négligeant le Mac...

Si vous savez faire cela, il est assez simple d'apprendre par l'experience et en décortiquant les exemple. Il existe d'excellentes doc. sur le Net, notamment sur le site de Sun.

Quézaco ?


Le Java est un langage de programmation créé par Sun dans les années 90. Les programmes Java sont un peu particuliers : ils s'exécutent sur une machine virtuelle Java (MVJ), alors que les langages classiques compilent pour une machine physique (PowerPC, Intel, 68k, etc.). Cette spécificité permet au soft de s'éxécuter sur tous les systèmes qui possèdent une MVJ. C'est le cas de Mac OS, de Solaris, de Linux, de Windows, de Mac OS X et même de Palm OS !

Apple nous donne une raison suplémentaire de nous lancer dans la programmation Java : Mac OS X. En effet, le langage de Sun est très bien intégré à Mac OS X - et en particulier à Quartz. Les effort d'Apple pour promouvoir ce langage sont nombreux : forte présence au Java One (conférence des développeurs Java), mise à disposition d'aide et de doc complète sur le Java (la mailing list java-dev d'Apple est d'ailleurs très active), intégration de Java dans les Web Objects.

La boîte à outils du programmeur


Les outils nécessaires au développement Java sont assez classique. Comme pour tout type de développement, vous devez disposer de :

Editeur de texte

Pour taper votre programme, n'importe quel traitement de texte fera l'affaire. Mais un éditeur avec coloration syntaxique sera beaucoup plus ergonomique ; il met de la couleur sur les mots clés, simplifiant ainsi la lecture du code. BBEdit est très utilisé, mais je vous avoue une certaine préférence pour Jext.

Développer en Java pour Mac OS


Jext est un éditeur pour Mac OS X, écrit en Java et totalement gratuit (sous licence GPL). Il propose des outils de gestion des projets, la compilation sans sortir du soft... Et, cerise sur le gâteau, c'est un logiciel français !

Le compilateur Java

Il permet de transformer le programme (suite de mots clés et de fonctions) et un fichier binaire (suite de bits définissant les opérations élémentaires à effectuer par la MVJ). Pour Mac OS 8/9, vous devrez installer le SDK d'Apple. Sous OS X, vous n'avez rien à installer (pas même Project Builder), tout est là en standard. Quand je vous disais qu'Apple faisait la part belle à Java !

La machine virtuelle Java

Elle interprète le fichier binaire et "commande" la machine physique (~ l'ordinateur). La MVJ 1.1 est installée en standard depuis Mac OS 8. Si vous l'avez désinstallée, elle est disponible sur le site d'Apple. Mac OS X intègre très bien Java, et une MVJ est installée avec le système.

Un exemple de programe : Hello World


Voici un exemple de programme qui affichera le message "Hello World" dans la console Java.

import java.io.*

class HelloWorld {
   public void main( string args[] ) {
      System.out.println("Hello World");
   }
}


Sous Mac OS 8 ou 9


Compiler le code source

Une fois votre programme écrit dans l'éditeur et sauvé sur le disque, vous devez le compiler. Supposons que le programme porte le nom de "HelloWorld.java". Après avoir installé le SDK, vous trouverez l'application "javac" dans le dossier "SDK Tools".

Développer en Java pour Mac OS


Pour compiler "HelloWorld.java" vous devez le glisser sur l'icone de "javac". Cette opération créera des fichiers de type classe (ils portent l'extension ".class").

Exécuter la classe principale

Il y a ensuite deux cas : soit votre programme est une application, soit c'est une applet.

Dans le premier cas, il vous suffit de déposer le fichier "HelloWorld.class" sur l'application "JBindery" se trouvant dans le dossier "Application Builders". Cliquez sur "Save As...", choisissez un nom et enregistrez. Cette opération aura pour effet de créer une application que vous n'aurez qu'à lancer pour voir le résultat de votre travail. Si vous modifiez votre code, vous n'aurez pas besoin de recréer l'application, il suffira de recompiler le programme.

Développer en Java pour Mac OS


Dans le cas d'une applet, vous devez appeler l'applet dans une page HTML, en utilisant le tag "APPLET CODE="HelloWorld.class" WIDTH=500 HEIGHT=200". Il suffit ensuite d'ouvrir la page dans un navigateur supportant le Java (Netscape 4, IE 4, iCab 2, OmniWeb...). De la même manière que précédement, il n'est pas nécessaire de recréer la page à chaque modification du code, mais simplement de recompiler le code.

Sous Mac OS X


Compiler le code source

La compilation est un peu moins simple sous Mac OS X puisqu'il faut lancer l'application "Terminal", changer de dossier (en utilisant la commande "cd NomDuDossier" ou simplement "NomDuDossier") puis taper la ligne de commande "javac HelloWorld.java".

Développer en Java pour Mac OS


Exécuter la classe principale

S'il s'agit d'une application, ne quittez pas le terminal et tapez "java HelloWorld &". Le programme se lance. Dans le cas d'une applet, c'est la même procédure que sous Mac OS 8 / 9. Jettez un oeil ci-dessus.

Astuces pour le shell

Si vous appuyez sur la flèche montante du clavier, la commande précédante est réaffichée. Faites le plusieurs fois pour ne pas avoir à retaper une commande déjà utilisée.

Le "&" placé après le nom d'une application sert à la lancer comme un nouveau processus. Le processeur la traitera indépendement du Terminal. Vous pourrez de ce fait continuer à taper des commandes dans le terminal.

@ Mathieu


Les réactions à cet article
Témoignages et avis....
  • Le 23/02/2002, 23:23@ NONInscrit : problème de clavier sous JEXT

    Bonjour, je suis novice sur mac.
    J'utilise OSX et JEXT mais la combinaison de touches "option" et "(" ne me donne pas l'accolade "{" comme sous les autres programme.
    Quelqu'un en connait-il la raison ?
    Merci et longue vie!
  • Le 03/10/2003, 12:53@ Fred : Decompiler un .class

    Bonjour,
    Comment peut-on décompiler un .class pour voir le code ?
    (par exemple les exemples de programme sur l'os 9 : Utilitaires/Interpréteur Java pour Mac OS/mini-app/...)
  • Le 30/04/2004, 10:35@ Chen norris : Problème de lien

    Bonjour,
    Je suis encore sous Mac OS 9 et j'essaye depuis quelques temps de créer des applications Java. Je tombe sur votre site, l'un des rares à donner la procédure à suivre pour compiler, mais problème : le lien de téléchargement du SDK d'Apple ne fonctionne pas. Je suis allé voir sur le site d'Apple, dans la rubrique téléchargement, mais je me retrouve avec environ 4000 réponses. Où peut-on trouver d'autres liens pour télécharger le SDK ?
    Merci et bravo pour votre site
  • Le 05/05/2004, 16:25@ jcfaivre : anti spam

    Bonjour,
    j'ai développé un anti spam en java sous windows et je souhaiterais créer, a la demande de MAC-istes, une version, sous MAC, en fournissant les .java , vers quel outil puis je me tourner??
    JC FAIVRE
  • Le 02/08/2004, 21:12@ laurent : Non visualisation appli Java

    Bonjour,

    Je suis sous mac G4 systeme OSX 10.1.5.
    J'ai besoin pour une formation, d'etudier
    Java, de pouvoir compiler et d'editer ma programmation.
    Je viens de lire votre tuto, mais je ne comprends pas bien ou se situe cette application Java (editeur, compilateur)
    Je suis un novice en programmation.
    Par ailleurs je suis alle voir pour Jext mais sans resultats.

    Merci d'avance !
    Cordialement
    Laurent
  • Le 08/11/2004, 13:52@ hicham : code source

    code source des applets physiques par java.
  • Le 16/02/2005, 09:46@ Francois : Installation de Jext

    Bonjour,
    je n'arrive pas à installer Jext. Je lance le script ./jext, il me demande le répertoire d'intal, de java, et ensuite il revient sur le terminal sans msg de réussite ou d'alerte.

    je désespère..
  • Le 04/04/2005, 14:38@ hazzar lassaad : formation sur jbuilder

    je vais savoir les étapes à parcourir pour réaliser une interface sur le javaBuilder Personnel 9
    merci..
  • Le 17/06/2005, 17:55@ Sandrine : decompiler

    Bonjour, j'aimerais savoir s'i est possible de decompiler un fichier compiler (.class) pour voir son code source (.java). Et si cela est possible, comment le fait-on ^^
  • Le 06/10/2005, 23:40@ coucalacha : probléme de systeme

    j'ai beaucoup de probleme avec mon macje n'arrive pas a avoir shocwave il le télécharge l'installe et rien dés je vais sur des sites il me dit vous n'avez pas le shocwave
  • Le 05/02/2006, 22:10@ flower : les scripts java...

    bonjour
    je suis encore sous mac os 9 et que dois-je faire pour que mes scripts java sois remis a jour? pour pouvoir consulter sans points d'interrogations ????? qui s'affichent ds les paves de txt les rendant illisibles et ceci sur les divers sites visiter sous explorer version 5
    merci pour votre reponse rapide pour me faire part de votre avis
    flower
  • Le 09/10/2006, 15:09@ niki99 : sos

    je suis en premiere annee infographie, j'ai achete un macbook pro, je n'arrive pas lire quelques videos sur le net, et je n'arrive pas a telecharger les logitiels pour il faut dire que je l'ai depuis seulement une semaine, je cherche a des informatios.
    merci d'avance.
  • Le 27/11/2006, 16:37@ hassan : probléme de mise à jour java MAC OS X

    j'aimerais savoir si vous pouvez m'aider à updater mon java de java 1.3.1 vers java 1.5
  • Le 21/06/2007, 13:22@ faye : Installation de Java 1.5 sur Mac

    Bonjour à tous,
    Je voudrais installer Java 1.5 sur mon mac version 10.2.6. Mais j'ai des problèmes pour y arriver. J'ai besoin de conseils.
    Merci d'avance.
  • Le 13/04/2008, 14:06@ immortal2 : Erreurs

    Bonjour,
    J'ai essayé vos lignes de code et ça ne marchait pas.
    Les erreurs sont :
    -manque un point virgule au bout de la ligne "import java.io.*"
    -la ligne "import java.io.*" n'est pas utile puisque on écrit "System.out."
    -l'instruction string s'écrit avec un s majuscule.
  • Le 21/04/2009, 10:15@ lelutin : apple java ou comment on se fout des ***

    Java sous mac....c'est mal!
    Tout s'arrête au java 1.5.
    On est en 2009 cela fait quasiment 2 ans que Sun a développé le java 6 et on commence à voir du java 1.7.
    Chez Apple? bin y a bien du java 1.6 mais pour le core 2 duo uniquement... le portage expérimentale de java 1.6 à partir de bsd? oui mais sous intel et amd64... Pour les Gx? y a rien donc si t'es pauvre bin t'es dans la m****
    Java sous mac....c'est mal!
Donnez votre avis
Réagissez à cet article...
 
Si vous cherchez de l'aide ou si vous avez une question à poser, ne réagissez pas ici ! Redirigez-vous vers le forum !
Pseudo/Nom : Email (sera protégé contre le Spam) :
Titre :
Réaction :
Recopiez le code de l'image ci-contre :
Rubriques
  • humeurcreationmateriel
  • logicielsjeuxmacos