DEV Community

Shreya Dahal
Shreya Dahal

Posted on

2 2

Good resources for learning desktop application architecture so that they can be applied to web applications

I was reading Addy Osmani's Design Patterns book where he talks about the MV* patterns. It was shocking to me how much the original Smalltalk MVC pattern for building desktop application paralleled the Flux architecture and how we work with React/Redux.

Web applications are often thought of as something new that we are just discovering and the ecosystem is, therefore, evolving very fast and new patterns are being discovered.

But it is also quite true that today's web applications are just a natural evolution to the desktop applications we've been building for decades. As such, I believe, it is very important that today's web application developers have access to the learnings from building desktop applications.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (4)

Collapse
 
yaser profile image
Yaser Al-Najjar

What do you mean by application architecture?

If you mean software architecture, then you dont really need lots of knowledge about that in desktop.

Most desktop software are just apps (which one user alone interacts with).

But, most web software are systems (which many users interact with collaboratively).

You can apply the normal MVC and you'll be good to go.

Collapse
 
squgeim profile image
Shreya Dahal

I'm thinking more along the lines of classic large desktop application like Microsoft Word, or Photoshop. Maybe architecture is the wrong word, but surely applications like that would have to have some high level design as to how the data flows, or how the code is structured; and surely there are some common industry standards that have been established.

Collapse
 
yaser profile image
Yaser Al-Najjar

Mostly such apps are mere monoliths... we never had "lite version" out of these apps, same goes to Visual Studio, only way is a rewrite thus we had VSCode.

You shouldn't really think too much about the architecture, but more on what value you can bring with your desktop apps. Generally, you won't succeed on desktop unless it's really very an important app for tons of users (unlike android, any app or game will do).

Collapse
 
rhymes profile image
rhymes

Windows Forms uses MVP and Windows Presentation Foundation uses MVVM

You can use both for web applications: stackoverflow.com/a/101561/4186181

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay