BluePink BluePink
XHost
Oferim servicii de instalare, configurare si monitorizare servere linux (router, firewall, dns, web, email, baze de date, aplicatii, server de backup, domain controller, share de retea) de la 50 eur / instalare. Pentru detalii accesati site-ul BluePink.
 
   
Bunea Fabiana Maria
   
anul IV, Calculatoare, gr. 3.2
   
Berariu Calin Ionut
   
anul IV, Calculatoare, gr. 3.1
   Ce presupune .NET?   
   
    Ce este .NET?    
     Privire de ansamblu asupra tehnologiei
        Ce este Microsoft .NET?    
        Ce este .NET Framework?    
        Common Language Runtime    
        Biblioteca de clase    
        Adoptarea lui .NET    
        Dezvoltarea rapida    
        Operatii imbunatatite    
        Ce nu este .NET?    
        ".NET este un mediu de lucru"    
        Ce este Visual Studio .NET?    
        Limbaje suportate de .NET    
        Diferenta dintre VB si VB.NET    
        C# sau VB.NET? Pe care sa-l alegi?    
        Este independent de platforma?    
        Merita sa inveti .NET?    
        Cat timp va va lua sa invatati .NET?    
        Viitorul .NET-ului    
     Bibliografie    
     
Ce presupune .NET?
     

     Raspunsul simplu este: “.NET este o tehnologie de la Microsoft de care vor depinde in viitor toate celelalte tehnologii de la Microsoft”.
     .NET este o schimbare majora in tehnologie. La fel cum lumea computerelor a trecut de la DOS la Windows, acum ea se misca spre .NET. Dar sa nu fiti surprinsi daca gasiti pe cineva care sa spuna “Mie nu-mi place .NET si raman cu bunul si vechiul COM si cu C++”. Mai sunt inca multe persoane carora le place sa foloseasca carul cu boi in locul ultimului model de masina Honda.
     Tehnologia .NET a fost introdusa de Microsoft pentru a concura piata Java a firmei Sun. Acum cativa ani Microsoft avea doar VC++ si VB pentru a concura cu Java, dar aceasta ocupa piata foarte rapid. Deoarece lumea depindea din ce in ce mai mult de Internet/Web si uneltele Java deveneau cea mai buna alegere pentru aplicatiile Web, Microsoft parea ca pierde batalia. Mii de programatori s-au mutat de la VC++ si VB la Java. Acest lucru era alarmant pentru Microsoft, si multi fani Microsoft intrebau “Doarme Microsoft?”. Si Microsoft a avut raspunsul. Intr-o dimineata, ei au anuntat: “Noi nu dormim. Avem raspunsul pentru dumneavoastra.”. Si acest raspuns era .NET.
     Dar Microsoft are o istorie minunata in a incepe tarziu si a recupera repede. Acest lucru este adevarat si in cazul lui .NET. Microsoft si-a pus cei mai buni oameni sa lucreze la un proiect secret numit Next generation Windows Services (NGWS) , sub supravegherea directa a lui Bill Gates. Rezultatul acestui proiect este ceea ce noi cunoastem sub numele de .NET. Chiar daca .NET a imprumutat multe din ideile sale de la J2EE a firmei Sun, el si-a depasit in mod clar competitorii.
     VC++ al companiei Microsoft era un tool puternic, dar prea complex. Erau prea multe tipuri de date, iar dezvoltatorii trebuiau sa invete multe biblioteci, inclusiv Windows SDK, MFC, ATL, COM etc. Erau multe probleme de compatibilitate a tipurilor in timpul schimburilor de date intre diferite straturi. Visual Basic era prea usor, si multi programatori seriosi il urau tocmai din acest motiv. Chiar si cand Visual Basic era foarte usor de folosit, el nu era foarte flexibil pentru a dezvolta aplicatii serioase. Din aceste motive, Java a firmei Sun a devenit o alegere foarte buna. Avea flexibilitatea si puterea lui C++, dar in acelasi timp era suficient de usoara pentru a atrage atentia programatorilor de VB.
     Microsoft a recunoscut acesti factori, astfel incat a introdus .NET tinand cont de ei. Toata complexitatea nedorita a fost eliminata si a fost introdus un model de programare orientata pe obiecte pur. Acesta face viata programatorilor foarte usoara.
     .NET Framework are o biblioteca cu o singura clasa. Si asta este tot ceea ce programatorii trebuie sa invete. Indiferent daca ei scriu codul in C# sau VB.NET sau J#, nu conteaza. Se foloseste doar clasa bibliotecii .NET. Nu exista clasa specifica unui anumit limbaj. De asemenea, nu exista lucruri pe care sa le putem face intr-un alt limbaj, dar pe care sa nu le putem face intr-un limbaj .NET. Putem scrie cod in C# sau VB.NET cu acelasi numar de linii de cod, aceleasi performante si aceeasi eficienta deoarece oricine utilizeaza aceeasi clasa a bibliotecii .NET.

     
