Windows OS is a widely used operating system for desktop and mobile devices. The history of Windows OS for desktop dates back to Windows 3.0 and has evolved through various versions, culminating in Windows 10. Similarly, the history of Windows OS for mobile began with Windows CE and has evolved through Windows Mobile, Windows Phone, to Windows 10 Mobile.

There are several ways to develop Windows applications, including using MFC, WinForms, WPF, and the Universal Windows Platform (Win10). Universal Windows Apps were introduced in Windows 8.1 and allowed developers to create apps that could run on multiple devices. The Universal Windows Platform (Win10) provides a common platform for building Windows apps that can run on a variety of devices, including desktops, tablets, and smartphones.

In addition to these platforms, there are other platforms for developing Windows apps, such as Unity3D, Xamarin, and Apache Cordova. These platforms provide alternative options for building Windows apps and allow developers to utilize their existing skills and knowledge.

Topics covered:

  • History of Windows OS for Desktop
    • From Windows 3.0 to Windows 10
  • History of Windows OS for Mobile
    • From Windows CE to Windows Mobile to Windows Phone to Windows 10 Mobile
  • Ways to Develop Windows Applications
    • MFC, WinForms, WPF
    • Windows Universal Apps (Win 8.1)
    • Universal Windows Platform (Win10)
  • Other Platforms for Windows Apps
    • Unity3D, Xamarin, Apache Cordova

Video (in Bulgarian)

Presentation Content

First Windows Versions

  • 1975–1981: Microsoft boots up
    • MS‑DOS
  • 1982–1985: IntroducingWindows 1.0
  • 1987–1990: Windows2.0–2.11 – More windows

Windows 3.0

  • Windows 3.0
    • Release: May 1990
    • Support end: Dec 2001
  • Able to compete with
  • Macintosh UI
  • Multimedia upgrade kit
    • CD-ROM
    • Sound card

Windows 95

  • Windows 95
    • Release: Aug 1995
    • Support end: Dec 2001
  • Consumer oriented
  • Key new features:
    • Win32 API
    • The “Start” button
    • The taskbar

Windows 98

  • Windows 98
    • Release: June 1998
    • Support end: July 2006
  • Key new features
    • Windows Driver Model
    • Wider support for USB
    • ACPI support – Standby and Hibernate states

Windows Millennium Edition

  • Windows ME (Mistake Edition)
    • Release: Sep 2000
    • Support end: Jul 2006
  • Main target home PC users
  • Key new features
    • Customizable Windows Explorer toolbars
    • Personalized menus
    • Autocomplete in Windows Explorer address bar

Windows XP

  • Windows XP
    • Release: Dec 2001
    • Support end: April 2014
  • Improved hardware support
  • Key new features
    • Windows Product Activation
    • Internet Connection Firewall
    • Internet Connection Sharing
    • Remote Desktop

Windows Vista

  • Windows Vista
    • Release: Jan 2007
    • Support end: April 2017
  • Improved security
  • Kew new features
    • Improved UI – Windows Aero
    • Windows Search
    • Increased level of communication between home network machines

Windows 7

  • Windows 7
    • Released: Oct 2009
    • Support end: Jan 2020
  • Key new features
    • Improved performance on multi-core CPUs
    • Taskbar “pin application”

Windows 8

  • Windows 8
    • Released: Oct 2012
    • Support end: Jan 2023
    • Metro Design
  • Key new features
    • Windows Store
    • Improved mobile UI
    • New start screen
    • USB 3.0 support

Windows 8.1

  • Windows 8.1
    • Released: Oct 2013
    • Support end: Jan 2023
  • Major update to Win 8
  • Key new features
    • All Apps view
    • Improved window snapping
    • Tighter OneDrive integration
    • Support for 3D printing using NFC tags

Windows 10

  • Windows 10
    • Released: Jul 2015
    • Support end: Oct 2025
  • Free for Win 8 users
  • Key new features
    • Harmonized UX between all devices
    • Universal Windows Platform
      • Shared code and UI for desktop and mobile
      • Responsive design

Windows Mobile History

  • Windows CE
    • Based on Windows 95 code
    • UI developed separately (WinPad)
  • Pocket PC 2000
    • Released on April 19, 2000
    • Based on Windows CE 3.0
  • Pocket PC 2002
    • Released in October 2001
    • Meant to be similar to Windows XP
  • Windows Mobile 2003
    • Released on June 23, 2003
    • First release named Windows Mobile
    • Superseded by WindowsMobile 2003 SE on March 24, 2004
  • Windows Mobile 5
    • Released on May 2005
    • .NET Compact Framework 1.0 SP3
    • A lot of enchacements
  • Windows Mobile 6
    • Released on February 12, 2007
    • Similar in design to Windows Vista
  • Windows Mobile 6.1
    • Announced April 1, 2008
    • Minor upgrade to the WM 6 platform
  • Windows Mobile 6.5
    • Middle update between WM 6.1 andyet-to-be released Windows Mobile 7

