Je ne suis pas nouveau dans le développement de logiciels, mais ces dernières années, j'étais presque complètement impliqué dans le développement d'applications web, très probablement en PHP avec MySQL/PostgreSQL.Décider parmi les technologies Java devrait utiliser - beginner
Maintenant, je change de focus. Je voudrais commencer à programmer pour les applications de bureau, avec Java. La décision sur le langage a été motivée par les raisons suivantes: c'est un langage mature, il a de l'espace sur le marché, il est multiplateforme, plein de ressources, et il a de très bons IDEs (j'utilise netbeans 6.9). Je ne suis pas nouveau aux concepts de POO (ou la plupart d'entre eux au moins), mais Java a un gamma énorme des solutions (technologies, armatures et ainsi de suite), et je me perds avec cela. Impossible de décider quelle est la solution la plus appropriée à adopter et à retenir.
Cela dit, passons au point. Je vais décrire les cibles du logiciel, certaines choses que j'ai adoptées jusqu'à présent, et je m'attends à ce que quelqu'un me donne une piste à suivre pour remplir les points désordonnés.
Mon application est une petite entreprise. Des trucs habituels sur les produits, les ventes, la gestion de trésorerie. Il doit fonctionner dans un petit bureau, avec quelques ordinateurs (pas une application de bureau complètement autonome). Tous les utilisateurs ne peuvent pas tout faire. Certains auraient des privilèges pour accéder à des produits financiers, d'autres ne vendraient que, d'autres ne rempliraient que des produits, etc.
Selon la définition de haut niveau ci-dessus, nous savons qu'il fonctionnera comme une application client-serveur. Un serveur sera installé dans une seule machine, tous les autres auront juste le client. J'utilise HSQL comme backend pour la persistance.
Souhaitez utiliser Swing pour créer l'interface utilisateur (pour conserver les thèmes en fonction du système d'exploitation). Les possibilités pour le client incluent l'envoi d'email (pas directement, mais par l'intermédiaire d'un client de courrier électronique déjà défini [Thunderbird, Outlook]) et l'impression (à n'importe quelle imprimante disponible dans le réseau).
Pour cela, j'utilise Desktop API. Bon, enfin nous avons perdu mon emprise: quel framework/technologie recommandez-vous pour accélérer le développement (formulaires pré-construits basés sur les tables disponibles), et aussi modulaire que possible? Comme je l'ai dit, différents utilisateurs auraient des privilèges différents, mais au lieu de simplement vérifier et désactiver, je voudrais garder les modules séparés. Dans différents packs, ou quelque chose comme ça.
EJB? BlueJ? JavaBeans? OSGi? Swing Application Framework? Je suis un peu perdu avec ceux-là. Toute aide serait appréciée.
! Apprenez les bases en premier. –
Je ne comprends pas. Que recherchez-vous exactement? Cadre pour quoi? De votre description, il est clair pour moi que vous allez faire une application de bureau basée sur Swing, mais les questions que vous avez mentionnées au bas de la page sont déroutantes. – Xorty
Thorbjorn, désolé mais je considère que j'ai déjà appris les bases.Je sais comment créer et utiliser des classes, des packages, des interfaces ... utiliser des API réseau, SQL, garder l'état, threading ... La question portait sur l'outil le plus approprié à utiliser dans le projet que j'ai mentionné. – Dave