Programmering

Produktanmeldelse: Visual Studio 2008 utvikler seg med få feiltrinn

Microsoft Visual Studio 2008 (VS08) er den nåværende inkarnasjonen av selskapets lange linje med IDEer. Det er den fremste IDE for utvikling av applikasjoner med Microsoft .Net Framework, og i det minste en konkurrent for den beste Windows-hostede C / C ++ IDE. Selvfølgelig er Visual Studio 2008 ikke begrenset til å utvikle stasjonære applikasjoner; det er også bra for utvikling av web-, SOA- og enhetsapplikasjoner. Denne utgivelsen introduserer støtte for .Net Framework 3.5, og den støtter også andre versjoner av. Net Framework. Den introduserer også språkintegrert spørring, en generell måte å spørre om alle slags data i C # og Visual Basic, og full støtte for Windows Vista, Silverlight og Windows Presentation Foundation.

VS08 kommer i en rekke utgaver, fra gratis Express Editions til $ 10.000 gjør-alt Visual Studio Team System 2008 Team Suite. I utgangspunktet er Express-utgavene for nybegynnere, studenter og hobbyutviklere; Standard Edition er for individuelle utviklere; Professional Edition er for avanserte utviklere og de som jobber i små team.

Team System er primært for større lag. Det er Team System-klienter for utviklere, arkitekter, DBAer og testere, samt en kombinert klient for alle roller kalt Team Suite. Serveren for Team System er Team Foundation Server (TFS), som kombinerer en teamportal, versjonskontroll, sporing av arbeidsartikler, byggeledelse, prosessveiledning og forretningsinformasjon.

I denne anmeldelsen vil jeg konsentrere meg om funksjonene i VS08 Professional Edition, og berøre noen av høydepunktene i Team Suite. Jeg vil ikke prøve å diskutere Team Foundation Server som sådan, selv om den har mottatt en rekke forbedringer, for eksempel et nytt teambuild-system og nettilgang, siden vi sist gjennomgikk det (se Tom Yagers forhåndsvisning av Visual Studio 2005 i mai 2004).

Installasjon og testing

Jeg har blogget noe (her og her) om prøvene mine og problemene med å installere Team Suite. Ingenting av dette skal påvirke deg, med mindre du prøver å avinstallere VS08 fra en maskin som også har VS05; likevel kan det være lurt å ta en sikkerhetskopi av systemet ditt før du starter installasjonen. Forvent at en VS08-installasjon vil ta flere timer, med en manuell inngrep som kreves for å starte trinnet for installasjon av dokumentasjon.

Jeg kjørte VS08 Team Suite på XP-skrivebordet mitt nesten hele dagen, fem dager i uken i flere uker, og prøvde å bruke den til hele utviklingsarbeidet mitt. Jeg kjørte også gjennom en rekke individuelle utviklingsscenarier med Professional Edition på Vista-bærbare datamaskinen, og simulerte noen få gruppeutviklingsscenarier på Team Suite / TFS virtuell PC. En advarsel: Hvis du installerer på Windows Vista med User Account Control (UAC) aktivert, vær forberedt på å kjøre VS08 som administrator et par ganger til alle nødvendige kataloger er opprettet; etter det skal den være fullstendig UAC-kompatibel.

Vi presenterer .Net Framework 3.5

Jeg skulle ønske Microsoft hadde gått litt lenger i denne retningen. Det er synd at Microsoft ikke også ga målretting for .Net Framework 1.1 og enkel toveiskonvertering mellom VS08, VS05 og Visual Studio. Net 2003-prosjekter.

.Net Framework 3.5 har en rekke nye klassebiblioteker og språkfunksjoner. Disse inkluderer Language-Integrated Query (LINQ), Web 2.0 og SOA-relaterte forbedringer, integrert arbeidsflyt, peer-to-peer-protokoller og Microsoft Office-støtte.

Verktøyet for alle disse finnes i VS08. Så, for eksempel, har VS08 Standard og over LINQ-støtte i Visual Basic .Net og Visual C #, inkludert en Object Relational Designer, SQLMetal kommandolinjeverktøy, LINQ-bevisste kodeditorer og feilsøkingsstøtte.

Språkintegrerte spørsmål med LINQ

Flere av LINQ-komponentene og leverandørene som sendes i VS08, inkludert LINQ til objekter (strenger, refleksjon og filkataloger), LINQ til XML og LINQ til ADO.Net. LINQ til ADO.Net inneholder to komponenter: LINQ til DataSet og LINQ til SQL. Jo mer ambisiøse ADO.Net Entity Framework og LINQ to Entities er ikke inkludert i VS08, men kan sendes senere i år som et tillegg.