Ce este .NET?
     
  • Este un framework independent de platforma.
  • Este un strat intre sistemul de operare si limbajul de programare.
  • Suporta multe limbaje de programare, inclusiv VB.NET, C# etc.
  • .NET ofera un set comun de biblioteci de clase, set care poate fi accesat din orice limbaj de programare .NET. Nu vor fi seturi de clase si biblioteci separate pentru fiecare limbaj. Daca cunoasteti orice limbaj .NET, atunci puteti scrie cod in .NET.
  • In versiunile viitoare de Windows, .NET va fi distribuit gratuit ca o parte a sistemului de operare, iar utilizatorii nu vor trebui sa-si instaleze .NET separat.
     

Privire de ansamblu asupra tehnologiei

     
     Ce este Microsoft .NET?

     Microsoft .NET este un software care conecteaza informatie, oameni, sisteme si dispozitive. “Cuprinde” clienti, servere si tool-uri de dezvoltare, si consta din:

  1. .NET Framework 1.1 , folosit la construirea si rularea diferitelor tipuri de software, incluzand aplicatii Web-based, aplicatii client inteligente si servicii Web XML – componente care faciliteaza integrarea prin folosirea in comun a datelor si a functionalitatilor in retea prin protocoale standard, independente de platforma, cum ar fi XML (Extensible Markup Language), SOAP si HTTP.
  2. Tool-uri de dezvoltare , cum ar fi Microsoft Visual Studio .NET 2003, care asigura un mediu de dezvoltare integrat (IDE) pentru a maximiza productivitatea dezvoltatorului cu .NET Framework.
  3. Un set de servere , inclusiv Microsoft Windows Server 2003, Microsoft SQL Server si Microsoft BizTalk Server, care integreaza, ruleaza, opereaza si controleaza aplicatii Web-based.
  4. Software de client , cum ar fi Windows XP, Windows CE si Microsoft Office XP, care ajuta dezvoltatorii sa ofere experienta semnificativa utilizatorilor despre familia de dispozitive si produse existente.
     
 
 
 
     Ce este .NET Framework?

     .NET Framework este integral o componenta Windows pentru construirea si rularea urmatoarei generatii de aplicatii software si servicii Web. .NET Framework:

  • suporta peste 20 de limbaje de programare diferite
  • administreaza multe din instalatiile implicate in dezvoltarea de software
  • usureaza mai mult ca oricand construirea, amplasarea si administrarea de aplicatii sigure, robuste si cu performante ridicate. .NET Framework este compus din common language runtime si un set unificat de biblioteci de clase.
     
     Common Language Runtime
     Common Language Runtime (CLR) este responsabil pentru servicii run-time cum sunt integrarea de limbaje, intarirea securitatii si managementul memoriei, proceselor si firelor de executie. In plus, CLR are un rol in timpul de dezvoltare cand trasaturi cum ar fi managementul ciclului de viata, numirea tipurilor, tratarea exceptiilor intre limbaje si legarea dinamica reduc cantitatea de cod pe care dezvoltatorul trebuie sa o scrie pentru a transforma “business logic” intr-o componenta reutilizabila.
     
     Biblioteca de clase

     Clasele de baza ofera functionalitati standard, cum ar fi intrare/iesire, manipularea stringurilor, managementul securitatii, comunicatie in retea, managementul firelor de executie, managementul de text si diferite trasaturi legate de design-ul interfetei utilizatorului.
     Clasele ADO.NET ofera dezvoltatorilor posibilitatea sa interactioneze cu date in format XML, accesate prin interfete OLE DB, ODBC, Oracle si SQL Server. Clasele XML ofera posibilitatea manipularii, cautarii si translatarilor XML. Clasele ASP.NET suporta dezvoltarea aplicatiilor Web si a serviciilor Web. Clasele Windows Forms suporta dezvoltarea de aplicatii de tip desktop-based smart client.
     Impreuna, bibliotecile de clase ofera o interfata comuna si consistenta de dezvoltare pentru toate limbajele suportate de .NET Framework.

     

     Adoptarea lui .NET

     .NET Framework "este in viata" din momentul in care versiunea 1.0 a fost lansata, in ianuarie 2002. Ea a trecut prin mai multe puncte de cotitura in adoptare:

