2009-10-31 5 views
1

Notre équipe est nouvelle dans le développement d'applications web. Nous avons développé des applications basées sur Windows/Linux en utilisant Java. L'équipe possède également une vaste expérience avec Perl.Quel framework web est le meilleur pour une application web cloud privé?

La nouvelle tâche consiste à développer une application Web de cloud privé interne. Il est plutôt déroutant de regarder tous les frameworks de développement d'applications web: Ruby on Rail, Drupals, Zend Framework, etc. Tous sont des frameworks open source et tous prétendus être les meilleurs pour le développement rapide d'applications web. Quelles sont la force et la faiblesse de ces cadres?

Pour une application Web de gestion de contenu de collaboration d'équipe en temps réel, quel cadre est le meilleur?

Étant donné que l'équipe dispose d'une vaste expérience en matière de développement d'applications OO, une structure OO avec une prise en charge puissante des widgets Web est souhaitée. Toute recommandation?

Répondre

0

En tant que fan Python Je dois recommanderai un des framework web Python: web2py. Il est facile à utiliser, fonctionne avec de nombreuses bases de données et sur GAE. Regardez les diapositives sur leur site Web.

1

A la fin de la journée, personne ne peut réellement vous dire qu'un cadre est mieux qu'un autre, mais mon conseil pour vous est de se familiariser avec les bases puis de prendre un autre regard sur les commentaires que vous déjà traversé.

Drupal (et Joomla et Wordpress) sont tous PHP de gestion de contenu basé applications. Ce sont des configurations complètes de solutions et non des frameworks. Vous pouvez trouver l'un d'entre eux correspondant à vos exigences, et avec peu de programmation, il peut s'avérer être exactement ce dont vous avez besoin. Cette application galère site par exemple a été construit en utilisant WordPress, ce qui implique ce qui peut être fait avec juste peaufiner avec le code. Néanmoins, il y a de fortes chances que vous deviez construire votre application à partir de zéro. Je crois que la meilleure façon pour vous de commencer avec la compréhension des concepts de développement web de base sera, dans votre cas en tant que développeur java, pour commencer avec une simple application Servlet/JSP. Vous devrez apprendre à utiliser des conteneurs de servlets tels que Tomcat ou Jetty, et vous faire face à une courbe d'apprentissage relativement facile. Passer toutes les anciennes techniques JDBC/SQL que vous pouvez rencontrer dans les anciens tutoriels, et simplement essayer de bien comprendre le concept de MVC (Model-View-Control) Alors que la construction de l'interface utilisateur, vous pouvez rencontrer avec le terme JSF, je suggérer à ignorer aussi. La pratique courante de nos jours est de construire l'interface utilisateur en HTML pur/AJAX/javascript.

Parlant de javascript, JQuery est le plus populaire parmi les différents cadre, mais vous pouvez envisager Prototype à la place car il est bien intégré avec Ruby on Rails et CakePHP (se rendre à eux plus tard) Pour votre première application , essayez de construire une application web simple demande-réponse (encore une fois, évitez d'utiliser la base de données à ce stade), avec un peu d'AJAX en cours de route. Une fois que vous avez terminé (2-3 jours), vous serez prêt à mieux décider vous-même quel cadre correspond le mieux à votre besoin. En ce sens, les frameworks Java sont IMHO trop gonflés et archaïques, mais si vous aurez une idée différente, alors Spring est un peu le de facto dans ce domaine. Sauf si vous envisagez de construire une application d'entreprise à grande échelle , évitez complètement J2EE/EE5 car ils sont considérés comme obsolètes, au moins dans mon entourage. Même si ce n'est pas solution acceptable, une très bonne idée sera de prendre par jour pour apprendre Google AppEngine for Java, il est basé autour d'un plug-in Eclipse et basé sur la jetée, et à ce niveau, l'apprentissage, il devrait être facile. C'est un servlet de servlet avec une valeur ajoutée. Vous en apprendrez davantage sur les concepts ORM (ce qui est pratiquement la façon dont vous travaillerez avec des bases de données sur tout autre framework web moderne). En bonus, vous allez aussi sauter dans le train en marche de l'informatique en nuage.

Dorénavant, la sélection de votre cadre ultime deviendra beaucoup plus facile. À ce stade, vous pouvez préférer une expertise supplémentaire avec Java, ou pour vous connecter à une autre pile Web bien établie. Si vous insistez pour continuer avec Java, jetez un œil sur GWT (Google Web Kit a été utilisé pour créer Google Wave). Comme il vous rappellera fortement le bon vieux temps des composants familiers et des dispositions de Swing. Comme une solution rentable/efficace, je pense que c'est le meilleur choix pour votre application web de gestion de contenu de collaboration d'équipe en temps réel.

Cependant, si dire au revoir au monde Java familier est ce que vous voulez, certaines personnes insistent sur le fait que vous devez décider de sauter à droite avant la PHP ou les cadres de Python qui sont actuellement utilisés par les géants du web , Facebook, WordPress (PHP), Google et FriendFeed (Python) en font partie. Ruby on Rails peut aussi être une option (Twitter), mais ses jours de gloire sont maintenant terminés, car de nombreux frameworks ont rapidement adopté ses concepts et idées de base. Pour PHP, je recommande CakePHP (site Web Mozilla Add-ons), ce sera une transition facile de la pile Java. Zend est le gars lourd, pas votre solution si vous êtes à court de temps, codeigniter/symphony peut-être être trop léger pour vos requierments, , mais méritent une critique.

Pour Python, tenez compte du nouveau cadre de premier ordre de Facebook (développé par FriendFeed), une maison grandi facile à apprendre excellent cadre nommé Tornado. Il répond à un problème qu'aucun autre cadre ne peut être exactement ce dont vous avez besoin. Vous pouvez l'obtenir en 5 minutes sur leur homepage. Turbo-Gear et web.py sont également bien configurations établies.

J'espère avoir aidé, bonne chance.

1

Ceci est une question plutôt ancienne mais je pensais que je partagerais mes pensées car la question est toujours pertinente et devrait être discutée plus.

De nos jours, lorsque l'environnement change et que le cloud est devenu l'environnement standard pour l'exécution d'applications Web, cela affecte la façon d'utiliser les frameworks. Aucun de ceux que vous avez énumérés ne convient au nuage «tel quel», car ils ont leurs racines dans l'ère du serveur unique.Quel que soit le framework, le plus important est de savoir comment concevoir l'application Web. Par exemple, vous ne souhaiterez peut-être pas exécuter de tâches Quartz/Cron dans l'application, car lorsque vous agrandissez, tous ces travaux se multiplient également. Celui-ci se traduit par faire le même travail plusieurs fois alors qu'il ne devrait être fait qu'une seule fois. Lors de la conception d'une application Web pour le cloud, l'environnement cloud doit être considéré comme un système distribué, ce qui signifie que seuls les sous-systèmes autonomes peuvent réellement répondre aux exigences. L'évolutivité est la chose la plus importante pour laquelle vous devriez être dans le nuage. Si vous n'en avez pas besoin, ne payez pas pour cela. Donc, pour répondre à votre question sur le cadre, je dirais que vous devez d'abord savoir ce que vous essayez d'atteindre. Si vous avez des exigences qui vous poussent vers le cloud, vous devez vous concentrer sur la conception, puis choisir un cadre adapté à la conception. Si vous n'avez pas besoin de quelque chose d'aussi lourd, tous les frameworks devraient faire le travail.

Questions connexes