2008-11-20 9 views
1

Je me lance dans un nouveau projet RIA avec Java sur le backend. Je suis le seul développeur et l'application est une application métier. Ma pile actuelle ressemble à ceci:Comment améliorer la productivité de ma pile Flex/Java?

MySQL || Spring (JdbcTemplate pour l'accès aux données) || BlazeDS (à distance) || Flex (Cairngorm)

Ma question est: quels changements puis-je faire pour améliorer la productivité? Coder manuellement SQL, les objets entité côté serveur, les objets de valeur côté client et tous les trucs Cairngorm est évidemment un frein, mais je ne suis pas sûr de ce que les frameworks de plus haut niveau à introduire.

Quelle pile Flex/Java vous a bien servi?

Répondre

4

codage manuel SQL

Hibernate est une option pour couper cela.

Une chose qui peut être intéressante est Grails avec le Flex Plugin disponible. Il est construit sur Spring, Hibernate et BlazeDS, donc tout est là pour vous. Il était incroyablement facile de l'emmener à distance des objets stockés et de répondre aux appels AMF. J'utilisais ceci et ensuite je suis passé à une implémentation RESTful E4X car je trouvais beaucoup plus facile de déboguer et de modifier car je pouvais inspecter la sortie du serveur dans un navigateur et contrôler plus précisément ce que je retournais à mon application Flex (chargement paresseux problèmes dans les collections utilisant BlazeDS étaient un mal de tête parfois).

Voici un rapide tutoriel montre la facilité avec laquelle l'ensemble Grails + Flex pile Plugin est: BlazeDS in Grails

+0

Merci pour votre réponse rapide. Je n'ai jamais utilisé Grails mais j'ai joué avec RoR (et j'ai parcouru le livre Flexible Rails). En fin de compte, j'ai décidé contre RoR parce que je n'avais pas envie d'apprendre Ruby, mais à quel point Grails est-il facile pour un développeur Java? –

+0

Je ne pense pas que ce soit difficile du tout, mais c'est difficile pour moi d'être subjectif car j'ai fait pas mal de RdV avant l'arrivée de Grails. Si vous connaissez Java, vous n'aurez aucun problème avec la syntaxe Groovy, vous pouvez même le coder comme s'il s'agissait de Java. –

1

Comme alternative à sql codage manuel, en dehors de veille prolongée, vous voudrez peut-être envisager de JPA/Toplink. Et puisque vous êtes déjà dans un camp de printemps, consultez le Spring ActionScript (anciennement connu sous le nom de Prana), c'est un cadre du CIO pour Flex. Il résout de nombreux problèmes inhérents à Cairngorm. Ce qui manque entre Flex et BlazeDS, c'est qu'il n'y a pas de page de destination où vous avez une liste de tous les services disponibles en tapant simplement une URL sur le navigateur (similaire au point de terminaison webservice).

+0

Nous avons écrit une servlet pour ce faire avec environ 200 lignes de code. Il suffit d'obtenir une référence au MessageBroker de votre servlet et de parcourir RemotingService/RemotingDestination et de l'écrire comme un fichier XML en utilisant quelque chose comme dom4j. –

4

Je reconsidérerais sérieusement en utilisant Cairngorm. À mon avis, c'est un cadre assez gonflé qui introduit beaucoup d'abstraction que vous n'utiliserez jamais. Départ:

http://code.google.com/p/swizframework http://www.spicefactory.org

deux introduisons le concept de dépendance-injection dans votre application Flex.

Aussi +1 pour Hibernate. J'utiliserais les annotations JPA standard sur une classe Java et je l'étendrais avec les annotations Hibernate car vous avez besoin de fonctionnalités supplémentaires.

+0

Merci beaucoup - Swiz a l'air vraiment cool et facile à utiliser. Vous avez raison - même avec Cairngen m'aider avec le code standard, Cairngorm se sent comme une boule et une chaîne. À votre santé. –

0

Vous pouvez essayer GraniteDS. C'est une alternative à BlazeDS, avec un générateur de script ActionScript, une intégration Spring (une sécurité Spring), et si vous utilisez une implémentation JPA, vous aider avec l'initialisation paresseuse (de manière transparente).

+0

Merci pour la suggestion. Suite à l'adoption de Grails par _Hates, cependant, j'ai adopté un Grails/Flex avec ReST et je ne pourrais pas être plus heureux! –

2

Extrayez la source.nouvelle Spring BlazeDS Integration Project

Spring BlazeDS Intégration de org est une nouvelle plus du portefeuille de printemps et un composant de la pile Web Spring complet. Le but de ce projet est de de faciliter la construction de Rich Internet Applications alimentées par le printemps en utilisant Adobe Flex en tant que client frontal. Il vise à atteindre cet objectif en fournissant support de première classe pour l'utilisation du projet source Adobe BlazeDS ouverte et ses Remoting puissants et de messagerie installations en combinaison avec le modèle de programmation de printemps familier .

Questions connexes