Pregunta

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

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

¿Fue útil?

Solución

Si bien no está directamente relacionado con las aplicaciones de escritorio si está buscando un código fuente decente para proyectos bien escritos, hice una pregunta similar:

Código abierto C # proyectos con una calidad de código extremadamente alta para aprender.

La gente dio algunas sugerencias bastante buenas allí:

  

Otros consejos

En la categoría de aplicaciones livianas, JSR 296 para Java (posiblemente en el futuro Java 7) es un marco que maneja los conceptos básicos como la gestión de recursos y acciones. Muchos enlaces aquí:

Ampliando un poco, puede ver varios marcos RCP como:

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

Actualización adicional: JSR 296 está muerto. JavaFX es la dirección actual para Java del lado del cliente.

Hay un nuevo .NET paquete de orientación arquitectónica de Microsoft patterns & amp; prácticas para WPF que es un código llamado "Prisma" - es básicamente una "próxima generación" Bloque de aplicación de IU compuesto (sin las herramientas SCSF). Utiliza inyección de dependencia, patrón compuesto en todo, etc.

Hay una buena DNRTV screencast que lo muestra.

Consulte Fábrica de software de Smart Client de Microsoft. Contiene ejemplos de código y documentación.

  

Descripción general

     

Esta fábrica de software proporciona comprobado   soluciones a desafíos comunes encontrados   mientras construye y opera compuesto   aplicaciones de clientes inteligentes. Ayuda   arquitectos y desarrolladores construyen   sistemas modulares que se pueden construir y   desplegado por equipos independientes.   Aplicaciones creadas con el software.   uso probado en fábrica para   operaciones, como centralizadas   registro de excepciones.

     

La fábrica de software contiene un   colección de componentes reutilizables y   bibliotecas, solución Visual Studio 2008   plantillas, asistentes y extensiones,   Temas de procedimientos, pruebas automatizadas,   extensa documentación de arquitectura,   patrones y una referencia   implementación. La fábrica de software   utiliza Windows Forms, Windows   Presentation Foundation, Windows   Fundación de la Comunicación, y la   Enterprise Library 3.1 & # 8211; Mayo de 2007   lanzamiento. Con este lanzamiento, el   El bloque de aplicación de IU compuesto es   incluido en la fábrica de software.

En Java, objetos desnudos - http://nakedobjects.org/home/index.shtml

JMatter - implementación de objetos desnudos - http://jmatter.org/ . bastante bien.

ambos son de código abierto.

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

  • Eclipse RCP (si está de acuerdo con SWT en lugar de Swing)
  • Spring RCP (que está en proceso de ser revisado en Spring Desktop)
  • NetBeans RCP (que no soy     particularmente impresionado con, pero     eso está obteniendo algo de tracción)
  • JSR 296 (Marco de aplicación) - I     realmente me gusta este

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

Puede utilizar algunos de los mismos enfoques en el desarrollo de clientes que utiliza en el desarrollo web, como Model View Presenter. El espacio de nombres System.Windows.Forms tiene todo lo que necesita para construir 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, mire el código para Paint.NET y SharpDevelop . Ambos tienen enfoques muy diferentes que serán interesantes para usted.

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

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

Viene con código fuente completo, así como aplicaciones cliente de muestra creadas en ASP.NET, WinForms y WPF.

Acabo de encontrar la Guía de aplicaciones compuestas para WPF y Silverlight que se ve muy interesante Fue publicado en febrero de 2009.

Desarrollamos tecnologías .NET aquí.

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

La Smart Client Factory (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.

Específicamente para el marco de presentación organizado de funciones de interfaz de usuario que hemos estado utilizando ventanas de acoplamiento de infonode , ese es un marco de ventanas que usa una apariencia similar a un eclipse (arrastre las vistas a cualquier lugar, ciérrelas, desacoplarlas, etc., por supuesto). hay una versión gpl para productos de código abierto, aunque afaik la licencia de desarrollador no es tan cara ($ 299 cada uno).

Verifique la cabaña de IdeaBlade para DotNet C #. http://www.ideablade.com/CAB.html

Aplicación de muestra Cabana

La aplicación Cabana es una aplicación de referencia de cliente inteligente simple con una experiencia de usuario nítida y rica en funciones que es fácil de implementar y operar en la web. Cabana demuestra:

Un enfoque sencillo para el Bloque de aplicaciones de interfaz de usuario compuesto de Microsoft Patterns & amp; Grupo de Prácticas. Código mantenible y reutilizable a través de la composición de la interfaz de usuario. Separación del modelo (lógica de negocios y acceso a datos) de la presentación. El patrón Modelo-Vista-Presentador. La optimización del rendimiento. Y más.

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

Puede encontrarlo aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top