•  compilatoare pentru peste 20 de limbaje de programare sunt disponibile pentru utilizarea in cadrul .NET Framework

•  peste 350 de alte tool-uri sunt disponibile din partea altor distribuitori pentru a ajuta la dezvoltarea .NET Framework, incluzand aproximativ 250 de "adaugiri" pentru Visual Studio .NET, precum si IDE-uri de la Borland si Macromedia

•  peste 350 de carti au fost sau vor fi in curand publicate. Ele discuta despre dezvoltarea software-ului folosind .NET Framework

•  peste 750 de grupuri de utilizatori .NET Framework exista in intreaga lume

•  milioane de utilizatori viziteaza in fiecare luna site-urile .NET Code Wise Community Web

•  peste 1 milion de dezvoltatori folosesc Visual Studio .NET

•  mii de companii importante, cum ar fi Autodesk, Credit Suisse First Boston, Honeywell, Xerox, fac economii enorme din punct de vedere al costurilor, obtin noi oportunitati de integrare si o imbunatatire a timpului de dezvoltare si de patrundere pe piata a aplicatiilor folosind .NET Framework

•  Microsoft livreaza agresiv aplicatii construite folosind .NET Framework. MSN, Microsoft CRM, Windows XP Media Center Edition si Microsoft.com Smart 404 sunt doar cateva dintre multiplele aplicatii Microsoft construite deja folosind .NET Framework

     
     Dezvoltarea rapida

     Posibilitatea de a folosi unul dintre multiplele limbaje ale .NET Framework ofera dezvoltatorilor posibilitatea de a folosi limbajul de programare care este cel mai indicat pentru un anumit task si sa combine limbajele in cadrul aceleiasi aplicatii. Componente scrise in diferite limbaje pot functiona transparent intre ele, fara a fi necesara munca suplimentara din partea dezvoltatorului. .NET Framework a fost anuntat ca suporta peste 20 de limbaje de programare comerciale si academice.
     Design-ul de "racordare" libera bazat pe componente al .NET Framework minimizeaza cantitatea de cod pe care dezvoltatorii trebuie sa o rescrie si maximizeaza potentialul de reutilizare al codului.

     

     Operatii imbunatatite

     .NET Framework imbunatateste performantele aplicatiilor Web tipice.

•  compania Middleware, fondatorii forumului de dezvoltatori J2EE The ServerSide.com, au condus un test benchmark pentru .NET Framework si J2EE si au gasit ca .NET Framework a depasit semnificativ J2EE in cazul aplicatiilor Web de hosting, serviciilor Web si tranzactiilor distribuite, asa cum este aratat in graficele de mai jos.

•  .NET Framework ofera de asemenea performante deosebite si beneficii de scalabilitate in raport cu tehnologia Active Server Pages (ASP), multumita tehnologiilor de compilare just-in-time (JIT) si de cache-ing.

     Rezultatele de mai jos au fost obtinute cu versiunile 1.0 si 1.1 ale .NET Framework, folosind atat Windows 2000 Advanced Server, cat si Windows Server 2003. Ambele setari au folosit baze de date SQL Server 2000.

     
     
     
     
     Ce nu este .NET?

