Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo Žuljević, dipl.. ing. teo.zuljevic@fesb.hr
Uvod u računala, Microsoft.NET i VB.NET Trajanje (h) (okvirno) Naslov 2 Računalni programi i programski jezici 1 Pregled.NET platforme 1 Visual Studio.NET IDE 2
Uvod Microsoft.NET is an object-oriented, oriented, multi-language, 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) 3
Upravljano izvoñenje Ideja: Moderna programska podrška se izvodi unutar okoline izvođenja (run-time environment). Zašto? Prenosivije i sigurnije izvođenje. Your Application Run-time Environment Operating System Hardware 4
Utjecaj.NET je rezultat mnogih utjecaja OOP JVM GUI.NET Web komponentno bazirano oblikovanje n-slojno oblikovanje 5
Java Bazirana na okolini izvođenja JVM JVM = Java Virtual Machine JCL = Java Class Library Java Application JCL JVM JVM JVM JVM Windows Mac OS Palm OS x86 PPC ARM 6
.NET Baziran na CLR i FCL CLR = Common Language Runtime FCL = Framework Class Library.NET Application.NET Framework Class Library Common Language Runtime Operating System Hardware 7
.NET CLR = Common Language Runtime FCL = Framework Class Library JIT = Just in Time.NET aplikacija nije samostalna (stand-alone) zahtjeva prisutnost.net Framework-a = CLR + FCL.EXE.DLL.DLL Proces JIT Compiler druge FCL komponebte obj kod CLR (MSCOREE.dll) Core FCL (MSCOR LIB.dll) 8 Underlying OS and HW
Razvoj programske podrške u.net-u Odabrati jezik i platformu... CLR = Common Language Runtime FCL = Framework Class Library CLS = Common Language Specification VB C# C++ J# CLS.NET Application FCL CLR CLR CLR CLR CLR Windows Pocket PC FreeBSD Linux x86 ARM PPC x86 9
.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 10
CLS? 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ćnosti definira pravila za njihovo korištenje CTS = Common Type System CLS = Common Language Specification CTS VB.NET C# CLS 11 Python
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 code.vb code.vb code.vb VB.NET kompajler asembli 12.EXE /.DLL
Komponento bazirane aplikacije.net aplikacije se sastoje od 1 ili više komponenti Primjer: tipičan n-slojni dizajn object object Front-end DB object GUI.exe business.dll data.dll 13
IL? IL je asemblerski jezik.net platforme (CLR-a) IL = Intermediate Language IL==MSIL==CIL; MS=Microsoft; C=Common upravljani kod (managed code) == IL kod CPU ne može direktno izvesti IL kod; IL neovisan o CPU JIT (Just-in in-time) prevodilac (compiler underlying HW pretvara IL u binarni jezik compiler) pretvara '** zbraja 2 cjela broja i vraća rezultat Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer Add = x + y End Function C:\> ildasm app.exe 14
VB.NET/C# ->> IL ->> 100101010 csc.exe vbc.exe 15
Prevoñenje i izvoñenje Izvorni kod Jezični kompajler Kod (IL) Assembly Metapodaci Binarni kod Izvođenje JIT kompajler za vrijeme instalacije ili pri prvom pozivanju procedure 16
Managed execution revisited CLR = Common Language Runtime FCL = Framework Class Library CLR mora moći locirati sve asemblije vlastite i FCL.EXE.DLL.DLL Proces JIT Compiler druge FCL komponente obj kod CLR (MSCOREE.dll) Core FCL (MSCOR LIB.dll) 17
Utjecaj.NET arhitekture Klijent 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). izvodi se na 98, NT (6a), 2000, XP, 2003 Windows 2003 se isporučuje sa v1.1 Prednosti i nedostaci: prenosivost sigurnije izvođenje (upravljanje memorijom, sigurnost, ) sporije izvođenje (10%)? JIT kompajler ima potencijal premoštenja performansnog nedostatka 18
Sažetak.NET arhitektura je: više-jezična više-platformska bazirana na upravljanom izvođenju preko CLR-a bazirana na bogatoj biblioteci klasa nazvanoj FCL komponentno-bazirana 19
Sljedeći naslov Trajanje (h) Naslov 2 Računalni programi i programski jezici 1 Pregled.NET platforme 1 Visual Studio.NET IDE (demo) 20
21 Pitanja?
Za više informacija Odgovaram na mail-ove (uglavnom uvijek :-) jmusic@fesb.hr Web site za slajdove, kod: _ Literatura: T.Žuljević, Uvod u programiranje kroz Microsoft VB.NET" 22