Applications of C#

Rumman Ansari   Software Engineer   2022-03-17   6691 Share
☰ Table of Contents

Table of Content:


The C# language can be used to build any and all kinds of applications. Not only Windows or Web applications but C# can be used to build mobile, Windows Store, and Enterprise applications. C# can also be used within the SQL Server database to build reports, jobs and modules to do the backend work.

Here is a list of types of applications C# can develop.

  1. Windows client applications
  2. Windows libraries and components
  3. Windows services
  4. Web applications
  5. Web services and Web API
  6. Native iOS and Android mobile apps
  7. Backend services
  8. Azure cloud applications and services
  9. Backend database using ML/Data tools
  10. Interoperability software such as Office, SharePoint, SQL Server and so on.
  11. Artificial Intelligence and Machine learning
  12. Blockchains and distributed ledger technology including cryptocurrency
  13. Internet of Things (IoT) devices
  14. Gaming consoles and gaming systems
  15. Video games
  16. And more

Windows Client Applications

Windows client applications run on the Windows operating system as executables. Windows applications have been in existence since Microsoft introduced the Windows operating system on Nov 20, 1985. Windows applications development was the initial use of the C# programming language when Microsoft announced it in 1999 to the developer world.

Today, Windows Forms and WPF are two major technologies used to develop Windows client applications. C# can also be used to write non-UI console and WPF Browser based applications. Visual Studio 2013 supports four project templates, including Windows Forms application, WPF application, Console application, and WPF Browser application.

Here are some common properties of Windows applications.

  • Windows applications run on a Microsoft Windows operating system.
  • Windows applications are typically executables (exes) and dynamic link libraries (DLLs).
  • Windows applications run on a PC and take all resources from the local machine.
  • Windows applications have a user interface with Windows controls such as buttons, menus, dialogs and forms/windows.

Examples of Windows Applications:

  • Microsoft Office (Word, PowerPoint, Excel and so on)
  • Internet Explorer
  • Skype
  • Visual Studio 2012
  • Photoshop
  • SQL Server 2012
  • Paintbrush

Components and Controls

Components and controls are libraries used to build something that is easily sharable and distributable. C# is one of the most commonly used languages to build components and controls in the Microsoft world. A chart control is a perfect example of a sharable control. A GPS library is a perfect example of a library that can be built by a developer and easily distributed to other developers to be used in their applications.

Visual Studio 2013 supports five project templates, including Class Library, Portable Class Library, WPF Custom Control Library, WPF User Control Library, and Windows Forms Control Library.

Web Applications

ASP.NET was released on Jan 05, 2002. Since then, ASP.NET has become one of the most popular technologies to build web applications. ASP.NET can be combined with HTML, JavaScript and other libraries and APIs to build modern web applications.

Visual Studio supports the three major ASP.NET project templates, ASP.NET web applications, ASP.NET MVC web applications, and ASP.NET server controls.

The following are some common properties of Web applications:

  • Web applications run on a Web Server.
  • Web applications are typically hosted within an ASP.NET or HTML page.
  • Windows applications run on the server as well as in the client browser, depending on how the code is written. If C# is used as backend coding, the C# code runs on the server and the front end HTML runs within the client browser.
  • Web applications have a user interface with Windows controls such as buttons, text boxes, text and styles.
  • Web applications usually have a URL, public or private.
  • Web applications are accessed by users from outside of the physical premises of the application via a remote Internet connection and a browser.

The following are examples of Web sites:

  • msdn.com
  • facebook.com
  • c-sharpcorner.com
  • www.atnyla.com

Windows Services, Web Services, and Web API

Windows Services has been around since early Windows days. A Windows Service (also known as Microsoft Windows Service or Windows NT Service) is an executable application that runs on Windows operating systems. A service usually does not have a user interface, performs operations in the background and does not require any user interaction. Visual Studio comes with a Windows Service project template that is used to create a Windows Service using C# and VB.NET.

Web Services were introduced to provide remote communication among devices over the Internet. The main purpose of a Web Service is to provide data accessibility and updatability remotely using the internet protocols regardless of the platform, Operating System, client browser, and application. Physically, a web service is a software application running on a Web Server that can be called by outside applications using the internet to access and write data.

In the Microsoft world, the web services are developed using ASP.NET and hence called the ASP.NET Web Services. While the exposure and connectivity of a Web Service uses ASP.NET, the backend can be built using the C# language. Windows Communication Foundation (WCF) and the Web API are the latest technologies developed by Microsoft to provide remote communication.

Web APIs are a modern era of Web services that allow developers to expose backend functionality to any kind of application regardless of their platform and language.

UWP Apps

Universal Windows Platform (UWP) Apps are windows apps run on Windows 10 or later platforms.

There are two tracks to develop UWP apps. First, use C# and XAML and second, use HTML 5 and JavaScript. C# and XAML are the primary languages to build Windows Store apps. XAML is used to build app screens and C# is used as the language that runs in the backend.

Mobile Apps

Mobile apps run on mobile devices. The Apple iOS and Google Android are two major players in the mobile app market. C# supports native mobile app development via Xamarin. Xamarin is a part of Visual Studio 2017 or later versions.

Cloud and Azure

Visual Studio 2017 or later versions provide a complete suite of tools to build cloud based applications for Windows Azure. Windows Azure is Microsoft's operating system for cloud computing and hosting. Using Visual Studio, not only you can build Azure solutions but can also deploy and manage them. C# can also be used to work with SQL Azure, the cloud based version of Microsoft's SQL Server database server.

Enterprise Cross-Applications Development

So far, we have learned that we can build Windows, Web, Mobile, Services and Components using the C# language but the capabilities of C# does not end here. The C# language may also be used cross-applications to connect and build enterprise solutions.

Some of the critical requirements of an enterprise architecture are connectivity with various types of applications to transfer data. For example, in one of my projects, I had to access data from a SQL Server database, a SharePoint database and store some in MSMQ. There was also data to be transfered from SharePoint Portal Server that was accessed by Office Excel documents and an ASP.NET Website. There was also a reporting component using Crystal Reports and CRM that stored a customer database.

All the preceding can be done using the C# language. I built some adapters and used some existing .NET adapters and built the system using app pure .NET and C#.

The following are some of the products and tools that could be used in an enterprise environment:

  • App for Office 2013
  • App for SharePoint 2013
  • Cloud Business App
  • Add-ins for Office 2013 including Excel 2013, InfoPath 2013, PowerPoint 2013, Project 2013, Visio 2013, Word 2013.
  • SharePoint development includes SharePoint 2013 Silverlight Web Part, SharePoint 2013 Visual Web Parts, and SharePoint 2013 Reusable Workflow.
  • SharePoint, SQL Server, Office
  • SQL Server database
  • XML
  • Flat data
  • Object data

Bleeding-Edge Technologies

C# fully supports trending bleeding-edge technologies development such as Artificial Intelligence, Machine Learning, Blockchain, Internet of Things, and Intelligent Cloud.

C# is also the primary programming language for any new Microsoft product and platform.

Summary

The C# language has come a long way since it was introduced in 1999. If you have enough experience, you can build nearly any kind of application using C# and related tools.

In this article, I discussed the power and flexibility of C# and its usefulness. There is not much out that can't be built using C# and its related technologies in the Microsoft world. If you are a Microsoft developer, you may already know that you can't live without C#.