•  .NET nu este un sistem de operare.

•  .NET nu este un limbaj de programare.

     
     ".NET este un mediu de lucru"

     Sunteti nedumeriti de aceasta definitie? Ea chiar este confuza!
     .NET nu poate fi definit ca un singur lucru. Este o platforma de programare noua, usoara si care poate fi extinsa. Nu este un limbaj de programare, dar suporta cateva limbaje de programare. In mod implicit, .NET “vine” cu cateva limbaje de programare, printre care sunt: C# (C Sharp), VB.NET, J#, dar se descurca si cu C++. .NET este o platfoma comuna pentru toate limbajele suportate. Ofera o biblioteca de clase care poate fi apelata din oricare din aceste limbaje. Deci, dezvoltatorii nu trebuie sa invete multe biblioteci atunci cand trec la un alt limbaj de programare. Doar sintaxa difera pentru fiecare limbaj.
     Cand scrieti cod in orice limbaj si apoi il compilati, el va fi convertit intr-un “limbaj intermediar” (Microsoft Intermediate Language - MSIL). Asadar, executabilul compilat contine nu chiar limbajul executabil al masinii, ci IL. Cand ruleaza o aplicatie .NET, .NET framework din computerul tinta se ocupa de executie. Pentru a rula o aplicatie .NET, computerul tinta trebuie sa aiba instalat .NET Framework. Acesta din urma converteste apelurile la biblioteca de clase .NET in API-urile corespunzatoare sistemului de operare.
     Indiferent daca scrieti cod in C# sau VB.NET, de fapt apelati metode din aceeasi biblioteca de clase. Acelasi .NET Framework executa aplicatii C# si VB.NET. Deci nu vor exista diferente de performanta datorate limbajului in care scrieti codul.

     
     Ce este Visual Studio .NET?

     Multi oameni devin confuzi cand vine vorba de Visual Studio .NET (VS.NET) si tehnologia .NET. VS.NET este doar un editor oferit de Microsoft pentru a ajuta dezvoltatorii sa scrie usor programe .NET. Editorul VS.NET genereaza automat mult cod, permite dezvoltatorilor folosirea tehnicii "drag and drop" pentru realizarea de controale pe formulare, ofera scurtaturi pentru compilare si creare de aplicatii etc.
     VS.NET nu este un lucru obligatoriu pentru a programa in .NET. Se poate folosi chiar si Notepad sau orice alt editor simplu pentru a scrie cod .NET!! Iar programele .NET se pot compila din linia de comanda.
     Ceea ce am precizat este adevarat din punct de vedere teoretic...dar daca veti decide sa folositi Notepad pentru programarea in .NET, in momentul in care veti fi dezvoltat cateva aplicatii Microsoft va introduce alte tehnologii noi si .NET va fi depasit. Nu veti dori sa se intample asa ceva. Asa ca sa folosim VS.NET!

     

     Limbaje suportate de .NET

     In momentul de fata, .NET suporta urmatoarele limbaje:

•  C#

•  VB.NET

•  C++

