Friday 10 July 2015

Technologies for Apps development using .NET and Win32

The main advantage of software and applications is that they can be used offline. You can run more than one software at a time, this is called multitasking.
Some Examples of Software Applications
There are countless applications and software but we will study only the basics applications including desktop application software that must be install in every computer. These applications are
Microsoft Office
MS Office is a full package of different applications. It has MS word to create and manage documents, MS Power Point to create presentations, MS Access to create database and such other applications.
Web Browsers
Web browsers allow you to connect with Internet and website hosting required for further processes. Some of these web browsers are pre-installed on your Operating system like Internet Explorer and others you have to install yourself like Google Chrome, Opera Mini, Firefox and Safari.
Games
Different 3D and 2D games on your computer that are either pre-installed or you have to install them at your own. Games are dependent on your Operating Systems. Games ranges from simple card games to complex action games. Complex games requires large amount of memory and processing speed.
Media Players
Audio and Video players used to play audio and video files on your computer. VLC media player, Windows Media Player and Real Player are most commonly used media players.
Gadgets
Simple software that you use on your desktop for extra work and need like calculator, calendar, news and weather etc.                                          
Choose Your Technology
When you are developing software or desktop application, the first step is deciding the technology. Most commonly used technologies for software and  application development are WIN32 and COM API or .NET
Before choosing any technology, let’s have an overview of both technologies.
NET/XML
Languages: C#, C++, F#, VB
Features Offered:
  • Runtime productivity and safety
  • Cross Platform Technology
  • GUI technologies
  • Rich collection data types
  • Data modelling
  • Language Integrated Query (LINQ)
  • Date and time library
  • Serialization
  • Web services
  • Security and cryptography
  • Parallel programming library
.NET UI Selection
  • There are two types of .NET user interface stacks you can select.
  • Windows Presentation Foundation (WPF)
  • Windows Form (WF)
WPF
WPF provides a consistent programming model for desktop applications and separates the user interface from business logic. WPF has features of controls, data binding, layout, 2-D and 3-D graphics, animation, styles, templates, documents, media, text, and typography
Windows Form (WF)
It is an event driven application supported by .NET framework. It doesn’t use XML so its up to you to decide how to extend your application.

WIN32-C++
Languages: C++ with COM
Features Offered:
  • Hardware-level optimizations,
  • Performance oriented instruction sets
  • Efficient programming by using templates.
  • Efficient algorithms.
  • DirectX
  • C++ AMP
WIN32 UI selection
There are 3 types of UI stack you can use for your win32 application. 
  • MFC (Microsoft Foundation Class Library)
  • Third party application frameworks
  • WIN 32
MFC (Microsoft Foundation Class Library)
It’s a C++ class wrapper for Windows API. It Works with C++ classes.
WIN 32
It’s a handle based API for Windows applications. It is low level and suitable for apps that have simple interface required.
Third Party Applications
Because C++ isn’t platform dependent so third parties also C++ based interfaces that we can integrated on our windows application such as wxWidgets or Qt. 
.NET and Win32 are also used for Mobile application development and more services are available, check out this link http://www.solutionsplayer.com/software-development/