2010-08-29 7 views
4

J'ai besoin de support pour accélérer le processus de développement. J'ai reçu une demande pour commencer à développer un site Web avec la technologie Java. Je développe généralement en C# - ADO pour les entités - ASP.NET MVC - serveur MSSQL - Visual Studio. Les meilleurs de ces choix étaient: - C# Intellisense. - ORM. - Gestion complète de la sécurité des utilisateurs, rôles. - Séparation des préoccupations en MVC.Démarrage d'un projet Java - IDE, Framework, etc. -

Je me demandais si tout peut me aider à mieux déterminer Java Framework MVC - DB - IDE basé sur ces locaux, démarrer un projet avec: - sécurité intégrée pour les utilisateurs, les rôles - MVC

Pour faire plus léger, pour reproduire les mêmes fonctionnalités que je peux avoir chaque fois que je démarre un site web en utilisant le projet C# ASP.NET MVC 2. exemple: http://nerddinnerbook.s3.amazonaws.com/Images/image020.png

+1

Cela doit être une dupe ... – TheLQ

+1

se préparer pour des tonnes de xml – Omu

Répondre

4

Commençons d'abord par IDE, ORM et sécurité, et DB: À mon avis, le meilleur IDE Java est IntelliJ IDEA. C'est à partir des mêmes personnes qui ont développé Resharper pour Visual Studio. Il dispose de l'éditeur le plus puissant de tous les IDE Java et intègre la prise en charge de nombreux frameworks Java populaires. ORM: La bibliothèque ORM la plus puissante de Java est Hibernate. Hibernate est une implémentation de la norme Java Persistence API (JPA). EclipseLink est une autre implémentation de JPA, mais Hibernate est une meilleure option IMO. Sécurité: Spring Security est probablement la plus puissante infrastructure de sécurité (authentification et autorisation) disponible dans le monde Java. DB: Si vous êtes à l'aise avec SQL Server, continuez à l'utiliser. Cependant, n'utilisez pas les pilotes JDBC de Microsoft. Au lieu de cela, utilisez un pilote de DataDirect: http://web.datadirect.com/products/jdbc/index.html. Si vous ne voulez pas utiliser SQL Server, MySQL est un excellent choix pour les logiciels libres et Oracle, DB2, etc. sont d'autres options.

Pour le framework Web, il y a plusieurs options:

Option 1: Si vous voulez un cadre de style RAD, choisissez Grails. Grails est similaire à Ruby on Rails mais utilise JVM et un langage Java mais dynamique appelé Groovy. L'API ORM de Grails est appelée GORM, qui est construite au-dessus d'Hibernate, mais elle est beaucoup plus facile à utiliser. Grails utilise également Spring Security pour gérer la sécurité.

Option 2: Si vous voulez une infrastructure de niveau entreprise, choisissez JBoss Seam + JavaServer Faces.JSF est un framework MVC basé sur des composants, et il y a beaucoup de bonnes bibliothèques JSF disponibles: RichFaces, OpenFaces, etc. Seam intègre JSF avec EJB et ensemble, ils constituent un excellent framework d'entreprise. Cependant, il a une courbe d'apprentissage abrupte.

Option 3: Utiliser Spring + SpringMVC + JPA.

Option 4: Utiliser des entretoises 2. Remarques finales: Si vous cherchez un framework MVC + ORM facile à apprendre, utilisez Struts 2 + JPA. Si vous recherchez un framework MVC + ORM RAD et facile à utiliser, utilisez Grails. Si vous recherchez un framework robuste et de qualité professionnelle (mais pas facile à apprendre), utilisez JBoss Seam.

+0

Merci beaucoup, super information. C'était ce que je cherchais. –

+0

De rien. :) – Behrang

0

En ce qui concerne l'IDE, les seuls IDE Java qui valent leur peine sont IMHO Eclipse et Netbeans, d'autant plus que les deux sont gratuits. Utilisez Eclipse pour l'extensibilité et la facilité d'utilisation, utilisez Netbeans si vous avez besoin de développer rapidement une interface graphique.

+2

Je considère IDEA un IDE digne. C'est juste pas pour moi – TheLQ

+0

Merci Rafe, j'ai travaillé avec Netbeans pour php je vais essayer java. Merci. TheLQ. J'ai lu sur Intellij et il semble être très robuste - ultimate ed -. –

2

