SlideShare a Scribd company logo
EDP
Introduction
K i t a w A .
Introduction
• Event-driven programming is a programming paradigm in
which the flow of the program is determined by events
• Event is an action or occurrence detected by a program;
and originates from mainly two sources:
• Users:
• mouse clicks, key presses
• Another programs:
• messages from other programs or threads
• Event-driven program is designed to react such events
Introduction
• In an event-driven application, there is generally a main
loop that listens for events, and triggers a callback
function when one of those events is detected
• A callback function, also called event handler, is a function
that is invoked when an event occurs
Initialization
Wait for events
Exit or
crash?
Call event
handler
Event
Handler
Stop
Start
Y N
Introduction
• Event-driven programming is the dominant paradigm used in
graphical user interfaces (GUIs)
• A user interface is a system by which people (users) interact
with the computer
• There are two main types of user interfaces:
• Text-Based User Interface or Command-Line Interface (CLI)
• Graphical User Interface (GUI)
Introduction
• Command Line Interface - CLI
• This is a text only interface, which only requires input from
the keyboard (usually referred to as “entering a command”)
• Typically, Enter key is pressed at the end of a command, after
which the computer will receive, parse and execute that
command
• The output of the command will be returned back to the
terminal as text lines
• This interface relies primarily on the keyboard
Introduction
• Command Line Interface - CLI
• The main advantages of a CLI are:
• users only need to utilize the keyboard and may need to
execute only few commands to complete the task
• a computer that is only using the command line takes a lot
less of the computers resources
• The main disadvantages of a CLI are:
• difficult for new users to learn
• relies heavily on recall rather than recognition
• navigation is often more difficult
Introduction
• Graphical User Interface - GUI
• It is a type of interface that allows users to communicate with
applications in the form of images/animations/icons as
opposed to text
• This interface presents the user with the information/actions
through graphical objects (i.e. GUI Controls or Widgets)
• Both mouse and keyboard can be used for the interaction
• The user performs actions by directly manipulating graphical
objects on the screen
Introduction
• Graphical User Interface - GUI
• The main advantages of a GUI are:
• less expert knowledge is required to use it (more user friendly)
• easier to navigate
• The main disadvantages of a GUI are:
• consumes system resources
• slower compared to CLI
What is .NET?
• .NET is a developer platform made up of tools, programming
languages, and libraries for building different types of
applications
• It is created by Microsoft
• Its applications are multi-platform applications
• It has been designed in such a way that it can be used from
any of the following languages: C#, C++, Visual Basic, etc
• It consists of an enormous library of codes used by the client
languages such as C# using object-oriented programming
(OOP) techniques
What is .NET?
Common Language Runtime
Framework Class Library
ADO.NET
WinForms
Common Language Specification, Common Type System
C#
ASP.NET WPF
Visual Basic C++
.NET
Framework
Common Language Runtime
• The CLR is responsible for maintaining the execution
of all applications developed using the .NET library
• It provides various services to managed code:
• Compilation and execution
• Integrating software components written in different .NET
languages,
• Garbage collection, and more.
Common Language Runtime
• Managed code is compiled into machine-specific
instructions in the following steps:
• First, the code is compiled into Microsoft Intermediate
Language (MSIL)
• When the app executes, another compiler (known as the
just-in-time compiler or JIT compiler) in the CLR translates
the MSIL in into machine-language code (for a particular
platform)
• The machine-language code executes on that platform
Common Language Runtime
• The Framework provides a high level of language
interoperability
• Because software components written in different .NET
languages (such as C# and Visual Basic) are all compiled into
MSIL, the components can be combined to create a single
unified program
• Thus, MSIL allows the .NET Framework to be language
independent
Framework Class Library
• The .NET framework class library is a library of classes and
interfaces that provide access to system functionality
• It is the foundation on which .NET Framework applications are
built
• The library is categorized into a number of namespaces
• The System.Windows namespaces contain types used in
Windows Presentation Foundation (WPF) applications,
• System.Windows.Forms and its child namespaces are used for
developing Windows Forms applications.
ADO.NET
• ADO.NET provides consistent access to data sources such as
SQL Server and XML
• Applications can use ADO.NET to connect to these data
sources and perform CRUD operations:
• Create,
• Read,
• Update and
• Delete data
System.Windows (WPF)
• System.Windows provides an object-oriented set of classes
that enable you to develop rich Windows applications
• With this module and some additional code you can:
• design UI
• read information from the user
• respond to the information provided
• manipulate data from external sources (i.e. files and
databases)
Common Type System
• The Common Type System (CTS) standardizes the data types
of all programming languages under the umbrella of .NET to a
common data type for easy and smooth communication
C# Visual Basic
System.Int32
Integer
int
Common Language Specification
• CLS is a set of basic language features that .NET Languages
needed to develop Applications and Services , which are
compatible with the .NET Framework.
• When there is a situation to communicate Objects written in
different .NET Complaint languages , those objects must
expose the features that are common to all the languages
• For example, one rule is that you cannot use multiple inheritance within
.NET Framework. As you may know C++ supports multiple inheritance
but; that’s not allowed to use such a C++ code within C# because it
doesn’t supports multiple inheritance
• Another rule is that you cannot have members with the same name but
different cases i.e. you cannot have add() and Add() methods. This easily
works in C# because it is case-sensitive but because VB is not case
sensitive, it’s not possible to use such a code
.NET Implementations
• Three implementations:
1. .NET Framework is the original implementation of .NET. It supports
running websites, services, desktop apps, and more on Windows
2. .NET Core is a cross-platform implementation for running websites,
services, and console apps on Windows, Linux, and macOS. This
implementation is open source on GitHub
3. Xamarin/Mono is a .NET implementation for running apps on all the
major mobile operating systems, including iOS and Android
EDP
END
T h a n k y o u !
Kitaw A.

More Related Content

Similar to Introduction.pptx the event driven course

Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
Nitu Pandey
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
Ganesh Jaya
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
GaytriMate
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
Faisal Aziz
 
C# chap 2
C# chap 2C# chap 2
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer software
Hardik Patel
 
Introduction
IntroductionIntroduction
Introduction
Hiren Selani
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
prakashk453625
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
Raghuveer Guthikonda
 
.Net overview
.Net overview.Net overview
.Net overview
madydud
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
pinky singh
 
.NET Framework
.NET Framework.NET Framework
.NET Framework
vijayakumari kaliannan
 
.Net Introduction
.Net Introduction.Net Introduction
.Net Introduction
Muzzammil Wani
 
Tech presentation (part 1)
Tech presentation (part 1)Tech presentation (part 1)
Tech presentation (part 1)
Abhijit Roy
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
Sneha Chopra
 
.Net framework
.Net framework.Net framework
.Net framework
sanya6900
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
VivekRaj101435
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
charusharma165
 
Vb.net session 01
Vb.net session 01Vb.net session 01
Vb.net session 01
Niit Care
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
FAREED UR RAHMAN .
 

Similar to Introduction.pptx the event driven course (20)

Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
 
C# chap 2
C# chap 2C# chap 2
C# chap 2
 
Unit 2 computer software
Unit 2 computer softwareUnit 2 computer software
Unit 2 computer software
 
Introduction
IntroductionIntroduction
Introduction
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
.NET Framework
.NET Framework.NET Framework
.NET Framework
 
.Net Introduction
.Net Introduction.Net Introduction
.Net Introduction
 
Tech presentation (part 1)
Tech presentation (part 1)Tech presentation (part 1)
Tech presentation (part 1)
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
.Net framework
.Net framework.Net framework
.Net framework
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
 
Vb.net session 01
Vb.net session 01Vb.net session 01
Vb.net session 01
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
 

Recently uploaded

What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
ssuser13ffe4
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
EduSkills OECD
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
imrankhan141184
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
Himanshu Rai
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
mulvey2
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
S. Raj Kumar
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
Nguyen Thanh Tu Collection
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
dot55audits
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
iammrhaywood
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 

Recently uploaded (20)

What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
math operations ued in python and all used
math operations ued in python and all usedmath operations ued in python and all used
math operations ued in python and all used
 
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxBeyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptx
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
Traditional Musical Instruments of Arunachal Pradesh and Uttar Pradesh - RAYH...
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem studentsRHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
RHEOLOGY Physical pharmaceutics-II notes for B.pharm 4th sem students
 
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptxC1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
C1 Rubenstein AP HuG xxxxxxxxxxxxxx.pptx
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
 
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
BÀI TẬP DẠY THÊM TIẾNG ANH LỚP 7 CẢ NĂM FRIENDS PLUS SÁCH CHÂN TRỜI SÁNG TẠO ...
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
ZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptxZK on Polkadot zero knowledge proofs - sub0.pptx
ZK on Polkadot zero knowledge proofs - sub0.pptx
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptxNEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
NEWSPAPERS - QUESTION 1 - REVISION POWERPOINT.pptx
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 

Introduction.pptx the event driven course

  • 2. Introduction • Event-driven programming is a programming paradigm in which the flow of the program is determined by events • Event is an action or occurrence detected by a program; and originates from mainly two sources: • Users: • mouse clicks, key presses • Another programs: • messages from other programs or threads • Event-driven program is designed to react such events
  • 3. Introduction • In an event-driven application, there is generally a main loop that listens for events, and triggers a callback function when one of those events is detected • A callback function, also called event handler, is a function that is invoked when an event occurs Initialization Wait for events Exit or crash? Call event handler Event Handler Stop Start Y N
  • 4. Introduction • Event-driven programming is the dominant paradigm used in graphical user interfaces (GUIs) • A user interface is a system by which people (users) interact with the computer • There are two main types of user interfaces: • Text-Based User Interface or Command-Line Interface (CLI) • Graphical User Interface (GUI)
  • 5. Introduction • Command Line Interface - CLI • This is a text only interface, which only requires input from the keyboard (usually referred to as “entering a command”) • Typically, Enter key is pressed at the end of a command, after which the computer will receive, parse and execute that command • The output of the command will be returned back to the terminal as text lines • This interface relies primarily on the keyboard
  • 6. Introduction • Command Line Interface - CLI • The main advantages of a CLI are: • users only need to utilize the keyboard and may need to execute only few commands to complete the task • a computer that is only using the command line takes a lot less of the computers resources • The main disadvantages of a CLI are: • difficult for new users to learn • relies heavily on recall rather than recognition • navigation is often more difficult
  • 7. Introduction • Graphical User Interface - GUI • It is a type of interface that allows users to communicate with applications in the form of images/animations/icons as opposed to text • This interface presents the user with the information/actions through graphical objects (i.e. GUI Controls or Widgets) • Both mouse and keyboard can be used for the interaction • The user performs actions by directly manipulating graphical objects on the screen
  • 8. Introduction • Graphical User Interface - GUI • The main advantages of a GUI are: • less expert knowledge is required to use it (more user friendly) • easier to navigate • The main disadvantages of a GUI are: • consumes system resources • slower compared to CLI
  • 9. What is .NET? • .NET is a developer platform made up of tools, programming languages, and libraries for building different types of applications • It is created by Microsoft • Its applications are multi-platform applications • It has been designed in such a way that it can be used from any of the following languages: C#, C++, Visual Basic, etc • It consists of an enormous library of codes used by the client languages such as C# using object-oriented programming (OOP) techniques
  • 10. What is .NET? Common Language Runtime Framework Class Library ADO.NET WinForms Common Language Specification, Common Type System C# ASP.NET WPF Visual Basic C++ .NET Framework
  • 11. Common Language Runtime • The CLR is responsible for maintaining the execution of all applications developed using the .NET library • It provides various services to managed code: • Compilation and execution • Integrating software components written in different .NET languages, • Garbage collection, and more.
  • 12. Common Language Runtime • Managed code is compiled into machine-specific instructions in the following steps: • First, the code is compiled into Microsoft Intermediate Language (MSIL) • When the app executes, another compiler (known as the just-in-time compiler or JIT compiler) in the CLR translates the MSIL in into machine-language code (for a particular platform) • The machine-language code executes on that platform
  • 13. Common Language Runtime • The Framework provides a high level of language interoperability • Because software components written in different .NET languages (such as C# and Visual Basic) are all compiled into MSIL, the components can be combined to create a single unified program • Thus, MSIL allows the .NET Framework to be language independent
  • 14. Framework Class Library • The .NET framework class library is a library of classes and interfaces that provide access to system functionality • It is the foundation on which .NET Framework applications are built • The library is categorized into a number of namespaces • The System.Windows namespaces contain types used in Windows Presentation Foundation (WPF) applications, • System.Windows.Forms and its child namespaces are used for developing Windows Forms applications.
  • 15. ADO.NET • ADO.NET provides consistent access to data sources such as SQL Server and XML • Applications can use ADO.NET to connect to these data sources and perform CRUD operations: • Create, • Read, • Update and • Delete data
  • 16. System.Windows (WPF) • System.Windows provides an object-oriented set of classes that enable you to develop rich Windows applications • With this module and some additional code you can: • design UI • read information from the user • respond to the information provided • manipulate data from external sources (i.e. files and databases)
  • 17. Common Type System • The Common Type System (CTS) standardizes the data types of all programming languages under the umbrella of .NET to a common data type for easy and smooth communication C# Visual Basic System.Int32 Integer int
  • 18. Common Language Specification • CLS is a set of basic language features that .NET Languages needed to develop Applications and Services , which are compatible with the .NET Framework. • When there is a situation to communicate Objects written in different .NET Complaint languages , those objects must expose the features that are common to all the languages • For example, one rule is that you cannot use multiple inheritance within .NET Framework. As you may know C++ supports multiple inheritance but; that’s not allowed to use such a C++ code within C# because it doesn’t supports multiple inheritance • Another rule is that you cannot have members with the same name but different cases i.e. you cannot have add() and Add() methods. This easily works in C# because it is case-sensitive but because VB is not case sensitive, it’s not possible to use such a code
  • 19. .NET Implementations • Three implementations: 1. .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows 2. .NET Core is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. This implementation is open source on GitHub 3. Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android
  • 20. EDP END T h a n k y o u ! Kitaw A.