Faire le point sur Java

  • Créateur du sujet Membre supprimé 2
  • Date de début
M

Membre supprimé 2

Invité
Du côté de Java, ça commence à partir dans tous les sens.

Par exemple, Java 2 semble basé sur le JDK 1.3, c'est d'une logique évidente, hèmhèm.

Quelqu'un peut-il clarifier un peu tous ces termes que l'on peut entendre autour de ce langage:

Java2? PureJava? Servlets? JINI? et d'autres éventuellement que je pourrais avoir oublié (JDBC, 100%Java, etc)

Merci.
 
Java 2 EST basé sur le JDK 1.3 c'est sûr. (on peut lui rajouter les classes Swing dédiées aux interfaces graphiques) La version du JDK a utiliser est la 1.3_02.

PureJava, 100%Java sont plutôt des termes sur-médiatisés pour / par le marketing alors qu'il s'agit (en théorie) d'un label de qualité attribué par Sun.

Les Servlets sont généralement utilisées dans les pages Web, ce sont des pans de code Java (s'executant sur le serveur) pour générer du code HTML.

A ne pas confondre avec les JavaBeans qui sont des composants réutilisables. (des objects ou briques logiciels)

On parle aussi de JavaScript qui font la même chose que les servlets mais executées cette fois coté client.

JDBC est un ensemble de classes Java permettant de gérer les connexions aux bases de données.

voili, voilà maintenant si les termes qui fleurissent en ce moment sur le net t'interpellent, jètes un coup d'oeil là: http://solutions.journaldunet.com/dossiers/tslesdossiers.shtml

A++
 
Attention on parle de 100% java surtout dans le monde Mac OS X. En effet c'est le seul OS sur lequel tu peux utiliser Java comme langage de programmation uniquement mais en utilisant le apis cocoa (NSxxxx).
Par ailleurs tu peux utiliser les apis Java on parle plutôt de packages java dans ce cas tu fais du 100% java et ton appli dans ce dernier cas est portable ce qui n'est pas le cas quand tu utilises les apis cocoa qui elles avaient à l'origine été conçues pour le langage objective-C.
Comme les 2 langages ont beaucoup de similitudes, on peut utiliser java.
Dans le cas où les spécificités d'objective-C n'ont pas d"équivalent en java (et il y en a pas mal), on utilise ce qu"Apple appelle les Java-bridge qui sont un ensemble de fonctionnalités objectve-C accessibles à partir de java.

Le pari d'Apple c'est de faire de sa plate forme la meilleure en développement objet.
Si pour Objective-C c'est quasi gagné, Apple fait tout pour que Java le soit également. D'autant que Microsoft s'en éloigne ouvertement.
Pour cela Apple a :
- Alligné sa VM (Machine Virtuelle java) avec celle de Sun HotSpot qui à la dernière WWDC a époustouflé les développeurs présents et fera parti de la version Puma surement.
- Surtout permis aux api swing d'accéder à quartz et avoir une interface aqua exceptionnelle.
Le slogan sera : lancer la même appli java sur OS X et un autre, celle sur OS X sera plus chatoillante.
- Améliorer les applets et threads sur OS X en les alignant sur les spécificités du systàme en général et de Mach en particulier.
Conséquences, une meilleure utilisation du multiprocessing, etc....

A+
 
Bonjour,


Je cherche un environnement de développement d'application JAVA.

Le cd MacosX Developper fourni quelques APPZ dont certaines permettent la programmation en JAVA 2.
Mais lesquelles utiliser ?

L'application créée avec ces outils utilisera-t-elle l'interface AQUA ?
Est-ce que l'application créée sera cross-platform ?

Que necessite le portage d'une application JAVA développé sous MacOSX vers windows ?

Connaissez-vous de bon sites (en francais si possible) qui abordent ces sujets.


Merci d'avance.


Reben.
 
Pour Manu:
Apple semble en effet avoir mis le paquet pour Java sur MacOS X. Pourtant, peut-on dire qu'il supporte le procédé JIT?
Si ce n'est pas une compilation en cours d'exécution, ça y ressemble avec tous les efforts d'intégration au niveau du Mach etc. Mais qu'en est-il au niveau des performances?

Pour reben:
Si j'ai bien tout compris, pour développer du Java avec les outils fournis sur le CD Developer de MacOS X, tu peux utiliser Project Builder:
Pour une application Java simple, ne faisant pas appel à des spécificités Mac, tu choisis un projet de type "Java Application" en faisant New Project.
Si tu veux au contraire la rendre au look et spécificités Aqua, tu choisis "Cocoa/Java" dans les choix de types de projets. Dans ce cas, tu devras t'entendre avec ce qu'évoquait Manu: les Java Bridge pour certaines API Cocoa.

Si tu construis sur du Cocoa, ton appli Java ne sera plus cross-platform.
Toujours si j'ai bien compris, il faut plutôt la construire en application Java simple et en utilisant des objets issus des packages swing pour retrouver des éléments GUI (interface graphique) qui, eux, sont assez cross-platform.

Ais-je bien tout compris?

Dans les outils de développement disponibles avec MacOS X, tu trouveras aussi un utilitaire très pratique: JavaBrowser pour consulter toutes les classes java, celles de sun, d'apple etc, mises à ta disposition pour développer sous MacOS X.
 
Pour Manu:
Apple semble en effet avoir mis le paquet pour Java sur MacOS X. Pourtant, peut-on dire qu'il supporte le procédé JIT?
Si ce n'est pas une compilation en cours d'exécution, ça y ressemble avec tous les efforts d'intégration au niveau du Mach etc. Mais qu'en est-il au niveau des performances?

Pour reben:
Si j'ai bien tout compris, pour développer du Java avec les outils fournis sur le CD Developer de MacOS X, tu peux utiliser Project Builder:
Pour une application Java simple, ne faisant pas appel à des spécificités Mac, tu choisis un projet de type "Java Application" en faisant New Project.
Si tu veux au contraire la rendre au look et spécificités Aqua, tu choisis "Cocoa/Java" dans les choix de types de projets. Dans ce cas, tu devras t'entendre avec ce qu'évoquait Manu: les Java Bridge pour certaines API Cocoa.

Si tu construis sur du Cocoa, ton appli Java ne sera plus cross-platform.
Toujours si j'ai bien compris, il faut plutôt la construire en application Java simple et en utilisant des objets issus des packages swing pour retrouver des éléments GUI (interface graphique) qui, eux, sont assez cross-platform.

Ais-je bien tout compris?

Dans les outils de développement disponibles avec MacOS X, tu trouveras aussi un utilitaire très pratique: JavaBrowser pour consulter toutes les classes java, celles de sun, d'apple etc, mises à ta disposition pour développer sous MacOS X.
 
Enprincipe toute application java utilisant les apis swing, une fois portée sur OS X adopte automatiquemebt le look aqua.
En effet les apis swing (apis java d'interface graphique, l"équivalent d'appkit de cocoa) ont été aquaisées (si tu permets l'expression)

Il en est de même si tu développes en java-cocoa.

Là où cela devient 'vachement' interessant de développer en java sous OS X c"est qu'on dispose sous OS X d'un utilitaire génial qui s'appelle MRJAppBuilder qui permet, à partir d'un fichier jar (du code d'une appli java que tu aurais récupéré quelque part), de générer automatiquement une appli Mac OS X complètement packagé aux normes OS X, avec en plus une icône par défaut représentant une tasse de café. Icône que tu peux modifier à ton gout. Il n'y a que sous OS X que tu peux faire cela. Génial non?
Apple l'a fait car en ce moment il y a une abondance de petites applis java sur le web et dans les revues informatiques.
Avec cet utilitaire tu peux facilement porter n'importe quelle appli java sur OS X.
Une preuve de la force de Java sur OS X c'est que jBuilder (écrit complètement en Java) de Inprise fonctionne sur OS X sans que Inprise se soit cassé la tête à le modifier.
D'ailleurs à la manifestation Java one qui a eu lieu dernièrement, les gens d'Inprise avaient fait des démos de jBuilder sur....OS X.

Les perfermances viennent de la qualité de la VM qu'Apple améliore considérablement. L'aspect UNIX d'OS X aide beaucoup.
Comme je l'ai dit Apple pour java, veut faire au minimum aussi bien que Sun.

A+

[29 juin 2001 : message édité par Manu]
 
Merci de ces précisions, Manu. Mais pourtant, tu ne sembles pas vraiment croire au tout Java sur MacOS X.

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Manu:
Dans le cas où les spécificités d'objective-C n'ont pas d"équivalent en java (et il y en a pas mal), on utilise ce qu"Apple appelle les Java-bridge qui sont un ensemble de fonctionnalités objectve-C accessibles à partir de java.<HR></BLOCKQUOTE>

En gros, vaut-il mieux s'intéresser à Java? à Objective-C? à C++? pour développer.
Par exemple des applis pour le Net.
Et éventuellement, dans quel ordre?
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR> Enprincipe toute application java utilisant les apis swing, une fois portée sur OS X adopte automatiquemebt le look aqua.
En effet les apis swing (apis java d'interface graphique, l"équivalent d'appkit de cocoa) ont été aquaisées (si tu permets l'expression) <HR></BLOCKQUOTE>

Oui et non en fait même si tu programmes ton application en utilisant les interfaces de awt tu auras le look de Aqua

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR> Pour une application Java simple, ne faisant pas appel à des spécificités Mac, tu choisis un projet de type "Java Application" en faisant New Project. <HR></BLOCKQUOTE>

Correct mais il faut juste préciser que l'application en question n'est utilisable que et seulement sur OS X. Mais rien ne t'empêche de rajouter des spécificités mac.

En fait pour faire du développement en Java on peut le faire depuis n'importe ou et n'importe comment (on se comprend). Tu peux utiliser un éditeur de texte tout simple, ou Jext, ou encore XEmacs etc... L'avantage de ProjectBuilder c'est l'environnement de dévelopement que je trouve plus agréable.
Si tu crées une application avec un interface graphique elle prend l'interface Aqua (en tout cas si tu utilises awt, avec Swing je ne sais pas mais je vais me renseigner). Si tu ecris des .java ailleurs que dans ProjectBuilder tu peux les compiler depuis le Terminal: javac lenomdelaclass.java (ne pas oublier le .java) et pour runner java lenomdelacasse (sans .class ou .java)

A première vue comme ça je ne suis pas convaincu que Swing prennent l'interface Aqua. En tout cas chez moi LimeWire (qui est fait en utilisant du Swing (il y a un fichier swing.jar)) ne prend pas l'interface Aqua. D'ailleurs dans les bouquins sur le Java c'est marqué "si les éléments de l'interface utilisateur de Swing se ressemblent sur toute les plateformes,..." et je ne comprendrais pas pourquoi cela ne serait pas la même chose sur OS X...

[30 juin 2001 : message édité par Simon]
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR> Correct mais il faut juste préciser que l'application en question n'est utilisable que et seulement sur OS X. Mais rien ne t'empêche de rajouter des spécificités mac. <HR></BLOCKQUOTE>

Désolé mais alors la je comprend plus rien.

Personnellement si je veux faire du java c'est pour que mon appli soit cross-platform. Alors est-ce possible avec MacOSX ? Je trouve Project Builder pas mal mais quand on fait un build de l'appli créé on se retrouve avec un MonAppli.app, et est-ce que c'est compatible sous Windows ou autre ?

Merci d'avance.

Reben.
 
Je vais essayer d"être plus clair.

1ère hypothèse : tu veux développer des applis tournant exclusivement sous OS X

objective-c est plus que recommandé car de tous les environnements de développement sur OS X c'est celui qui dispose des apis taillés pour OS X depuis le début.
Tu utiliseras dans ce cas les apis objective-c des frameworks cocoa Foundation Kit et Application Kit

Si tu veux développer en java car tu ne veux pas apprndre un nouveau langage (objective-c) ou tu veux utiliser un langage à la mode mais dans l'optique que tes applis ne tourneron que sous OS X alors utilise cocoa java dans ce cas tu utilises la version java des frameworks cocoa Foundation Kit et Application Kit.

2-ème hypothèse : tu veux développer des applis pouvant potentiellement tourner sur plusieurs plate formes :

Tu développes en java tout court (100% java) dans ce dernier cas tu utilises les apis java du JDK.

A+

[30 juin 2001 : message édité par Manu]
 
Qqun ici a déjà essayer de se servir un peu des Dev Tools pour MacOS X?

si oui, ce qqun pourrait-il me dire comment tirer quelquechose avec ce bazar dans ProjectBuilder?

Sinon, à tous je conseille (malgré la lenteur de compilation) de programmer en java sous 9. Et de faire la mise à jour de CodeWarrior en version 6.1 (CodeWarrior IDE 4.1.0.3)
 
Manu, merci de tes réponses.

Ce qui m'interesse correspond à ton hypothèse 2.

Et dans ce cas, est-ce que les Dev Tools, comme Project Builder sont un bon choix ?


Merci.

Reben.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par reben:

Et dans ce cas, est-ce que les Dev Tools, comme Project Builder sont un bon choix ?

Reben.
<HR></BLOCKQUOTE>

Je n'ai pas une grosse expérience... J'espère ne pas dire de bêtise (reprenez moi si c'est le cas).
L'intéret des DevTools dans ton cas est l'environnement de prgrammation (tu n'es pas dans un simple éditeur de texte...).
Ton appli pourra être compilée et donner une vraie appli tournant uniquement sous osX (grave a MRJappbuilder), mais aussi tourner sous d'autres plates formes (en récupérant les intermédiaires de compilation)


Darkk, si je ne m'abuse, le problème de os9 est qu'il ne gère pas le java 2 (jdk 1.3)...
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par reben:
Personnellement si je veux faire du java c'est pour que mon appli soit cross-platform. Alors est-ce possible avec MacOSX ? Je trouve Project Builder pas mal mais quand on fait un build de l'appli créé on se retrouve avec un MonAppli.app, et est-ce que c'est compatible sous Windows ou autre ?
<HR></BLOCKQUOTE>

Je t'explique, oui le Java est un langage mutli-plateforme, non tu ne pourras pas utiliser MonAppli.app sous Windows ou autre. Pourquoi ?? Parce que quand tu crée une application sous OS X en Java en fait tu crée un Package (si tu crée une application et que tu fais un pomme-i le type sera un Package que tu peux ouvrir et tu trouveras les sources et deux ou trois autres trucs), et ce Package n'est utilisable que sous OS X.
Par contre si tu prends les sources, c'est-à-dire les .class et que tu les transfères sur une autre machine (PC ou autres) la tu peux les réutiliser.

<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Et dans ce cas, est-ce que les Dev Tools, comme Project Builder sont un bon choix ?<HR></BLOCKQUOTE>

Oui mais il faut juste ne pas utiliser des class propres au monde Macintosh, ou des class qui ont un rapport avec Cocoa. Il faut faire du 100% Java. Cela marche très bien, pour les cours j'ai du rendre un projet en Java, je développais chez moi et je réutilisais les class sur les station Sun des cours...

Pour Darkk je confirme ce qui dis BenR, sous OS 9 c'est pas top top pour programmer en Java, en tout cas pas quand tu as OS X à disposition. Et au pire si ProjectBuilder ne te branche pas, utilise un éditeur texte BBEdit et compile les sources depuis le terminal...
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Simon:


Pour Darkk je confirme ce qui dis BenR, sous OS 9 c'est pas top top pour programmer en Java, en tout cas pas quand tu as OS X à disposition. Et au pire si ProjectBuilder ne te branche pas, utilise un éditeur texte BBEdit et compile les sources depuis le terminal...
<HR></BLOCKQUOTE>

Programmer en Java sous OS 9 n'est pas si mal que ça...J'ai programmé quelques trucs dessus pour les cours l'année passée...Il faut juste avoir les outils adéquats...Pour ceux qui n'ont pas CodeWarrior ou autres, il suffit de se rendre sur le site development d'Apple
ici et d/l MRJ 2.2.5 (qui supporte le JDK 1.1.8, donc ne gère pas JDK 1.3 contrairement au Java sur X) et le SDK...
Bon, il est évident que si on possède OS X sur son DD, il serait bête de vouloir développer en Java sur OS 9.x !
Voici la page sur Java pour X . BBedit est vraiment bien fait, mais malheureusment payant
frown.gif
! Un shareware cool sur X est Pepper qui fait plus ou moins le même boulot que BBedit (avec les couleurs et tout) ! Si on veut du GNU, le must c'est XEmacs...Attention, je crois que ce n'est pas tout à fait trivial à utiliser...Il faut d'abord bien lire la docu...Faut d'ailleurs aussi que je m'y mette à la lire
grin.gif
!!

++
 
Effectivement XEmacs fait le même boulot mais c'est vrai que c'est pas hyper facile d'emploi. Il est dispo ici.

Pour BBedit il y a la version light, il y a aussi jext

[02 juillet 2001 : message édité par Simon]