Professional Documents
Culture Documents
programiranje 2
Platforma . NET
Literatura
17.04.2012.
Uvod
Jezik C# je definisan u Microsoftu, ali je standardizovan (ECMA-334)
Internacionalni standard: ISO/IEC 23270:2006
Multijezika .NET platforma
C# se prevodi u meukod
meukod se ne interpretira,
ve se JIT prevodiocem prevodi u toku izvrenja
Platforma .NET
17.04.2012.
Motivacija
Od pojave Jave (1996),
znaajne promene na polju mogunosti i korienja IT:
eksplozija Interneta
raspoloivost visoko-propusnih veza za firme i individualne korisnike
Platforma .NET
17.04.2012.
Istorijat
Anders Hejlsberg, glavni arhitekta za C#
17.04.2012.
Ciljevi
Microsoftova elja da izae na trite:
kreiranje
distribuciju i
izvrenje aplikacija
Platforma .NET
17.04.2012.
Platformska nezavisnost
Java slogan "pii jednom, izvravaj svuda
Nedostatak
Platforma .NET
17.04.2012.
Rotor i Mono
Rotor
realizacija ECMA CLI u vidu deljenog izvornog koda (shared source) - SSCLI
nije zasnovan na izvornom kodu komercijalnog .NET okruenja
sponzor projekta Microsoft
sadri podskup mogunosti radnog okruenja .NET
Iskljueni vani elementi za profesionalnu upotrebu:
pristup bazama podataka (ADO.NET)
alati za kreiranje grafikih korisnikih interfejsa (Windows Forms)
mehanizmi za pisanje serverskih aplikacija (ASP.NET)
Mono
17.04.2012.
Jezika neutralnost
Java je u poetku bio jedini jezik Java platforme (JVM)
kasnije i drugi jezici koji se prevode u bytecode, npr. Jython (Python), Scala,
Platforma .NET
17.04.2012.
10
Platforma .NET
17.04.2012.
11
Platforma .NET
17.04.2012.
CTS i CLS
Zajedniki sistem tipova
12
17.04.2012.
Biblioteka klasa
Tipovi u biblioteci podravaju CTS
i mogu se koristiti iz jezika iji prevodilac potuje CLS
Raspon .NET biblioteka klasa je slian rasponu biblioteke klasa za Javu
Oblasti koje pokrivaju tipovi biblioteke klasa:
13
Platforma .NET
17.04.2012.
C#.NET, Visual Basic.NET, Visual C++.NET, Visual J#.NET, F#.NET, JScript .NET
14
Platforma .NET
17.04.2012.
Integracija platformi
Preduzea se esto opredeljuju izmeu dve platforme: Java i .NET
Ponekad obe platforme figuriu u istom preduzeu
15
Platforma .NET
17.04.2012.
16
Platforma .NET
17.04.2012.
Izvrni sklopovi
Izvrni sklopovi (Assemblies) su jedinice za:
isporuku,
reupotrebu,
verzionisanje i
sigurnost
Sklopovi su vie logike nego fizike strukture (mogu biti u vie fajlova)
Sklopovi sadre:
module,
resurse (kao to su, na primer, ikone, podaci) i
metapodatke (u manifestu) koji ih opisuju
17
Platforma .NET
17.04.2012.
Primer "Zdravo"
Trivijalna klasa sa glavnim programom koji ispisuje Zdravo!
Klasa je napisana u fajlu MojaAplikacija.cs:
class Pozdrav {
static void Main(string[] args){
System.Console.WriteLine("Zdravo!");
}
}
Koristi se ASCII ili UTF-8 editor
Prevoenje:
csc MojaAplikacija.cs
Kreira se MojaAplikacija.exe (sklop) (a ne Pozdrav.exe)
Opta sintaksa:
csc [<opcije>] <lista fajlova>
Prilikom izvrenja aplikacije ne poziva se eksplicitno CLR
18
Platforma .NET
17.04.2012.
Vrste sklopova
Mogu se napraviti sledee vrste sklopova:
19
Platforma .NET
17.04.2012.
Manifest
Manifest sadri metapodatke koji opisuju sklop i tipove koje sklop sadri
Sklop identifikuju sledei podaci:
20
Platforma .NET
17.04.2012.
Moduli
Moduli su predvieni kao podrka za razvojni proces
Karakteristike:
21
Platforma .NET
17.04.2012.
22
Platforma .NET
17.04.2012.
23
Platforma .NET
17.04.2012.
24
Platforma .NET
17.04.2012.
25
Platforma .NET
17.04.2012.
26
/out:aplikacija.exe
/target:exe
/main:Pozdrav.Main
/title:MojSklop
/description:Primer sklopa u vie fajlova
Pozdrav.netmodule StampacStringova.netmodule
Platforma .NET
17.04.2012.