Jeg testet LINQ til SQL i C # mot en SQL Server 2000-database. Objekt-relasjonsdiagrammet i dette skjermbildet ble automatisk generert ved å dra tabellene fra en database. Et sett med kallbare, LINQ-kompatible klasser ble automatisk også generert.

Object Relational Designer fungerte bra for å lage C # -klasser fra databaseskjemaet, og IntelliSense fungerte bra da jeg skrev LINQ-spørsmål. På den annen side presset jeg LINQ-forespørsler for hånd mot tre relaterte tabeller grensene for mine nye LINQ-ferdigheter, og jeg lengtet etter LINQ-ekvivalenten til VS08s grafiske SQL Query Designer. Jeg fant aldri ut hvordan jeg skulle skrive LINQ-ekvivalenten til et SQL "SELECT DISTINCT" -spørsmål.

IntelliSense, refactoring, enhetstesting og beregninger

Da jeg jobbet med dette lille prosjektet, fant jeg ut at C # refactoring-funksjonaliteten (inkludert i Professional og over) fungerte bra og ganske jevnt. Når du redigerer C #, kan programmereren dra nytte av automatisk refactoring, som vist i popup-menyen til dette skjermbildet. Det er full IntelliSense-støtte for LINQ (se koden som starter med “var qAV” i figuren). Kode beregninger (nederst i figuren) beregnes bare for administrert kode.

Jeg fant også ut at kodemålingene for administrert kode (inkludert i VSTS Developer og Team Suite) fungerte ganske bra. Jeg er ikke sikker på at jeg er enig i måten beregningene beregnes for kode generert fra designflater, men jeg kan absolutt se den overordnede nytteverdien til beregningene, spesielt i sammenheng med teamprosjekter som administreres med TFS.

Jeg brukte beregninger som cyklomatisk kompleksitet (et mål på antall lineært uavhengige baner gjennom en programmodul) for mange år siden for å hjelpe meg med å administrere et stort C-prosjekt med et dusin programmerere. Jeg er glad for å se denne teknologien introdusert i VS08 for administrert kode.

Jeg er imidlertid skuffet over at kodemålinger og kodefakturering ikke er tilgjengelige for ikke-administrerte C ++ - prosjekter. På den annen side kan C ++ -prosjekter bruke en veldig fin anropsleser: Det gir deg en kompakt oversikt over de andre funksjonene som kaller en gitt funksjon, og kodelinjene som gjør samtalene.

Jeg er glad for at Visual Basic-prosjekter har kodemålinger sammen med en utrolig kort syntaks, flott IntelliSense og mange kodebiter. Jeg er skuffet over at Visual Basic-prosjekter ikke har kode-refactoring, selv om denne funksjonaliteten kan legges til ved hjelp av en av flere tredjeparts plugin-moduler.

Jeg er glad for å rapportere at enhetstesting nå er en funksjon i Professional Edition. (Det var en VSTS-funksjon i VS05.) Du kan lage enhetstester og testprosjekter for C #, Visual Basic og administrerte C ++ - løsninger. Det var mulig å gjøre dette før du brukte det gratis open source-programmet NUnit, men det er litt hyggeligere å ha enhetstestfunksjonen integrert med IDE.

IntelliSense for JavaScript var en av de lovede forbedringene i VS08. Det er der, men til en pris: Selv om støtte for den typen JavaScript som brukes til å skrive ASP.Net AJAX og Silverlight-sider, er lagt til, har støtte for redigering av VBScript og Classic ASP blitt droppet. Siden jeg fremdeles opprettholder et klassisk ASP-nettsted fra 1999, var jeg mer enn litt irritert over å finne at VS08 gjorde en dårligere jobb med ASP-sider enn VS05, eller faktisk enn Visual InterDev 6. Microsoft vurderer å gjenopprette denne funksjonaliteten for en servicepakke til VS08. I mellomtiden bør folk som fortsatt vedlikeholder Classic ASP-nettsteder ikke forlate sine eksisterende verktøy.

WPF, Silverlight og Web 2.0

