2008-09-29 24 views
21

Me pregunto si hay marcos de arquitectura para crear aplicaciones de escritorio o independientes, en Java o C# por ejemplo. Parece que hay muchos de ellos disponibles para aplicaciones web, pero no puedo encontrar muchos buenos recursos en marcos o mejores prácticas arquitectónicas para el desarrollo de escritorio.Aplicaciones de escritorio: marcos arquitectónicos?

Idealmente, me gustaría saber si hay algún código fuente disponible de aplicaciones de escritorio que se considere que tienen una buena arquitectura o que están construidas con un marco determinado.

Respuesta

8

Aunque no está directamente relacionada con las aplicaciones de escritorio si usted está buscando para el código fuente decente para proyectos bien escritos me hizo una pregunta similar:

Open source C# projects that have extremely high code quality to learn from.

personas dieron algunas buenas sugerencias ahí:

The Weekly Source Code serie
1

Puede utilizar algunos de los mismos enfoques de desarrollo de clientes que usa en el desarrollo web, como Model View Presenter. El espacio de nombres System.Windows.Forms tiene todo lo que necesita para crear una aplicación cliente en C#, con el resto de .NET Framework disponible para proporcionar los servicios que necesita (como IO y comunicación remota).

En cuanto al código fuente para arquitecturas sólidas en aplicaciones de escritorio, consulte el código para Paint.NET y SharpDevelop. Ambos tienen enfoques muy diferentes que te serán interesantes.

Disculpe la inclinación de .NET de esta respuesta. Es lo que mejor sé :)

6

Compruebe el Smart Client Software Factory de Microsoft. Contiene muestras de código y documentación.

general

Esta fábrica de software provee su reconocido soluciones a los problemas comunes que se encuentran mientras que la construcción y operación de compuestos aplicaciones cliente inteligentes. Ayuda a los arquitectos y desarrolladores de a construir sistemas modulares que pueden construirse y desplegados por equipos independientes. Aplicaciones creadas con el software prácticas probadas de uso en fábrica para operaciones , como el registro de excepción centralizado.

La fábrica de software contiene una colección de componentes reutilizables y bibliotecas, solución de Visual Studio 2008 plantillas, asistentes y extensiones, temas de procedimientos, pruebas automatizadas, extensa documentación arquitectura, patrones, y una referencia implementación. La fábrica de software usa Windows Forms, Windows Presentation Foundation, Windows Communication Foundation y Enterprise Library 3.1 - Mayo de 2007 versión. Con este lanzamiento, el bloque de aplicación de interfaz de usuario compuesta es incluido en la fábrica de software.

+0

+1 para SCSF (y EntLib/CAB). – boj

+0

Si va a escribir aplicaciones de escritorio empresariales para una empresa. Recomiendo no escribir aplicaciones únicas por cada pequeña necesidad que tenga la empresa. Escribe una aplicación compuesta y crea una plataforma. SCSF también es mi recomendación. A los usuarios les encanta ir a UN lugar. A los desarrolladores les encanta tener una plataforma enchufable ... y solo UNA aplicación para mantener/implementar. –

7

En la categoría de la aplicación de peso liviano, JSR 296 para Java (para ser en el futuro Java 7 posiblemente) es un marco que maneja los aspectos básicos como la gestión de recursos y las acciones. Un montón de links aquí:

escalado un poco, usted podría mirar a los diversos marcos de RCP como:

ACTUALIZACIÓN: Se ha mencionado (por Mark Reinhold en Devoxx '08) que JSR 296 se incluirá en Java 7.

actualizarse una vez más: JSR 296 está muerto. JavaFX es la dirección actual para Java del lado del cliente.

0

Desarrollamos en tecnologías .NET aquí.

Nuestros amigos que trabajan aquí en aplicaciones cliente desarrollan su software para el patrón de diseño de Model View Presenter que a menudo se asocia con el desarrollo web. Para ellos, les parece que funciona muy bien, creo que vale la pena echarle un vistazo.

La Fábrica de Smart Client (mencionada por Panos) también puede ser útil para usted, aunque no es un marco, sino más bien una biblioteca de soluciones de mejores prácticas para problemas comunes.

3

En el lado de Java, hay varios proyectos destinados a las plataformas de Cliente rico (RCP es la nueva palabra de moda para 'escritorio' aplicaciones):

  • Eclipse RCP (si estás bien usando SWT en lugar de oscilación)
  • primavera RCP (que está en proceso de ser revisado en la primavera de escritorio)
  • NetBeans RCP (que no estoy particularmente impresionado con , pero que está recibiendo algo de tracción)
  • JSR 296 (Application Framework) - I realidad realmente como éste

Google cualquiera de los anteriores y obtendrá un montón de información.

0

Específicamente para el marco de presentación organizado de funciones ui que hemos estado utilizando infonode docking windows, que es un marco de ventanas usando un eclipse como apariencia (arrastrar vistas a cualquier lugar, cerrarlas, desacoplarlas, etc., skinnable por supuesto). hay una versión de gpl para productos de código abierto, aunque afaik la licencia de desarrollador no es tan cara ($ 299 cada uno).

1

recomendaría marco CSLA .NET Rockford Lhotka: http://www.lhotka.net/cslanet/Default.aspx

Viene código fuente completo voluntad, así como aplicaciones cliente de ejemplo construido en ASP.NET, Windows Forms y WPF.

0

Consulte IdeaBlade's Cabana para DotNet C#. http://www.ideablade.com/CAB.html

aplicación de ejemplo

La aplicación Cabana Cabana es una aplicación de referencia de cliente inteligente simple con una experiencia de usuario quebradizo, con múltiples funciones que es fácil de implementar y operar a través de Internet. Cabana demuestra:

Un enfoque fácil para el bloque de aplicaciones de IU compuesto de los patrones de Microsoft & Grupo de prácticas. Código reutilizable y mantenible a través de la composición de la interfaz de usuario. Separación del modelo (lógica comercial y acceso a datos) desde la presentación. El patrón Model-View-Presenter. Ajuste de rendimiento. y más.

0

Recientemente publiqué DesktopBootstrap. Es mi intento de factorizar muchos de los elementos comunes de la creación de aplicaciones de escritorio de mediana a gran escala.

Lo puedes encontrar here.

Cuestiones relacionadas