Non seulement Spring MVC, mais l'ensemble de l'éco-système Spring vous mettra en marche avec le moins de surprises. Vous pouvez également télécharger le Spring Tool Suite (a preconfigured eclipse version tailored for Spring) pour obtenir un environnement de développement intégré qui connait toutes les fonctionnalités printanières. Mais Spring - Spring MVC - Hibernate - Spring Security et STS semblent couvrir vos besoins et fourniront une base solide pour réaliser le projet sans trop de mauvaises surprises. Cela vous laisse à vous concentrer sur le client et le saut à Java. Par la suite, vous pouvez envisager différentes options dans l'espace Java, car il existe de nombreux autres cadres disponibles avec leurs points forts. Mais à court terme, il vaut mieux limiter le nombre de parties mobiles

+0

Merci Peter. Oui, il semble que le printemps est la meilleure option pour commencer avec ces exigences. J'ai lu que IntelliJ soutient intellisense pour le printemps. Je vais tester, merci! –

+0

IntelliJ est mon IDE préféré et c'est génial, mais si vous avez besoin des fonctions Intellisense pour le printemps, vous avez besoin de l'édition ultime, qui n'est pas gratuite. Le plugin Spring pour eclipse est très bon aussi avec un complément de code intelligent similaire. –

+0

merci beaucoup !. –

2

La configuration cadre/orm la plus courante est le mode Spring/Hibernate. Ces deux outils ont malheureusement été développés à des extrêmes ridicules au fil des ans, ils peuvent donc sembler décourageants en taille, mais une configuration simple avec chacun est beaucoup plus facile que cela puisse paraître en regardant toutes les options sur leurs sites respectifs.

La meilleure suggestion serait de suivre étape par étape pour obtenir une configuration de base de printemps/d'hibernation et de l'étendre simplement. À un moment donné, j'avais un prototype de projet comme celui-ci que j'utiliserais pour créer un «ensemble de démarrage» pour les projets bootstrap.

BTW, je suggérerais aussi un simple script de construction de fourmi. Certaines personnes peuvent suggérer maven, mais c'est énorme et très (imo trop) complexe, et vous allez avoir assez de nouveaux outils pour éviter de devoir apprendre un autre grand ensemble de commandes.

+0

merci steve, c'est pourquoi je demande cette info à la pile ... J'ai lu sur internet toute la nuit mais il semble que le monde Java soit très gros en termes de solutions possibles, idées, approches. J'étais confus de quelle solution était le meilleur pour commencer. Je vous remercie. –

2

Bienvenue dans le monde Java. La meilleure chose (et dans certains cas aussi la pire chose) à propos du domaine Java est que vous pouvez créer votre propre pile en fonction de vos besoins. Vous n'êtes pas nécessairement lié à un seul fournisseur, comme c'est généralement le cas dans le domaine .NET.

Comme il semble que vous êtes dans une situation entièrement nouvelle, vous pouvez:

  • Adopt la pile de webdevelopment d'un grand fournisseur commercial comme Sun/Oracle (JSF/EJB3 + NetBeans/JDeveloper + Glassfish/Weblogic + MySQL/Oracle) ou IBM

  • Adoptez la pile webdevelopment d'un fournisseur Open Source plus petit tel que JBoss, SpringSource. Jetez un oeil à JBoss Seam et SpringSource Grails et Roo (les deux derniers sont basés sur les cadres Spring/Hibernate fréquemment cités)

  • Mix et correspondre à votre propre pile en fonction de ce qui précède et vos besoins. Bien que cela nécessite une connaissance approfondie des différentes technologies, cadres, outils disponibles.

Vous avez beaucoup d'options comme vous pouvez le voir. Maintenant, puisque vous êtes intéressé par une pile axée sur la productivité - et je soupçonne une source ouverte - et vous n'avez aucun héritage, je recommande soit Grails ou Roo. Dans lequel Roo est probablement le plus accessible puisque vous n'avez pas à apprendre Groovy. Si vous n'aimez pas l'outillage de génération, je vous conseille de vous en tenir à la pile Spring et d'adopter simplement Spring/JPA/etc.

+0

Merci beaucoup pour votre temps à me guider. Bonne info, je vais lire. J'ai lu au sujet du printemps mais jboss et d'autres ne faisaient pas partie de l'information que j'ai réussi. Je vous remercie! –

Questions connexes