•  J#

     Limbajele anterioare sunt de la Microsoft. Multe alte companii scriu compilatoare pentru alte limbaje folosind suport .NET.

     
     Diferenta dintre VB si VB.NET

     Nu exista prea multe lucruri comune intre VB si VB.NET, in afara de nume. VB.NET este un limbaj de programare total nou. El a pastrat doar sintaxa vechiului VB. Deci, daca esti un programator VB, probabil iti va placea VB.NET mai mult ca C# doar datorita sintaxei.
     In plus, VB.NET inca suporta multe dintre functiile vechiului VB doar pentru compatibilitate. Dar daca esti un programator .NET serios iti sugeram sa nu folosesti niciodata vechile functii VB in VB.NET. Deci trecerea de la VB la VB.NET este ca si cum ai invata un nou limbaj de programare, cu putine similitudini intre ele.

     
     C# sau VB.NET? Pe care sa-l alegi?

     Asa cum am precizat mai devreme, nu este o diferenta prea mare intre ele. Daca scrii cod in VB.NET sau C#, atunci cand il compilezi codul tau va fi convertit la MSIL (Microsoft Intermediate Language). Acest MSIL este cel pe care il vei da clientului in format DLL sau EXE. MSIL-ul este executat de acelasi .NET Framework, fie ca a fost scris original in C# sau VB.NET.
     MSIL-ul generat de C# si VB.NET este in proportie de 99% acelasi. Multi cred ca C# are puterea lui C++ si VB.NET este user friendly, ca si VB. Acest lucru nu este adevarat. Ambele sunt la fel de puternice si prietenoase.
     VB.NET are compatibilitate cu vechiul Visual Basic. Deci suporta functiile vechiului VB. C# este un limbaj nou si curat. Ca urmare, va sugeram sa folositi C# in locul lui VB.NET datorita acestui compilator curat.
     Multor persoane care au folosit vechiul VB le place sa foloseasca VB.NET si sunt un pic speriate de C#. Suntem siguri ca nu-ti va lua mai mult de cateva zile sa te familiarizezi cu sintaxa C#.

     
     Este independent de platforma?

     Multe persoane pun intrebarea "Java este independent de platforma. Cum e cu .NET?".
     Raspunsul este si da, si nu.
     Codul pe care il scrii este independent de platforma deoarece, indiferent de ce scrii, el este compilat intr-ul MSIL. Nu exista cod nativ care sa depinda de sistemul de operare sau de CPU. Dar cand se executa MSIL-ul, .NET Framework din sistemul tinta va converti MSIL-ul in cod nativ platformei.
     Deci, daca rulezi un executabil .NET intr-o masina Windows, .NET Framework-ul pentru Windows il va converti intr-un cod nativ Windows-ului si-l va executa. Daca rulezi aplicatia .NET in UNIX sau Linux, .NET framework-ul pentru UNIX/Linux va converti codul tau in cod nativ UNIX/Linux si-l va executa. Ca urmare, codul tau este pur independent de platforma si va rula oriunde!
     Dar stati un pic! Am spus ceva gresit... Nu exista .NET Framework pentru UNIX sau Linux disponibil acum. Microsoft a scris .NET Framework-ul doar pentru Windows. Daca dumneavoastra sau altcineva scrieti un .NET Framework pentru alte platforme in viitor, codul dumneavoastra va rula si acolo, de asemenea. Deci, sa asteptam pana cand cineva va scrie .NET Framework pentru Linux inainte sa rulati codul dumneavoastra .NET sub Linux.

     

     Merita sa inveti .NET?

     Sunteti siguri ca aveti o slujba foarte buna acum si ca ea este sigura pentru urmatorii 10 ani? Atunci probabil ca nu merita sa va pierdeti timpul invatand aceasta tehnologie noua.
     Daca nu sunteti siguri de viitorul locului dumneavoastra de munca, mai bine petreceti ceva timp pentru a o invata.

     
     Cat timp va va lua sa invatati .NET?

     Depinde de cat de repede invatati. Daca sunteti familiarizati cu Visual Basic sau cu C++, puteti invata temeinic .NET in 1 – 2 luni. Daca sunteti novice intr-ale programarii, atunci estimarea noastra este ca 6 luni reprezinta o perioada rezonabila pentru a va familiariza cu lumea .NET.

     

     Viitorul .NET-ului

     Microsoft urmareste ca in viitor toate tehnologiile sale sa se bazeze pe .NET sau sa fie “inrudite” cu .NET. Versiunea urmatoare a Server-ului SQL suporta chiar si scrierea de stored procedures in limbajele .NET. .NET runtime va fi o parte componenta a tuturor sistemelor de operare.
     Pe scurt, daca doriti sa lucrati cu tehnologiile de programare ale Microsoft-ului, .NET este singura optiune pe care o aveti.

     
Bibliografie
     1. Richard Grimes, Dezvoltarea aplicatiilor cu Visual Studio .NET, Editura Teora, 2002
     2. Julian Templeman, Andy Olsen, Visual C++ .NET, Editura Teora, 2003
     3. www.microsoft.com/NetBasics.aspx