If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Creating Efficient Windows Desktop Apps: A Newbie's Guide

Started by Brillmindzuae, Apr 26, 2024, 12:23 AM

Previous topic - Next topic

BrillmindzuaeTopic starter

What's the best way to develop a desktop app for Windows?



It's been 7 years since I last dabbled in Windows programming back in college. I've been focused on Android development for the past 2 years. Now, I'm eager to create a Windows app that users can install without the need for additional downloads or installations (so no to Java applications).
I essentially have to start from square one. What's currently the most beginner-friendly language and IDE for Windows programming? And how should I plan to distribute the app down the line?
  •  


friv10games

Let's start with the language choice. C# is a popular and modern programming language that is widely used for Windows application development. It offers a strong type system, object-oriented features, and a rich set of libraries and frameworks, making it well-suited for creating desktop applications on the Windows platform. If you are already familiar with Java and Android development, transitioning to C# should feel relatively comfortable, as both languages share similarities in syntax and structure.

Next, let's talk about the Integrated Development Environment (IDE). Visual Studio is the go-to IDE for Windows development, offering a comprehensive set of tools to aid in the creation, debugging, and deployment of desktop applications. Visual Studio provides features such as code editing with IntelliSense, project templates for different types of applications, built-in debugging tools, performance profiling, and more. As a beginner, Visual Studio's user-friendly interface and extensive dоcumentation can help you get up to speed quickly and efficiently.

Now, let's address the distribution of your app. To ensure that users can install your app without the need for additional downloads or installations, you have a few options. One approach is to use the Windows Installer technology (MSI) to create an installer package for your app. This package can encapsulate your application files, dependencies, and installation logic, allowing users to run the installer and have your app installed on their Windows machines seamlessly.

Another option is the ClickOnce deployment method, which enables you to publish and install your application with minimal user interaction. ClickOnce simplifies the deployment process by handling updates and dependencies automatically, making it a convenient choice for distributing standalone desktop applications.

In addition to these methods, consider leveraging the Microsoft Store for app distribution. Publishing your app in the Microsoft Store can provide easy access for users, allowing them to discover, download, and install your app directly from a trusted source. The Microsoft Store also offers features such as in-app purchases, analytics, and targeted advertising, which can help you reach a broader audience and monetize your app effectively.
Developing a desktop app for Windows using C# and Visual Studio provides a reliable and well-supported environment for building high-quality applications. By leveraging the right tools and distribution strategies, you can create an app that users can install effortlessly and enjoy on their Windows devices.
  •  

AdahTrudy

It's simpler to begin with Windows.NET (like WPF), utilizing Visual Studio as the IDE and the C# language.

I also use C++ and Qt, as well as Java and Swing/JavaFX for my writing. When it comes to pre-installation, javapackager, as part of the standard JDK utilities, can be used to add the JRE installation step to the installer. Qt offers an Installer framework for creating installers effortlessly, but the key is to include all dynamic libs.
  •  

ehamicj085

This is the exact issue that I encountered after returning to web development following a 10-year hiatus working with C++ and MFC. Initially, I opted for Electron because of my familiarity with it and its long-term usability. However, I encountered difficulties when working with large data arrays, leading to application crashes. Additionally, the application's large size (100 MB) posed challenges for distribution.

I ultimately switched to C# Windows Forms, which significantly reduced the application size. While Electron offers strong graphical capabilities, it essentially functions as a web browser integrating various processes and visualization tools. It's important to note that it lacks ES6 support, but can still be functional without it.
  •  

pujagupta

I'd recommend starting with C# and Visual Studio (VS) as your IDE. C# is a modern, object-oriented language that's widely used for Windows development, and VS is a powerful, feature-rich IDE that's well-suited for beginners and pros alike.
With C# and VS, you can create a Windows Desktop App (.NET Framework) that can be distributed via the Microsoft Store or as a standalone installer. To get started, I'd suggest checking out Microsoft's official tutorials and dоcumentation, as well as online resources like Pluralsight and Udemy.
  •  


If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...