Windows Programming Environments

Slides:



Advertisements
Similar presentations
Device Drivers Witawas Srisa-an Embedded Systems Design and Implementation.
Advertisements

Using.NET Platform Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.NET framework, MSDN and Wikipedia Muhammad.
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Why COM and.Net? Jim Fawcett CSE775 – Distributed Objects Spring 2005.
Image Management System Supervisor Dmitry Davidov Students Tanya Kostanovich Roma Kagan.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
CSCI 3327 Visual Basic Chapter 1: Introduction to Visual Basic
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Introduction to .Net Framework
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
1 Operating System Overview Chapter 2 Advanced Operating System.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Bacon A Penetration and Auditing Framework Hernan Gips
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
COMP25212: Virtualization Learning Objectives: a)To describe aims of virtualization - in the context of similar aims in other software components b)To.
GUIs for Applets Introduction Applets and Swing/JFC Alternatives to Swing Look-and-Feel issues Example applet graphical user interfaces.
Institute for Software Integrated Systems Vanderbilt University Copyright © Vanderbilt University/ISIS 2008 Model Interpreters Janos Mathe based on Peter.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
Chapter 2 Operating System Overview
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Windows Programming, C.-S. Shieh, KUAS EC, Chapter 0 Overview.
Overview of Windows Driver Development Reference: us/gstart/hh/gstart/gs_intro_031j.asp.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Boris Jabes Program Manager Visual C++ Microsoft Corporation.
Jim Fawcett CSE687 – Object Oriented Design Spring 2001
Computer System Structures
Jim Fawcett CSE775 – Distributed Objects Spring 2006
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Jim Fawcett CSE775 - Distributed Objects Spring 2014
Presented by FACADE PATTERN
CSE691 Software Models and Analysis.
CSE791 - Distributed Objects, Spring 2002
Jim Fawcett CSE775 – Distributed Objects Spring 2017
CSE775 - Distributed Objects, Spring 2006
Jim Fawcett CSE687 – Object Oriented Design Spring 2016
Jim Fawcett CSE775 – Distributed Objects Spring 2009
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Apartments and COM Threading Models
The Mach System Sri Ramkrishna.
Jim Fawcett CSE687 – Object Oriented Design Spring 2002
Unit OS2: Operating System Principles
CE-105 Spring 2007 Engr. Faisal ur Rehman
Jim Fawcett CSE687-OnLine – Object Oriented Design Summer 2017
Jim Fawcett CSE775 – Distributed Objects Spring 2012
Jim Fawcett CSE687 – Object Oriented Design Spring 2016
Chapter 3: Windows7 Part 1.
Jim Fawcett CSE687 – Object Oriented Design Spring 2009
Windows Internals Brown-Bag Seminar Chapter 1 – Concepts and Tools
CIS16 Application Development – Programming with Visual Basic
B.Ramamurthy Chapter 2 : Appendix
Windows System Programming Third Edition
Operating Systems : Overview
Operating Systems : Overview
Outline Operating System Organization Operating System Examples
Active Template Library
Jim Fawcett CSE687 – Object Oriented Design Spring 2003
Jim Fawcett CSE775 – Distributed Objects Spring 2007
Jim Fawcett CSE791 – Distributed Objects Spring 2002
Microsoft Consumer Channels and Central Marketing Group
Overview of System Development for Windows CE.NET
Jim Fawcett CSE681 – Software Modeling and Analysis Fall 2006
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Presentation transcript:

Windows Programming Environments Jim Fawcett CSE775 – Distributed Objects Spring 2007

Windows Programming Environments Win32 API: virtually all of the programming functionality directly or indirectly used in any Windows program, e.g., I/O, windows, controls, threads, sockets and other IPC, memory management, device management C++ Std Libraries: Console I/O, file abstraction, math, STL containers …, memory allocation, … Visual Studio Libraries and Facilities: Dialog designers, thread abstraction, COM related wrappers – smartpointers, BSTRs, … COM Libraries and Run-Time: Support for component models, e.g., definition of interfaces, management of lifetime, image packaging in DLLS and EXEs, persistence, structured storage, RPC … ATL Libs: Wrappers around COM that simplify its programming model, wrappers for COM types and smart pointers WTL: Wrappers around Win32 windows and controls that provide a light-weight GUI framework MFC: Classes, macros, and data structures that support the development of GUI applications in a heavy weight framework .Net Managed Environment: New execution model, wrapping of most of the Win32 API, library facilities that cover most of the C/C++ library functionality in a manner consistent with its managed environment, WinForms - a medium weight GUI framework

Strengths of Each Environment Win32 Natively provides windows, controls, memory management, process management, threads, directory and file management, access to Registry. C++ Widely supported and powerful object model, very well designed abstractions for console I/O, file management, containers, math. Visual Studio Libraries Smoothly integrates into all the Windows programming environments. Supports a COM-based programming model. COM Early and effective support for Component Engineering, allowing modifications to parts of large complex systems without rebuilding the entire system. ATL Efficiently and effectively hides a lot of COM’s complexity and weak encapsulation. WTL Very light weight and flexible wrapping of Windows many GUI facilities. Integrates well with ATL programming model. MFC Rapid development of complex user interfaces, provided that you want to use its models. .Net Managed Environment Elegant and well encapsulated wrapping of most of the Win32 API. Provides a very easy to use GUI framework, supports managed code.

What Environments Lack Win32 No objects directly usable by applications Byte and address oriented, no high-level types C++ No threads, sockets, directory management, windows Visual Studio Libraries Just support for other programming environments COM Weak object model - no inheritance of implementation, very limited types, weak encapsulation Weak networking, no windows ATL Weak windowing, no networking other than COM’s limited facilities. WTL Focuses exclusively on providing support for GUIs, not supported by Microsoft MFC Focuses mostly on providing support for GUIs with a ridgid architectural model .Net Managed Environment Requires run-time and libraries not found by default on Windows systems (that will change with Vista), uses a shallow reference object model, not ideal for some applications, e.g., scientific programming and memory intensive applications like medical imaging.