Windows Phone 7 History

  • Windows Phone 7
    • Released on October 2010
    • Metro design
    • Windows CE-based architecture
  • Windows Phone 7.5 Mango
    • Release 2011
    • Mobile version of IE 9
    • Multi-tasking of third-party apps
  • Windows Phone 7.8 (few features of WP 8)
  • Windows Phone 8
    • Released on October 29, 2012
    • Flat user interface based on Metro
    • Windows NT kernel architecture (Win8)
  • Windows Phone 8.1
    • Released on April 14, 2014
    • Cortana, IE 11, HTML 5 videos
    • Same app model with Windows 8.1
      • Windows Universal Apps

Windows 10 Mobile

  • Windows 10 Mobile
    • Released on November 20, 2015
    • Converged operating system
    • Greater consistency with PC
    • New universal application platform
      • Allows one app to run onmultiple Windows 10 devices
    • Cortana, Edge, Same store as PC
    • Continuum – Connect it to display and keyboard and you have a PC in your pocket

Microsoft Foundation Classes

Windows forms

  • GUI class library
    • Replaces the MicrosoftFoundation Class library
    • The first C# UI framework
  • Event driven applications
  • Access to native WindowsUser Interface Controls
  • Better exposure of the Win32 API than MFC
  • The Control class
    • Location, size, color, font, text, click, drag

WPF

  • XAML based
    • Similar idea to HTML
  • Uses DirectX and Direct3D
  • Provides data binding
  • Rich media support
    • Vector and raster images, audio and video
  • Supports animations and templates
  • Silverlight is a subset of WPF for RIA
    • As replacement of Flash, later for mobile apps
    • Deprecated

History of Windows Universal

  • 2010 – Windows Phone 7
  • Mid-2011 – public beta of  Windows 8
  • Mid-2012 – publicly released Windows 8
    • Designed for touch
    • Microsoft’s OS was headed for the tablet
  • April 2014 – Windows Universal Apps
    • Convergence of Windows 8.1 and WP 8.1
    • Create applications that target the phone and tablet and share a single code base
  • July 2015 – Universal Windows Platform (UWP)
    • As part of Windows 10 and Windows 10 Mobile

Windows 8.1 Universal Concepts

  • Develop a universal Windows app that targets Windows and Windows Phone
    • Share: code, user controls, styles, strings, and other assets between the two projects
    • Linked files between projects
    • Conditional compilation with preprocessor directives

#if WINDOWS_APP

// run Windows specific code

#elif WINDOWS_PHONE_APP

// run Windows Phone specific code

#endif

Universal Windows Platform

  • Released 2015
  • Targets device families, not an OS
  • One Store for all devices
  • Common UI
    • Responsive controls
    • Same UI code used for both mobile and desktop

Unity3D

  • A cross-platformgame engine
    • PC, consoles,mobile devicesand websites
  • Can build Windows Universal apps
  • Supports C# and JavaScript
  • Can also be used for both 2D and 3D games
  • There are paid and free versions
  • telerikacademy.com/Courses/Courses/Details/235

Xamarin and Xamarin Forms

  • Uses C# code forcreating native apps
  • Xamarin
    • Shared C# logic
    • Separate UI for iOS, Android and Windows
  • By the creators of Mono
  • Xamarin Forms
    • Shares both UI and C# logic
    • Not free
      • 25$/month indie license
      • 999$/year business license

Apache Cordova

  • Apache Cordova is an open-source mobile application development framework
  • Enables building of hybrid mobile applications using JavaScript , HTML and CSS (Ruby as well)
    • Instead of often less-known languages such as Objective-C and Java
  • The Cordova applications are hybrid
    • All layout rendering is done via the web view instead of Objective-C or Java
    • Most of the HTML5 features are supported
  • Yet, as any hybrid app, Cordova apps do not have full access to the device API ( Camera , accelerometer , etc.)

Windows Bridges

  • Take existing code or project and convert it to a Universal Windows Application
    • Use a Microsoft interoperability library to integrate Microsoft services into your app
    • Test and debug from your preferred IDE
    • Publish through the Windows Store