IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

[Débat] Quel avantage offre Java pour réaliser des applis web face au php ?


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut [Débat] Quel avantage offre Java pour réaliser des applis web face au php ?
    Bonjour,

    Je ne veux pas faire de débat Php ou Java mais juste comprendre que fait java pour le web ainsi de ses avantages/inconvénients. Avant tout, voici pourquoi je vous pose cette question.

    En 2001, j'ai suivi une formation Java + Base de données. J'ai adoré ce language de programmation qui n'était pas aussi avancé que maintenant. Bref, même si cette formation fut passionnante je n'ai pas vraiment trouvé d'emploi dans ce domaine et par la suite, j'ai du abandonné le Java pour faire du développement Windows en POO/C++. Dernièrement, je me suis mis au langage PHPcar dans la ville ou je me situe, c'est le langage le plus populaire et demandé (je ne suis pas en France, il y'a très peu de SSII).

    Aujourd'hui je me rends compte que Java fait du web, et qu'apparement il le fait très bien. Dans le département ou je me trouve il est difficile de trouver un emploi en informatique, alors il faut avoir des multi-compétences. Aussi, dans le dernier numéro de magazine que j'ai lu (capital) présente comme métier de niche :

    - Développeur maîtrisant les languages .Net ou Java/J2EE
    - Architecte J2EE : un profil rare que les SSII s'arrachent...

    Voilà, comme je l'ai dit, trouver un emploi par ici est difficile et nombreux sont les informaticiens (toutes compétences confondues, exclus les Administrateur Réseau, pour eux, y'a toujours du taff) ; un peu comme les musiciens, il y'en à chaque coin de rue mais très peu en vive. Les entreprises ont toujours un retard par rapport au technologies Français (certainement du fait qu'il n'y a pas de SSII).

    Je me demande alors, quelle est la place de Java (pour les applications web) comparé aux applications php ? Est-ce que pour moi, ancien développeur Java, réaliser des sites web en java va me demander un véritable apprentissage ? J'ai lu sur un site PHP que les framework JAVA (pour le web uniquement) sont très complexes à utiliser car il faut créer plusieurs types de fichiers ou qq chose comme ça pour un code "simple". Qu'en est-il exactement ? Est-ce que développer des applications web en Java devient un standard ?

    Je vous remercie pour les éventuelles réponses que vous saurez m'apporter. Excusez-moi si je ne suis pas dans le bon forum, mais je m'y perds, et je remercie les modérateurs de ré-aiguiller ce post vers un forum plus approprié. Excusez-moi aussi si ce message vous semble déplacer par son contenu ou trop long.

    Très cordialement.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Etant donné que tu es dans la section java, ca risque d'être dur pour php

    - Java est un langage pur objet
    - Java a des centaines d'API (internationalisation, base de données, messaging, etc.)
    - Java facilite la mise en place d'architectures n-tier
    - Java facilite l'utilisation du model 2 (MVC)
    - Java permet aussi de développeur des applications lourdes. Il est courant d'avoir d'un côté un client lourd et de l'aute un client léger. En php c'est impossible. Dès que tu sors du navigateur tu ne peux plus rien faire.
    - etc.

    Concernant les frameworks c'est certain que la mise en place d'une simple page avec struts est plus lourde qu'une simple page en php ou jsp.
    Mais en tant que professionnelle ca ne veut rien dire. Tu admettras que développer un site pour une entreprise de 10 pages ce n'est pas courant. Et donc les bénéfices se font tout de suite ressentir.
    De plus, on parle souvent de struts, mais jsf est beaucoup plus léger, et même pour une simple page je ne suis pas sur que ca prenne plus de temps à mettre en place.
    Et j'ajouterai qu'il n'existe pas que des frameworks de présentation, tu as aussi des frameworks de persistence comme Hibernate, qui facilite la vie comme jamais.

    Comme tu le dis les entreprises cherchent des développeurs .NET et Java, donc oui c'est un standard du web. Les sites des grandes entreprises (SFR, la SNCF, Orange, la société générale, etc.) utilisent c'est 2 technologies, c'est donc difficile d'affirmer le contraire.

    Il y a quelques années je n'aurais pas dit, mais aujourd'hui je ne vois aucun inconvénient à java. Depuis l'apparition des annotations et des ejb 3, tout est quasiment parfait.

    Mais c'est certain que ca ne s'apprend pas comme ca. Il faut se plonger dedans et ca prend du temps.
    Ca dépend de ton rythme de travail. A 5/6h par jour il faut environ 6 mois pour survoler toutes les possibilités. Pour être à l'aise ca dépend des gens.

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    En fait, tu veux dire que aujourd'hui on peut réaliser des applications orientées web en full java et avoir accès à toutes les technologies Web (ajax...) en Java comme on pourrait le faire avec n'importe quel langage web ?

    De plus, on parle souvent de struts, mais jsf est beaucoup plus léger, et même pour une simple page je ne suis pas sur que ca prenne plus de temps à mettre en place.
    Et j'ajouterai qu'il n'existe pas que des frameworks de présentation, tu as aussi des frameworks de persistence comme Hibernate, qui facilite la vie comme jamais.
    Sans entrer dans les détails car j'irai me renseigner sur les forums/tutoriaux appropriés quel est l'utilité de ces technologies ? Créer des pages web en s'appuyant sur tout un environnement client/serveur implémenté en Java ?

    Enfin, je pense qu'une réponse cloturera mon post principal : est-ce que Java est une technologie très utilisé uniquement dans les grosses structures (tu cites par exemple Orange, SFR, etc.) ? Peut-être que ces technologies demandes des ressources particulières (en tant que gestion de projet, communication entre serveurs spécialisés, etc.) mais pour la plupart des besoins PME, les technologies autour de Java sont trop lourdes ?

    Merci pour le temps que tu as pu consacrer un dimanche soir pour rédiger cette réponse.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    Citation Envoyé par whitespirit Voir le message
    En fait, tu veux dire que aujourd'hui on peut réaliser des applications orientées web en full java et avoir accès à toutes les technologies Web (ajax...) en Java comme on pourrait le faire avec n'importe quel langage web ?
    Ajax n'est pas une techno, mais un florilège de technologie
    Citation Envoyé par Tommy31 Voir le message
    Par contre le très gros désavantage que je vois dans ce choix, pour un contexte moins professionnel, c'est le problème de l'hébergement. Php ca se déploie n'importe où, java c'est plus délicat.
    En plus c'est dur à déployer, j'ai galérer au installer tomcat sous win (pas le droit de créer des service) mais quand tomcat est installé, roule ma poule
    en clair java c'est dur à apprendre (par rapport au php) dur à déployer (par rapport) au php, mais une fois que ça roule c bon
    php c'est facile (parfois trop par rappport au autre langage), c'est facile à apprendre facile à déployer ...
    donc pour des entreprises spécialisées (édition de logiciel, agence de voyages ...) le php c good => les dévelloppeurs php sont 'moins chers" que les dév Java
    pour les autres (banques, administration ...) java c cool parce que tu peux utilser des ejb, faire de la programmation par composant, faire des applis lourdes ... ce que ne fait pas php puisqu'il est orenté Web (focalisé sur le web)

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    L'argument de la difficulté est un critère de sélection mais qui ne retiens pas mon attention pour le moment. Non pas que je le néglige, au contraire, mais que ce temps d'apprentissage peut-être quantifié.

    Par contre les autres arguments m'intéressent davantage. Toutefois, vous avez déjà répondu à ma principale interrogation sur le choix et l'avantage/inconvénient du choix de Java. Je ne clique pas maintenant sur [résolu] au cas ou d'autres personnes voudraient apporter leur témoignage.

    Une précision, lorsque je parlais de Ajax, je voulais dire est-ce qu'il était facile d'intégrer de l'Ajax dans une application orienté web avec Java?

    Vous m'excuserez de n'avoir pas de connaissances plus pointues autour de java (je trouve qu'il est difficile de comprendre l'utilité de Java car beaucoup de "termes/technologies" viennent se compléter et de trouver le fil conducteur n'est pas tâche facile (jsp, ejb, struts, est-ce qu'on parle de framework, etc.) . A chaque fois que je rencontre un de ces termes, je fais un tour sur google pour comprendre de quoi il s'agit mais peut-être que vous avez un site/tutoriel récapitulant tout ce qui se trame autour de Java ? Je n'en ai pas trouvé. Cette conversation reste donc très limité, ceci du à mes connaissances, quel regret!

    [EDIT]
    J'ai trouvé ce site regroupant sur une page les principales définitions que je cherchais autour de Java. C'est léger mais au cas ou vous êtes dans mon cas, vous pouvez toujours lire ces définitions java.
    [/EDIT]

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    En fait, tu veux dire que aujourd'hui on peut réaliser des applications orientées web en full java et avoir accès à toutes les technologies Web (ajax...) en Java comme on pourrait le faire avec n'importe quel langage web ?
    oui

    Sans entrer dans les détails car j'irai me renseigner sur les forums/tutoriaux appropriés quel est l'utilité de ces technologies ? Créer des pages web en s'appuyant sur tout un environnement client/serveur implémenté en Java ?
    - Tout ce que j'ai mis dans mon précédent post
    - Langage robuste

    Côté matériel de la chose:
    - Beaucoup de boulot un peu partout dans dans le monde (quoi que, en Birmanie pas sûre )
    - Salaires plus élevés pour un développeur JEE que php

    Enfin, je pense qu'une réponse cloturera mon post principal : est-ce que Java est une technologie très utilisé uniquement dans les grosses structures (tu cites par exemple Orange, SFR, etc.) ? Peut-être que ces technologies demandes des ressources particulières (en tant que gestion de projet, communication entre serveurs spécialisés, etc.) mais pour la plupart des besoins PME, les technologies autour de Java sont trop lourdes ?
    C'est surtout qu'un projet en java ca coute très cher c'est donc logique de voir principalement de grosses entreprises qui l'utilise.

    J'infirme ce que dit sliderman, à moins de ne pas être doué ca na rien de compliqué. Pas plus que d'installer un serveur LAMP par exemple.

    Une précision, lorsque je parlais de Ajax, je voulais dire est-ce qu'il était facile d'intégrer de l'Ajax dans une application orienté web avec Java?
    Je préviens j'ai souvent du mal à me faire comprendre d'un néophique quand ca devient technique! Mais je tente.
    La programmation web en java n'a rien à voir avec la programmation en php de part leur mise en place. Bien que ce soit possible de faire exactement la même chose (voir exemple ci-dessous) on en perd tout l'avantage du java.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
            <meta http-equiv="content-language" content="fr" />
     
            <title lang="fr">Title Page</title>
        </head>
     
        <body>
            <h1>Hello World - JSP</h1>
            <p><%= request.getRequestURL()%></p>
        </body>
    </html>
    Ceci est une page jsp toute simple, et comme tu peux le voir c'est le même principe que le php. Sauf que les <?php ... ?> sont remplacés par <% %> (il y a plusieurs variantes en fonction de ce que tu veux faire) et à l'intérieur tu as du code java. Et donc tu constates que tu peux mettres du javascript dans tes pages.
    Ces pages jsp, sont consacrées au tier présentationr. Et donc généralement tu ne trouveras jamais un morceau de code java à l'intérieur. A la place on utilise des tags et des el, (mais bon peu importe) pour que ca donne quelque chose de beau à regarde, facileà maintenir.
    Tout le traitement est fait "en background", tout d'abord par une servlet qui est une classe java normale mais qui peut communiquer entre le client et le serveur. En transmettant par exemple les données fournis par l'ulisateur en passant par un formulaire (client -> serveur) ou en "routant" les données vers la page demandée (serveur -> client).
    Toute la partie métier/persistence est traitée par différentes api et frameworks.

    Pour une architecture 5-tier, ca donne: {tier (application pouvant excuter le code) [technologie - Framework]}
    - Client (Navigateur) [javascript]
    - Interface utilisateur (Conteneur de servlet) [jsp/servlet - Struts/JSF/GWT]
    - Logique métier (Serveur d'application) [ejb/webservices]
    - Accès aux données/persistence (Serveur d'application) [jpa - Hibernate/Toplink]
    - Stockage des donnée (Serveur de BDD) [t-sql, pl/sql, etc...]

    Si tu n'es pas familié avec les architectures n-tier, la découpe n'est pas toujours physique. C'est pour cette raison qu'on a souvent du 3-tier (tu regroupes les 3 tier du milieu et tu mets tout ca dans un serveur d'application). En web c'est impossible de faire moins. Même si tout est sur la même machine ca sera toujours du 3-tier, puisque le navigateur, le serveur d'application et le serveur de BDD vont s'exécuter chacun de leur côté. Le fait de fermer ton navigateur n'aura aucune influence sur les 2 autres. Idem pour les 2 autres applications.

    Pour finir, non je n'ai pas de sites ou de tutoriels à te conseiller. Rienne vaut un bon bouquin de référence. Mais tu ne comprendras pas tous les mécanismes tout de suite. Contrairement au php, tu ne peux pas développer un site en java sans être passé par le langage en console, puis avec interface graphique (au moins les bases), puis une simple connexion à une base de données puisque tous les livres commencent à t'apprendre à programmer des applications lourdes qui n'ont pas besoin d'api ou peu.
    Ensuite il faut passer par la partie jsp/servlet
    Puis Frameworks de présentation
    Et enfin EJB/Persistence/Webservices.

    Bien sur tout ca reste du java, mais comme ca ne sert à rien de réinventer la roue, surtout que ca prend du temps et que ca coute de l'argent, il faut apprendre à utiliser tous les outils qui s'offrent à toi. Ca prend du temps, on s'y perd et surtout on se rend compte qu'il reste tant de choses à apprendre. Mais une fois toutes ces technos maitrisées on se fait plaisir.

  7. #7
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Citation Envoyé par @Ikey Voir le message
    - Java est un langage pur objet
    Langage objet oui, mais loin d'être pur... en regard de ruby par exemple.
    Mais c'est un détail

  8. #8
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Il y a 2 intérêts clés dans le choix de java par rapport à php dans un contexte industrialisé, c'est :

    - le typage statique
    - la pléthore de bibliothèques dispo et ce pour toutes les couches (présentation, midle, persistence ou métier).

    Par contre le très gros désavantage que je vois dans ce choix, pour un contexte moins professionnel, c'est le problème de l'hébergement. Php ca se déploie n'importe où, java c'est plus délicat.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.4] Introduction au développement PHP pour réaliser des sites Web dynamiques
    Par The_Pretender dans le forum Langage
    Réponses: 0
    Dernier message: 07/07/2014, 07h53
  2. Réponses: 0
    Dernier message: 02/10/2009, 10h33
  3. Réponses: 2
    Dernier message: 12/05/2009, 17h32
  4. Quels outils utilisez-vous pour créer des diagrammes ?
    Par khayyam90 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 11
    Dernier message: 30/05/2007, 11h56
  5. Solution de reporting Open Source en Java pour générer des rapports Word, RTF ?
    Par jmax_ dans le forum Autres outils décisionnels
    Réponses: 3
    Dernier message: 19/06/2006, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo