1
Uvod u programiranje (SSCSS)
Programiranje 1 (FESB 450/451)
Poglavlje 1
Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2):
Pregled .NET platforme
Teo Žuljević, dipl. [email protected]@fesb.hr
2
Uvod u računala, Microsoft.NET i VB.NET
PREGLED TEMA
Računalni programi i programski jeziciPregled .NET platforme
Visual Studio razvojna okolina (demo)
3
Uvod
“Microsoft .NET is an object-oriented, multi-language, cross-platform development environment. It is based on the .NET Framework, which consists of two major components: an execution engine called the Common Language Runtime (CLR) and an extensive set of classes known as the Framework Class Library(FCL)…”
Upravljano izvođenje (managed execution)
Komponentno bazirane aplikacije (component-based)
4
Upravljano izvođenje
Ideja:Moderna programska podrška se izvodi unutar okoline izvođenja (run-time environment).Zašto? Prenosivije i sigurnije izvođenje.
Hardware
Operating System
Run-time Environment
Your Application
5
Utjecaj
.NET je rezultat mnogih utjecaja…
.NET
OOP JVM
GUIWeb
komponentno bazirano
oblikovanjen-slojno
oblikovanje
6
Java
Bazirana na okolini izvođenja JVMJVM = Java Virtual MachineJCL = Java Class Library
x86
Windows
JVM
PPC
Mac OS
JVM
ARM
Palm OS
JVM
Java Application
…
…
JVM
JCL
7
.NET
Baziran na CLR i FCLCLR = Common Language RuntimeFCL = Framework Class Library
Hardware
Operating System
Common Language Runtime
.NET Application .NET FrameworkClass Library
8
.NET
.NET aplikacija nije samostalna (stand-alone)
zahtjeva prisutnost .NET Framework-a = CLR + FCL
druge FCL komponebte
CLR (MSCOREE.dll)
JIT Compiler
Proces
Underlying OS and HW
Core FCL
(MSCOR LIB.dll)
.DLL.DLL.EXE
obj kod
• CLR = Common Language Runtime• FCL = Framework Class Library• JIT = Just in Time
9
Odabrati jezik i platformu...
Razvoj programske podrške u .NET-u
x86
Windows
CLR
ARM
Pocket PC
CLR
PPC
FreeBSD
CLR
x86
Linux
CLR
…
…
CLR
.NET Application FCL
VB C# C++ J# … CLS
• CLR = Common Language Runtime• FCL = Framework Class Library• CLS = Common Language Specification
10
.NET je višejezičan (multi-language)
Višejezičan razvoj programa“bešavna” suradnja različitih programskih jezika
.NET podržava VB, C#, C++, J# (Java), Eiffel, …
code.vb code.cs code.cpp ...
Visual Studio .NET
11
CLS?
VB.NET C#
CTS
CLS
Pyth
on
Osigurava dostupnost upravljanog koda ostalim .NET programskim jezicima.
CLS = “Common Language specification”omogućuje međujezičnu suradnju (language interoperability)opisuje minimalni skup jezičnih mogućnostidefinira pravila za njihovo korištenje
• CTS = Common Type System• CLS = Common Language Specification
12
Asembli
.NET pakira komponente u asemblije (assemblies)
1 asembli = 1 ili više kompajliranih datoteka izvornog koda (source code)
.EXE = izvršna datoteka, .DLL = dinamička biblioteka
VB.NET kompajler
.EXE / .DLL
code.vbcode.vb
code.vb
asembli
13
Komponento bazirane aplikacije
.NET aplikacije se sastoje od 1 ili više komponentiPrimjer:
tipičan n-slojni dizajn
Front-end
object object
object
DB
GUI.exebusiness.dll data.dll
14
IL?IL je asemblerski jezik .NET platforme (CLR-a)
IL = “Intermediate Language“IL==MSIL==CIL; MS=Microsoft; C=Common
upravljani kod (managed code) == IL kodCPU ne može direktno izvesti IL kod; IL neovisan o CPUJIT (Just-in-Time) prevodilac (compiler) pretvara IL u binarni jezik“underlying HW”
'** zbraja 2 cjela broja i vraća rezultat…Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
Add = x + yEnd Function
C:\> ildasm app.exe
16
Prevođenje i izvođenje
Izvorni kod
Jezični kompajler Assembly
Kod (IL)
Metapodaci
Izvođenje
JIT kompajler
Binarni kod
za vrijeme instalacije ili pri prvom pozivanju procedure
17
Managed execution revisited…
CLR mora moći locirati sve asemblijevlastite i FCL
druge FCL komponente
CLR (MSCOREE.dll)
JIT Compiler
Proces
Core FCL
(MSCOR LIB.dll)
.DLL.DLL.EXE
obj kod
• CLR = Common Language Runtime
• FCL = Framework Class Library
18
Utjecaj .NET arhitektureKlijent zahtjeva .NET Framework
raspoloživ preko Redistributable .NET Framework (20MB)4 verzije, v1.0 (2002), v1.1 (2003), v2.0(11/2005) i v3.0 (2006, Vista).
u razvoju v3.5izvodi se na 98, NT (6a), 2000, XP, 2003Windows 2003 se isporučuje sa v1.1
Prednosti i nedostaci:C prenosivostC sigurnije izvođenje (upravljanje memorijom, sigurnost, …)Dsporije izvođenje (10%)?
JIT kompajler ima potencijal premoštenja performansnog nedostatka
19
Sažetak
.NET arhitektura je:više-jezičnaviše-platformskabazirana na upravljanom izvođenju preko CLR-abazirana na bogatoj biblioteci klasa nazvanoj FCLkomponentno-bazirana
20
Sljedeći naslov
Računalni programi i programski jeziciPregled .NET platforme
Visual Studio razvojna okolina (demo)
22
Za više informacija…
Odgovaram na mail-ove (uglavnom uvijek :-)[email protected] (FESB-SSR)[email protected] (OSS)
E-learning portal:www.fesb.hr (FESB)http://sit.oss.unist.hr (SSCSS)
Literatura:T.Žuljević, “Uvod u programiranje sa Microsoft VB .NET"
Recommended