La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

PROGRAMMARE MICROSOFT.NET Prof. Piero GALLO. Il punto di partenza Sai programmare in Visual Basic? O in Pascal? O in C? O in C++? O in altri linguaggi?

Presentazioni simili


Presentazione sul tema: "PROGRAMMARE MICROSOFT.NET Prof. Piero GALLO. Il punto di partenza Sai programmare in Visual Basic? O in Pascal? O in C? O in C++? O in altri linguaggi?"— Transcript della presentazione:

1 PROGRAMMARE MICROSOFT.NET Prof. Piero GALLO

2 Il punto di partenza Sai programmare in Visual Basic? O in Pascal? O in C? O in C++? O in altri linguaggi? Buon per te, ma ora è giunto il momento di mettere da parte le proprie conoscenze per ricominciare ….. quasi da zero!!! L’era di Microsoft.NET è giunta proprio con la prospettiva di cambiare lo sviluppo del software nel modo tradizionale.

3 Facile o difficile? Sicuramente facile, considerato il respiro di sollievo che il programmatore farà dopo aver “toccato con mano” gli innumerevoli vantaggi che questa meravigliosa piattaforma comporta. Questa prima parte contiene solo nozioni tecniche (che potrebbero apparire noiose!!!) ma sono utili per comprendere la …..rivoluzione.NET

4 Cosa e’.NET? E poi, perchè.NET? Domande legittime!!! Per rispondere in modo esauriente a queste domande partiamo dall’analisi di alcuni classici problemi che hanno caratterizzato il mondo dello sviluppo del software.

5 I problemi della programmazione La programmazione somiglia ancora a un mestiere di tipo artigianale piuttosto che a una vera attività industriale. Nonostante i grandi progressi (ambienti di programmazione di tipo RAD – Rapid Application Development, debbuger, generatori di codice, ecc.) la realizzazione di applicazioni robuste rappresenta ancora un’impresa alla portata di professionisti esperti.

6 Windows e le sue incoerenze Windows ha seguito un’evoluzione continua e a volte non molto organica. Esistono diversi modelli di programmazione per la realizzazione di applicazioni che utilizzano la grafica (GDI, DirectX, OpenGL, ecc.). Esistono numerosi modelli di programmazione per l’accesso ai database (DAO, RDO, ADO) anch’essi decisamente incompatibili l’uno con l’altro. Esistono numerose versioni di Windows e numerose varianti delle stesse versioni che non offrono tutte supporto alle medesime caratteristiche: il risultato è che i programmatori spesso rinunciano a specifiche funzionalità di Windows pensando di rendere le applicazioni utilizzabili dal maggior numero di utenti.

7 Il modello COM e i suoi difetti (1) Il Component Object Model (COM) è una tecnologia specifica della famiglia di sistemi operativi Windows che abilita la comunicazione fra i componenti software del sistema. Favorisce lo sviluppo di componenti riusabili, permette di creare applicazioni connettendo fra loro insiemi di componenti. Si tratta di una famiglia di tecnologie che include COM+, DCOM, ActiveX. E’ sufficientemente versatile ma allo stesso complesso per gli sviluppatori che desiderano concentrarsi su problemi di natura diversa piuttosto che sui numerosi dettagli di infrastruttura con i quali gli esperti COM fanno i conti quotidianamente.

8 Il modello COM e i suoi difetti (2) Le applicazioni COM sono afflitte dal problema del controllo di versione (evidentemente i progettisti COM non prevedevano la necessità di installare più versioni sullo stesso sistema!). Infatti ogni nuova versione di una componente COM sovrascrive quella preesistente. Questa sostituzione non dovrebbe comportare conseguenze negative in quanto si suppone che ogni nuova versione comprenda tutte le funzionalità delle precedenti: in pratica, però, ciò non è accaduto! Ultimo difetto è nel deployment (la consegna al cliente, con relativa installazione e messa in funzione, di una applicazione o di un sistema software): occorre installare tutte le componenti necessarie nelle directory di sistema, registrarle nel registro di sistema, configurarle, … E se si fallisce? Si brancola nel buio!!!

9 Ineroperabilità tra linguaggi All’interno della piattaforma Windows è difficile far interagire parti di codice scritte con linguaggi differenti poiché ogni linguaggio possiede le proprie convenzioni. Ad esempio, nel codice Visual Basic è possibile invocare una DLL del C++ ma occorre fare molta attenzione agli interi privi di segno (che in Visual Basic non vengono riconosciuti). A causa di questo problema spesso si opta per la scelta di un unico linguaggio perdendo così i vantaggi che ogni linguaggio presenta. Ad esempio, nonostante il Visual Basic sia particolarmente adatto per applicazioni business, spesso i programmatori preferiscono il C++ per la sua flessibilità e la sua potenza.

10 I problemi delle Active Server Pages Utilizzano solo linguaggi come VBScript e Jscript Il codice ASP è unito a quello dell’interfaccia utente. Ciò rende praticamente impossibile l’aggiornamento delle interfacce utente a persone che non sono sviluppatori esperti. Il debugging di un’applicazione ASP è un vero e proprio incubo poiché occorre essere molto abili e utilizzare molte istruzioni aggiuntive per scovare un errore. E’ virtualmente impossibile riutilizzare il codice ASP su larga scala: l’unico modo è utilizzare i file di include. La maggior parte dei siti web in ASP memorizzano le informazioni sui singoli client connessi all’interno di variabili Session in quanto la programmazione ASP è priva di stato, cioè i valori non vengono conservati tra successive richieste al server.

