- October 03, 2022
- Nikolay Kostov (Nikolay.IT)
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
- 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
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 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
- Introduced 1992
- Object-oriented C++wrapper over much ofthe Win32 and COM APIs
- Classes are defined formany handle-managedWindows objects and
- Predefined Windows and common controls
- Still under development
- 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
- 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
- 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
- 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