Presentation laddar. Vänta.

Presentation laddar. Vänta.

Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors.

Liknande presentationer


En presentation över ämnet: "Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors."— Presentationens avskrift:

1 Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors

2 Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna  Kommentarer förra kvarttalet  Mer Visual Basic  Jättebra att kunna ställa frågor innan seminariet  Vegetariska alternativ borde finnas

3 Vad har vi pratat om tidigare?  En hel del saker...  Windows Server 2003  Säkerhet i.NET Framework  XML Web Services  J2EE och.NET  Java vs C#  Smarta klienter .NET Compact Framework  Office 2003

4 Vad kommer vi prata om...  Idag  VB 6.0 till VB.NET  Nästa gång – februari/mars  Säkerhet, säkerhet, säkerhet  Och gången därpå – innan sommaren  Det vet jag inte än...  Jag jobbar på Longhorn, Whidbey, Yukon  Eller C++???

5 Lokala resurser för utvecklare  MSDN Flash  Regelbundet nyhetsbrev  MSDN Live  Regelbundna seminarier  MSDN Chatt  Ge feedback, ställ frågor  MSDN Webb 

6 MSDN TV  Presentationer och demonstrationer  Runt 30 minuter långa  1-2 demonstrationer  Se på nätet eller ladda ner!  17 sessioner just nu  C#  Visual Basic.NET  Säkerhet  DirectX

7 MSDN Prenumerationer  Prioriterad tillgång till mjukvara  Automatisk månadsvis uppdatering  Library  Operating Systems  Professional  Enterprise  Universal

8 Globala resurser för utvecklare  ”Developer Centers”  Säkerhet  Longhorn  Utbildning  MSDN TV  ”WebCasts”  Artiklar  Kod

9 PAG  Prescriptive Architecture Guidance  Relevanta tips  Konkreta förslag  Omfattande lösningar  Tekniskt bevisade  Fritt att ladda hem!

10 Empowerment – speciellt för ISV  Vad får jag?  Upp till fem licenser av  Windows XP/2000 Professional  Office XP/2000 Premium eller Developer  En serverlicens och fem CAL  Windows 2000/2003 Standard eller Enterprise  Exchange 2003 Standard eller Enterprise  SQL Server Standard eller Enterprise  SharePoint Portal Server  Fem stycken MSDN Universal-prenumerationer

11  Jag åtar mig att utveckla en produkt för  Windows Server 2003, XP eller 2000  SQL Server 2000  Pocket PC eller Smartphone  Vad kostar det?  375 USD  Kontakta: Empowerment – speciellt för ISV

12 Vilka är vi som är här idag?

13 Agenda  Visual Studio.NET  Utvecklingsmiljön  Uppgradera till Visual Basic.NET  Att uppgradera  Verktyg  Windowsformulär och komponenter  ADO/XML  Webblösningar  Win32 API  Utrullning och installation

14 Nyheter i utvecklingsmiljön  Alla projekt och lösningar i samma miljö  Webbutveckling/Webbservices  Windows applikationer  Mobila lösningar  Windows services  Office 2003  Gemensamma verktyg för alla språk/lösningar

15 Nyheter i utvecklingsmiljön  ”Rapid Application Development” (RAD)  Icke grafiska kontroller placeras separerat från UI  Arv med grafiska gränssnitt syns direkt  Ny meny editering  Handtag, dockning, låsa egenskaper  Ändra storlek på många kontroller  Plus mycket, mycket mer… 01

16 Kontrollskott!  Var ändrade Per typsnitt för texteditorn?  Vad står PAG för?  Vad är adressen till svenska msdn-webben?

17 Tips och Tricks!  Ta bort Microsoft.VisualBasic namnrymden!  Project | Common Properties | Imports  Koden som genereras av verktyget är bra kod!  Använd som exempelkod  Hjälptexten är gigantisk!  Lär dig att hitta och kopiera från exempel!  Lär dig hitta på nätet!   msdn.microsoft.com     

18 Agenda  Visual Studio.NET  Utvecklingsmiljön  Uppgradera till Visual Basic.NET  Att uppgradera  Verktyg  Windowsformulär och komponenter  ADO/XML  Webblösningar  Win32 API  Utrullning och installation

19 Visual Basic.NET  Inte bara Visual Basic  Byggt för.NET Framework  Common Language Runtime (mscoree.dll)  Alla basklassbibliotek (mscorlib.dll + andra)  Moderniserad och uppstädad syntax  Helt och hållet objektorienterat språk

20 CLR: Nyckelfunktioner  Stöd för flera programspråk  Delade typer (Common Type System)  Ersätter delar av COM:s exekveringslager  Automatisk städning av objekt  ”Garbage Collection”  Stöd för multitrådning  Inbyggd säkerhet, ned på kod nivå  Kodbaserad, bevisbaserad

21 Visual Basic.NET  Förbättrat arv av interface  Överskrivning (override) och överlagring (overload)  Konstruktorer med parametrar  Strukturerad felhantering - SEH  (Try…Catch…Finally…End Try)  Genvägar Dim cnSql As New SqlConnection(strConn) Private i,x,y As Int32 i+=1, strName &=“Bob” For Each s As String In X Dim cnSql As New SqlConnection(strConn) Private i,x,y As Int32 i+=1, strName &=“Bob” For Each s As String In X 02

22  MessageBox.Show(“Hello World”)  ByRef eller ByVal krävs  Eventhanterare  Använder nyckelordet ”Handles”  Gemensam signatur  Arrays börjar nu alltid på 0  Varianter finns ej längre, ”object” istället   Property…End Property Handles Button1.Click, Button2.Click Visual Basic.NET – Viktiga nyheter (sender As Object, e As xxxEventArgs) 03

23 Visual Basic.NET - Upprensning  Borttaget  Def...  Imp, Eqv  Funkar faktiskt men…  GoTo [Line no.]  Ta bort  GoSub…Return  LSet, VarPtr, ObjPtr, StrPtr

24 Visual Basic.NET - Datatyper  Heltal:  Flyttal  Currency ersatt av Decimal Heltal Visual Basic 6.0Visual Basic.NET 8-bitByte 16-bitIntegerShort eller Int16 32-bitLongInteger eller Int32 64-bitLong eller Int64

25 Visual Basic.NET – Till sist...  Det är fortfarande Visual Basic  Körs endast med.NET Framework  RAD för både Windows och Webb  < 100% bakåt kompabilitet  VBA  Inte ett.NET språk  Kommer leva kvar! 04

26 Uppgradering  Alternativ  Delvis uppgradering (använd COM interop)  Utvärdera fördelar  Ger det mer värde?  Ökad prestanda?  Ökad skalbarhet?  Utvärdera kostnader  Kan jag använda uppgraderingshjälpen?  Storlek och komplexitet?  Befintlig kvalitet på kod?   Drar fördel av.NET Framework?   Nytt språk och ny arkitektur?   Applikationens livslängd?

27 TeknikRekommendation Visual Basic 6.0 grafiska modell Låt vara eller skriv om med GDI+ DAO och RDO data bindningUppgradera till ADO or ADO.NET Dynamic Data Exchange (DDE)Låt vara eller använd alternativa kommunikations sätt OLE Container ControlLåt vara Visual Basic 5.0 kontrollerUppgradera till Visual Basic 6.0 eller Visual Basic.NET DHTML ApplikationerLåt vara; kan fungera i.NET Microsoft ® ActiveX ® ________Låt vara eller använd COM interop Property pagesLåt vara UserControlsLåt vara; kan fungera i.NET WebClassesLåt vara; kan fungera i.NET Uppgradering - Tekniker

28 Uppgradering - förberedelser  Bryt upp applikationer i mindre projekt  Slå fast förhållandet mellan applikationerna  Kör ”Upgrade Wizard”  Beräkna tidsåtgången för varje del  Förbereda, uppgradera, fixa  Designa om och testa

29  Kör sida vid sida  VB6 & Visual Studio på samma maskin  Installera i vilken ordning som helst  Använd ”Upgrade Wizard”  ActiveX kontroller ändras ej  Kör Visual Basic 6.0 under uppgradering  Ändrar ej originalet Uppgradering

30 Verktyg - ”Upgrade Wizard”  Fel som inte hanteras  Dim x As New y  Vissa typ-konverteringar  Egenskaper skickade med ByRef  Dim x() ReDim x(5,5)  Vissa funktioner på ActiveX kontroller 05

31 Verktyg - ”Code Snippet”  Vad är det?  Ett inbyggt verktyg i Visual Studio.NET  Alternativ till projekt konvertering  Gjort för kod snuttar  Fungerar bra med ASP till ASP.NET också! 06

32 Verktyg – ”Code Advisor for VB6”  Vad är det?  Add-in till Visual Basic 6  Ger förslag direkt i VB6 koden  Vad som inte kommer att fungera  Vad som bör göras  ”Best practices” 07

33 Användargränssnittet  Windows Forms på det nya sättet  Windows Forms med.NET klasser  Bättre grafik med GDI+  Genomgånde förändringar:  Gemensam utvecklingsmiljö  Kontroller och händelser  Globalisering / lokalisering Dim frm As New Form1 frm.Show() ‘eller frm.ShowDialog() Dim frm As New Form1 frm.Show() ‘eller frm.ShowDialog() 08

