Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Desktop Applications: Architectural Frameworks?

I'm wondering if there are any architectural frameworks out there to create desktop or standalone applications, in Java or C# for instance. It seems that there are tons of them available for web applications but I can't find many good resources on frameworks or architectural best-practices for desktop development.

Ideally I would like to know if there is any source code available of desktop applications that would be considered to have a good architecture or are built with a certain framework.

like image 496
Christophe Herreman Avatar asked Sep 29 '08 20:09

Christophe Herreman


People also ask

What are the different types of application architectures?

There are many different types of application architectures, but the most prominent today, based on the relationships between the services are: monoliths and N-tier architecture (tightly coupled), microservices (decoupled), and event-driven architecture and service-oriented architecture (loosely coupled).

Which software is best for desktop application?

The creation of UWP in Windows 10 is one of the best reasons that . NET is one of the best cross-platform desktop frameworks. Essentially, UWP will allow you as a developer to create an application and have that application spread across the many different Microsoft platforms.


2 Answers

While not directly related to desktop applications if you are looking for decent source code for well written projects I asked a similar question:

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

People gave some pretty good suggestions there:

  • Scott Hanselman's The Weekly Source Code series (usually managed C#)
  • Code written by Microsoft Patterns & Practices team.
  • SharpDevelop (written in C#)
  • Mono (most of the framework in C#)
  • Paint.Net (written in C#)
  • NHibernate (written in C#)
  • The Castle Project (written in C#)
  • xUnit (written in C#)
  • .Net Framework Source Code
like image 110
mmcdole Avatar answered Sep 24 '22 15:09

mmcdole


In the lightweight app category, JSR 296 for Java (to be in future Java 7 possibly) is a framework handling the basics like resource management and actions. Lots of links here:

  • http://tech.puredanger.com/java7#jsr296

Scaling up a bit, you could look at various RCP frameworks like:

  • Eclipse RCP: http://wiki.eclipse.org/index.php/Rich_Client_Platform
  • NetBeans Platform: http://www.netbeans.org/products/platform/
  • Spring RCP: http://spring-rich-c.sourceforge.net/1.0.0/index.html
  • Comparison article: http://www.infoq.com/news/eclipse-rcp-netbeans-platform

UPDATE: It has been mentioned (by Mark Reinhold at Devoxx '08) that JSR 296 will be included in Java 7.

Further update: JSR 296 is dead. JavaFX is the current direction for client-side Java.

like image 25
Alex Miller Avatar answered Sep 26 '22 15:09

Alex Miller