11 Quelli appena accennati non sono problemi insormontabili, ma occorreva essere programmatori professionisti e molto abili per poterli risolvere. La soluzione? Microsoft ci ha pensato molto e….. ….. nasce Analizziamo un vantaggio alla volta! La soluzione ai problemi secondo.NET

12 La gerarchia di classi del.NET Framework Il.NET Framework, evoluzione di COM, è stato progettato attorno al concetto di ereditarietà ciò che invece non è stato per COM.. Tutti gli oggetti del.NET Framework costituiscono una gerarchia con un’unica radice, la classe System.Object, da cui derivano tutte le altre classi. Queste forniscono funzionalità praticamente in tute le aree possibili e immaginabili (interfaccia utente, accesso ai dati, programmazione per Internet, XML, ecc.). Programmare sotto.NET significa estendere una di queste classi.

13 Tutti i linguaggi.NET sono uguali!!! (1).NET mette a disposizione numerosi linguaggi come i sovrani C# (si pronuncia C sharp) e VB.NET, ma anche Managed C++ e J# (variante di J++, la versione Microsoft di Java). Molti sviluppatori C++ passano automaticamente a C# il quale è considerato il linguaggio migliore per realizzare applicazioni.NET. C# è un linguaggio eccezionale che riassume in se le idee migliori di molti linguaggi esistenti,quali C++ e Java Allora questa piattaforma somiglia a quella di Sun? Per certi versi è così poichè.NET è un Java migliorato ed in grande stile. Di Java ha preso le cose migliori, ma di Java non ha le cose peggiori.

14 Tutti i linguaggi.NET sono uguali!!! (2) Altra novità è che VB.NET e C# sono pressoché equivalenti ed entrambi consentono di sfruttare appieno le potenzialità del.NET Framework. VB.NET presenta alcuni vantaggi rispetto a C#. Ad esempio la gestione degli errori è molto più flessibile; si può utilizzare il vecchio sistema (basata sull’istruzione On Error) sia la nuova gestione strutturata delle eccezioni. Gli sviluppatori C# possono, invece, utilizzare solo la seconda. I due linguaggi hanno il medesimo potenziale e andrebbe scelto l’uno o l’altro a seconda di quale dei due può essere più produttivo. Tutti i linguaggi, quindi, permettono di fare praticamente le stesse identiche cose: cambia la forma, la sostanza è la stessa. Con.NET utilizzare uno o l'altro è essenzialmente e finalmente una scelta dello sviluppatore.

15 L’altra novità: ASP.NET (1) Rappresenta probabilmente la parte più interessante del.NET Framework, o, comunque, il motivo principale per cui tutti gli sviluppatori Internet seri dovrebbero prendere in considerazione il passaggio a questa piattaforma. ASP.NET comprende due tecnologie: le Web Form e i Web Service. Le Web Form vengono utilizzate per applicazioni Internet dotate di interfaccia utente e sostituiscono le applicazioni ASP, nonostante sia possibile utilizzare ASP e ASP.NET sullo stesso computer. I Web Service sono applicazioni Internet prive di interfaccia utente.

16 L’altra novità: ASP.NET (2) ASP.NET mette a disposizione una gomma completa di funzionalità per il debugging. Consente di promuovere realmente la separazione tra interfaccia utente (ossia il codice HTML) e il codice che consente all’applicazione di funzionare (scritto in C#, VB.NET o qualsiasi altro linguaggio.NET). Grazie al concetto di code behind si può suddividere una pagina ASP.NET in due file distinti, uno contenente il codice HTML e i controlli e l’altro il codice sorgente. Gestisce una versione più flessibile dell’oggetto Session: le variabili di questo tipo possono essere mantenute sulla macchina che ospita IIS (come in ASP) o su una macchina diversa appartenente alla stessa rete.

17 I Web Service, l’Internet del futuro Attualmente non esiste un modo standardizzato per interrogare i vari siti Internet sparsi in tutto il mondo in modo da poter estrarre le informazioni in essi memorizzate. Microsoft sta cercando di porre rimedio con l’introduzione dei Web Service, applicazioni che ascoltano le richieste provenienti da un socket TCP e reagisce ai comandi in esse contenuti

18 Ed ora? Abbiamo dato un primo sguardo ai motivi che hanno dato la svolta al mondo dello sviluppo del software e abbiamo visto i vantaggi introdotti con la piattaforma.NET. Nel prossimo tutorial parleremo dell’architettura del.NET Framework e vedremo come è possibile creare con semplicità programmi portabili, sicuri ed efficienti.


Scaricare ppt "PROGRAMMARE MICROSOFT.NET Prof. Piero GALLO. Il punto di partenza Sai programmare in Visual Basic? O in Pascal? O in C? O in C++? O in altri linguaggi?"

Presentazioni simili


Annunci Google