Question

Je me demande s’il existe des cadres architecturaux permettant de créer des applications de bureau ou autonomes, en Java ou en C #, par exemple. Il semble qu’il en existe des tonnes pour les applications Web, mais je ne trouve pas beaucoup de bonnes ressources sur les frameworks ou les meilleures pratiques architecturales pour le développement de postes de travail.

Idéalement, j'aimerais savoir s'il existe un code source disponible pour les applications bureautiques pouvant être considérées comme ayant une bonne architecture ou ayant été construit avec un certain framework.

Était-ce utile?

La solution

Bien que n'étant pas directement lié aux applications de bureau si vous recherchez un code source décent pour des projets bien écrits, j'ai posé une question similaire:

Open source C # projets dont la qualité de code est extrêmement élevée et qui permettent d’apprendre.

Les gens y ont fait de très bonnes suggestions:

  

Autres conseils

Dans la catégorie des applications légères, JSR 296 pour Java (éventuellement dans le futur, Java 7) est un cadre gérant les bases, telles que la gestion des ressources et les actions. Beaucoup de liens ici:

Pour passer à la vitesse supérieure, vous pouvez vous pencher sur différents frameworks RCP tels que:

MISE À JOUR: Il a été mentionné (par Mark Reinhold sur Devoxx '08) que JSR 296 serait inclus dans Java 7.

Nouvelle mise à jour: JSR 296 est morte. JavaFX est la direction actuelle pour Java côté client.

Un nouveau paquet de conseils d'architecture .NET de Microsoft patterns & amp; pratiques pour WPF portant le nom de code "Prism" - il s’agit en gros d’une "nouvelle génération" Bloc d'application d'interface utilisateur composite (sans l'outillage SCSF). Il utilise l’injection de dépendances, un motif composite complet, etc.

.

Il y a un assez bon DNRTV qui effectue une démonstration vidéo.

Vérifiez la fabrique de logiciels Smart Client de Microsoft . Il contient des exemples de code et de la documentation.

  

Présentation

     

Cette usine de logiciels fournit des solutions éprouvées   solutions aux défis communs trouvés   tout en construisant et en utilisant composite   applications client intelligentes. Ça aide   architectes et développeurs construisent   systèmes modulaires qui peuvent être construits et   déployés par des équipes indépendantes.   Applications construites avec le logiciel   utilisation en usine des pratiques éprouvées pour   opérations telles que la gestion centralisée   enregistrement des exceptions.

     

La fabrique de logiciels contient un   collection de composants réutilisables et   bibliothèques, solution Visual Studio 2008   modèles, assistants et extensions,   Sujets de procédures, tests automatisés,   une documentation complète sur l'architecture,   modèles, et une référence   la mise en oeuvre. La fabrique de logiciels   utilise Windows Forms, Windows   Présentation Foundation, Windows   Communication Foundation, et le   Bibliothèque Enterprise 3.1 & # 8211; Mai 2007   Libération. Avec cette version, le   Le bloc d’application de l’UI composite est   inclus dans la fabrique de logiciels.

En Java, objets nus - http://nakedobjects.org/home/index.shtml

JMatter - implémentation d'objets nus - http://jmatter.org/ . plutôt bien.

les deux sont open source.

Du côté de Java, plusieurs projets sont destinés aux plateformes client enrichi (RCP est le nouveau mot à la mode pour les applications "de bureau"):

  • Eclipse RCP (si vous êtes d'accord avec SWT au lieu de Swing)
  • Spring RCP (qui est en train d'être révisé dans Spring Desktop)
  • NetBeans RCP (que je ne suis pas     particulièrement impressionné par, mais     cela devient une traction)
  • JSR 296 (Cadre d'application) - I     en fait vraiment comme celui-ci

Google sur ce qui précède et vous obtiendrez des tonnes d'informations.

Vous pouvez utiliser certaines des mêmes approches de développement client que celles utilisées pour le développement Web, telles que Model View Presenter. L'espace de noms System.Windows.Forms contient tout ce dont vous avez besoin pour créer une application cliente en C #, le reste du .NET Framework étant disponible pour fournir les services dont vous avez besoin (tels que l'IO et la communication à distance).

En ce qui concerne le code source des architectures solides dans les applications de bureau, consultez le code de Paint.NET . et SharpDevelop . Les deux approches ont des approches très différentes qui vous intéresseront.

Désolé pour l'inclinaison .NET de cette réponse. C'est ce que je connais le mieux. :)

Je recommanderais le framework CSLA .NET de Rockford Lhotka: http: //www.lhotka. net / cslanet / Default.aspx

Il contient le code source complet ainsi que des exemples d’applications client construites dans ASP.NET, WinForms et WPF.

Je viens de trouver le Conseils relatifs aux applications composites pour WPF et Silverlight . qui a l'air très intéressant. Il a été publié en février 2009.

Nous développons ici les technologies .NET.

Nos amis qui travaillent ici sur des applications client développent leur logiciel selon le modèle de conception de Model View Presenter, souvent associé au développement Web. Pour eux, ils trouvent que cela fonctionne très bien, je pense que cela vaut la peine d’y jeter un coup d’œil.

Smart Client Factory (mentionné par Panos) peut également vous être utile, même s’il ne s’agit pas d’un cadre mais d’une bibliothèque de solutions de meilleures pratiques aux problèmes courants.

Vérifiez la cabane d’IdeaBlade pour DotNet C #. http://www.ideablade.com/CAB.html

Exemple d'application Cabana

L’application Cabana est une application de référence pour client intelligent simple offrant une expérience utilisateur riche, riche en fonctionnalités, facile à déployer et à utiliser sur le Web. Cabana démontre:

Une approche simple du bloc d’application de l’UI composite à partir de Patterns & amp; de Microsoft; Groupe de pratiques. Code maintenable et réutilisable via la composition de l'interface utilisateur. Séparation du modèle (logique métier et accès aux données) de la présentation. Le modèle Model-View-Presenter. L'optimisation des performances. Et plus.

J'ai récemment publié DesktopBootstrap. C’est ce que j’essaie de prendre en compte de nombreux éléments communs de la création d’applications de bureau de moyenne à grande échelle.

Vous pouvez le trouver ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top