34 Användargränssnittet  Vissa nya eller mycket förbättrade kontroller  LinkLabel, NotifyIcon  MainMenu, ContextMenu  Hjälpkontroller  ToolTip  ErrorProvider  HelpProvider  ToolBar  Splitter

35 Användargränssnittet  Borttagna eller ersatta kontroller  Spinner  Line and Shape  DirListBox, FileListBox, DriveListBox  CommonDialog  Image  Frame 09

36 Användargränssnittet  Ändringar för mushändelser  Nya mushändelser:  MouseEnter, MouseHover, MouseLeave  MouseWheel  MouseEventArgs objektet:  Button  X, Y  Clicks  Delta  Grafiska kontroller ger också åtkomst till mushändelser

37 Användargränssnittet  Arbeta med Drag-and-Drop  Mellan kontroller - samma som mellan applikationer  Ungefär samma koncept som i Visual Basic 6.0  Inget support för automatisk drag-and-drop  AllowDrop = True  Alla händelser utom DragLeave får DragEventArgs:  AllowedEffect  Data  Effect  KeyState och X,Y 10

38 Komponenter  Ofta relativt enkla att uppgradera  Rena klasser utan användargränssnitt  Redan delvis objektorienterade  Fundera på ny arkitektur  WebServices alternativt.NET Remoting  Använda Dataset, XML  Fungerar även mot VB6  COM interop 11

39 Kontrollskott!  Try... Catch... ???... End Try  Går det att skapa en event-hanterare i runtime?  Nämn tre verktyg för uppgradering av kod!

40 Tips och Tricks!  Förbered VB 6 kod för uppgradering:  Använd inte:  Default-egenskaper  ”Late Binding”  Varianter  Använd ”Code Advisor”!  Använder du ActiveX kontroller?  Kontrollera med leverantör om.NET versioner finns tillgänliga!

41 Agenda  Visual Studio.NET  Utvecklingsmiljön  Uppgradera till Visual Basic.NET  Att uppgradera  Verktyg  Windowsformulär och komponenter  ADO/XML  Webblösningar  Win32 API  Utrullning och installation

42 ADO till ADO.NET  Vad är ADO?  ActiveX Data Objects  COM baserat  Många olika data källor  Både kopplad och frånkopplat  Begränsat stöd för XML  Fungerar fortfarande i Visual Basic.NET!  Färdiga ”COM” wrappers för ADO

43 ADO.NET DataAdapter Command DataReader Connection DataSet Windows formulär Webb formulär Övriga Data Providers ADO.NETKonsumenter

44 ADO.NET Scenarios  Kopplat  Connection, command, data reader  Mellan lager  Data adapter  Urkopplat  DataSet, DataTable, DataView, and others

45 ADO till ADO.NET  Connection objektet  Väldigt likt ADO Connection objekt  Command  Väldigt likt ADO Command objekt  Data reader  Framåt, endast-läsing recordset  Data adapter  Ingen motsvarighet i ADO  DataSet  Representation i minnet av en databas 12

46 MSXML till.NET XML  Microsoft XML Core Services  MSXML 4.0 Service Pack 2  COM Objekt  I princip samma DOM objekt modell  Fast lite annorlunda klassnamn  System.XML namnrymden  MSXML ServerXMLHTTP/XMLHTTP  http post/get för ”hand”  Använd HttpWebRequest, HttpWebResponse  Använd Webservice i stället 13

47 Utmaningar med klassisk ASP  Läsbarhet av kod, mycket kod!  Komplex “PostBack”-hantering  Återanvändning  Prestanda  Låsning av DLL’er  Utrullning  Sessioner  Cachning

48 Nyheter i ASP.NET  Ny arkitektur .NET Framework  Web Forms, serverkontroller, Web Services  Tillförlitlighet  Konfigurering  Tillståndshantering  Säkerhet  Cachning

49 ASP.NET HTTP Runtime ASPX motor Instans ”Page” ASP.NET sida Begäran 1 3 Svar 6 7 Moduler Klass ”Page” Sidhanterare ”Page Handlers” 8 2 Arkitekturen i ASP.NET

50 WebForms  Filändelsen är.ASPX  Nytt ”Page” direktiv  WebForm är en objektmodell  Händelsestyrt  Exekveras både på klient och server

51 ”Server Controls”  HTML kontroller  Mappar väl mot vanliga HTML-element  Webb kontroller  Rikare funktionalitet  Objektmodell  Valideringskontroller  Mobila kontroller