VS08 støtter Silverlight, en rik Internett-applikasjonsteknologi som inkluderer en delmengde av WPF, når du installerer Silverlight SDK og Silverlight Tools for VS08. Jeg hadde gode erfaringer med å utvikle Silverlight-applikasjoner med en betaversjon av VS08. (For min anmeldelse av Silverlight selv, se "Microsoft Silverlight rivaler Flash, AJAX.")

Med unntak av den nedlagte støtten for VBScript og Classic ASP, er nettsidedesignflaten i VS08 bedre enn VS05; det er veldig likt Expression Web, og støtter CSS pent. Designflater og prosjekter for ASP.Net AJAX, Windows Communications Foundation og Windows Workflow Foundation, som var gratis tillegg til VS05, har flyttet til det basale VS08-produktet.

Office og Smart Device mål

VS08 kan opprette administrert Smart Device-prosjekt for fire målplattformer og to versjoner av .Net Compact Framework i C # og Visual Basic. I C ++ kan VS08 opprette ikke-administrerte Smart Device-prosjekter ved hjelp av Win32, ATL (Active Template Library) og MFC (Microsoft Foundation Class) biblioteker; at evnen pleide å være i et eget Windows CE-verktøy.

Odds og ender

Microsoft SQL Server Compact 3.5 er en ny lokal database som er liten nok til å distribueres på smarte enheter. Utviklere kan bruke den både i frittstående og av og til sammenhengende scenarier. Når SQL Server Compact brukes til lokal database-caching, tar Microsoft Synchronization Services for ADO.Net seg av periodisk synkronisering mellom den lokale Compact-databasen og den eksterne databasen.

Hvis en Team Foundation Server-installasjon blir oppdaget, kan Visual Studio integreres med den. Dette gjør at en programmerer kan motta arbeidselementer og gjøre innsjekk, og en leder kan produsere rapporter som den som er vist her.

Team System har en rekke forbedringer. Ett stort element i TFS er et nytt Team Build-system; en annen er Internett-tilgang. Arkitekter har fått en ny top-down systemdesigner og et arkitektonisk rollesystem. Utviklere har det nye kodeverdisystemet jeg diskuterte tidligere, samt bedre kodeanalyse og ytelsesverktøy. DBA har T-SQL-kodeanalyse, en datagenerator og verktøy for refactoring. Testere har bedre verktøy og valideringsregler, inkludert en Test Load Agent.

Visual Studio har et aktivt økosystem av uavhengige programvareleverandører. De fleste av disse leverandørene produserer plugin-moduler og kontroller som forbedrer Visual Studio. En ny Visual Studio Shell lar disse leverandørene sende frittstående versjoner av produktene deres som ikke krever at kunden kjøper riktig Visual Studio. Jeg applauderer dette trekket fra Microsoft: Jeg tror det gjør økosystemet sunnere fordi det gjør at ISV-ene kan være mer konkurransedyktige til en relativt liten kostnad for Microsoft.

Samlet sett er Visual Studio 2008 en oppgradering som de fleste Microsoft-orienterte utviklingsbutikker vil gjøre for å utvikle med ny teknologi, som WPF, WCF og WF, og for nye plattformer, for eksempel Windows Vista. Det er imidlertid ikke en oppgradering som enkelt gjøres stykkevis; Jeg vil råde de fleste butikker å oppgradere alle utviklere på et prosjekt når selve prosjektet har blitt oppgradert. Etter min erfaring har oppgradering av prosjekter fra VS05 til VS08 vært relativt smertefri, og involvert veldig lite i veien for omskriving av kode.

For butikker som fortsatt vedlikeholder Classic ASP-nettsteder, vil jeg anbefale å installere VS08 side om side med VS05, i hvert fall til Classic ASP- og VBScript-redigeringsfunksjonalitet er gjenopprettet. Og for butikker som fremdeles bruker Visual Studio .Net 2003 eller eldre versjoner på grunn av opplevde problemer med VS05, foreslår jeg at vi vurderer VS08 på alvor.

Med få unntak vil brukere på alle nivåer av Visual Studio finne utgivelsen fra 2008 forbedret. Det er en sterk oppgradering, og et solid grunnlag for fremtidig utvikling.

Poengkort Verdi (10.0%) Evne (30.0%) Opptreden (15.0%) Enkel utvikling (30.0%) Dokumentasjon (15.0%) Total poengsum (100%)
Microsoft Visual Studio 2008 Professional og Microsoft Visual Studio Team System 2008 Team Suite9.010.09.09.09.0 9.3

Copyright no.verticalshadows.com 2024

$config[zx-auto] not found$config[zx-overlay] not found