22
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. ing. [email protected] [email protected]

NET_platforma

Embed Size (px)

Citation preview

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

15

VB.NET/C# ->> IL ->> 100101010

vbc.execsc.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)

21

Pitanja?

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"