52 ”Web User Controls”  Egenskapade webbobjekt  Fungerar som en del av en webbsida  Ersätter ”server-side include”  ”Partial Caching”  Dela kontrollen med flera sidor  Skapas som en ”WebForm”

53 Uppgradera ASP till ASP.NET  Konvertera gränssnittet först  Använd ”Code-behind” klasser  Flytta eventuell logik till klasser  Här finns mest att tjäna  Har ofta VB6 komponenter  Konvertera dessa separat  Vissa utgår pga. bättre objektmodell i ASP.NET  Vissa kommer att läggas direkt i ASP.NET projektet 14

54 COM. NET COM.NET “COM Interop” .NET till COM  COM till.NET

55 Använd COM komponenter i.NET  Skapa en assembly som innehåller typ definitioner enligt COM för komponenterna  Lägg till en referens i Visual Studio.NET  Eller använd TLBIMP  Definiera typerna manuellt!  Använd som hanterade komponenter  Skapa en instans med “new”  Fånga fel  Arv och utveckling

56 Använd.NET komponenter i COM  Skapa “COM type library”  Med hjälp av TLBEXP  Eller med hjälp av Visual Studio.NET  Installera och registrera assemblyn  RegAsm  GACUtil  Sätt en referens till TLB om det behövs 15

57  Vad är Win32 API?  DLL är en del av Windows OS  Inget inbyggt typbibliotek  Inte COM objekt  Fördelar  Sparar tid hos utvecklare  Gör saker som inte går med Visual Basic 6  Nackdelar  Svåra att använda  Kan vara komplexa att förstå Win32 API uppgradering

58  Stöd för Win32 API i.NET  Dom flesta anrop fungerar fortfarande  Många migreras utan problem  Försök att undvika dem ändå! .NET Framework klasser inkapslar Win32 API funktioner  Exempel  System.Diagnostics  System.Drawing  System.Environment  …

59  Tänk på  Wizarden konverterar numeriska datatyper  Strängar med fast längd stöds ej  UDT’s med med fast längd på strängar eller byte arrayer  Lägg till ”MarshallAs” attributet  Deklarationer med ”As Any” stöds ej  Callbacks funktioner måste fixas efter uppgradering  Använd ”delegates” med ”AddressOf” Win32 API uppgradering 16

60 Installation – icke.NET  Tänk på  Effekter på systemet  Kommer installation av applikation 1 bryta applikation 2?  ”Första-gångs-installation”  Applikationen måste installeras på varje klient  Uppdatering av en applikation  Måste installeras om på varje klient

61  Nya alternativ  ”No-touch” installation  Isolerade applikationer är standard  Ingen registrering behövs  Stark versionshantering för delade komponenter  Installation är enkelt  XCOPY till klienten  Kör från en delad katalog  Klicka på en länk i en browser Installation

62  URL-refererad program  Ingen installation, automatisk updatering  Klicka på en länk i en browser  Lagras i ”download cache”  Hämtas endast när uppdateringar finns  Refererade ”assemblies” hämtas automatiskt Installation – ”No Touch”

63  Liten lokal assembly – ”laddare”  Ladda assemblies från en Webbserver  Applikation hämtas automatiskt  Uppdatera endast ”assemblies” på servern  Använd Assembly.LoadFrom(url)  Tar en URL som parameter  Laddar automatiskt ned ”assemblies”  Kontrollerar automatiskt efter nya versioner Installation – ”No Touch”

64  Lagras i ”download cache”  Inte i ”global assembly cache” (GAC)  Ovanpå WinInet (IE) cache  Per användare .NET Framework krävs på klienten  Använd ”Updater Application Block”  För att automatiskt uppdatera en applikation  Färdiga klasser med funktionalitet  Stödjer våra riktlinjer - PAG 17

65 Kontrollskott!  Vad heter klassen som representerar en databas i primärminnet?  Filändelsen för ett webb forumlär i ASP.NET?  Var lagras ”assemblies” som installeras över webben?

66 Tips och Tricks!  Har du bråttom: Låt ADO vara kvar...  COM Interop fungerar bra!  Skriv.NET ”wrappers” för att spara tid!  Då behöver du inte skriva om dina klientapplikationer senare!  Förbered dina applikationer för en distribuerad miljö!  Skikta dem med XML eller WebServices!

67 Länkar till mer information  MSDN TV på svenska   Visual Basics hemsida  msdn.microsoft.com/vbasic  GotDotNet  

68


Ladda ner ppt "Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors."

Liknande presentationer


Google-annonser