Programiranje

Pregled izdelka: Visual Studio 2008 napreduje z nekaj napačnimi koraki

Microsoft Visual Studio 2008 (VS08) je trenutno utelešenje dolge vrste IDE-jev podjetja. Je vodilni IDE za razvoj aplikacij z Microsoft .Net Framework in vsaj kandidat za najboljši ID / C / C ++, ki ga gosti Windows. Seveda Visual Studio 2008 ni omejen na razvoj namiznih aplikacij; dober je tudi za razvoj spletnih, SOA in aplikacij za naprave. Ta izdaja uvaja podporo za .Net Framework 3.5 in podpira tudi druge različice .Net Framework. Uvaja tudi jezikovno integrirano poizvedbo, generičen način poizvedovanja po vseh vrstah podatkov v jeziku C # in Visual Basic ter popolno podporo za Windows Vista, Silverlight in Windows Presentation Foundation.

VS08 je na voljo v številnih izdajah, od brezplačnih Express Editions do Visual Studio Team System 2008 Team Suite, vrednih 10.000 USD. V bistvu so izdaje Express namenjene začetnikom, študentom in razvijalcem hobijev; Standard Edition je namenjen posameznim razvijalcem; Professional Edition je namenjen naprednim razvijalcem in tistim, ki delajo v majhnih skupinah.

Team System je namenjen predvsem večjim skupinam. Obstajajo odjemalci Team System za razvijalce, arhitekte, skrbnike programov in preizkuševalci ter kombinirani odjemalec za vse vloge, imenovan Team Suite. Strežnik za Team System je Team Foundation Server (TFS), ki združuje timski portal, nadzor različic, sledenje delovnim elementom, upravljanje zgradb, vodenje procesov in poslovno inteligenco.

V tem pregledu se bom osredotočil na funkcije VS08 Professional Edition in se dotaknil nekaj vrhuncev programske opreme Team Suite. Ne bom poskušal razpravljati o Team Foundation Serverju kot takem, čeprav je bil od njegovega zadnjega pregleda deležen številnih izboljšav, na primer novega sistema za team team in spletnega dostopa (glej predogled Visual Studio 2005 Toma Yagerja maja 2004).

Namestitev in preskušanje

Že dolgo sem pisal (tukaj in tukaj) o svojih preizkušnjah in težavah pri namestitvi programske opreme Team Suite. Nič od tega ne bi smelo vplivati ​​na vas, razen če poskusite odstraniti VS08 iz naprave, ki ima tudi VS05; kljub temu bi bilo pametno narediti varnostno kopijo slike sistema, preden začnete z namestitvijo. Pričakujte, da namestitev VS08 traja več ur, za začetek koraka namestitve dokumentacije pa je potreben en ročni poseg.

VS08 Team Suite sem na namizju XP vodil skoraj ves dan, pet dni v tednu, nekaj tednov in ga poskušal uporabiti za vsa svoja razvojna dela. Prav tako sem s Professional Edition prenašal številne posamezne razvojne scenarije na prenosnem računalniku Vista in na virtualnem računalniku Team Suite / TFS simuliral nekaj scenarijev skupinskega razvoja. Eno opozorilo: če nameščate v sistem Windows Vista z omogočenim nadzorom uporabniškega računa (UAC), bodite pripravljeni nekajkrat zagnati VS08 kot skrbnik, dokler ne bodo ustvarjeni vsi zahtevani imeniki; po tem bi moral biti popolnoma skladen z UAC.

Predstavljamo .Net Framework 3.5

Želim si, da bi Microsoft šel malo dlje v tej smeri. Škoda, da Microsoft ni zagotovil tudi ciljanja za .Net Framework 1.1 in enostavno dvosmerno pretvorbo med projekti VS08, VS05 in Visual Studio .Net 2003.

.Net Framework 3.5 ima številne nove funkcije knjižnice in jezika. Sem spadajo jezikovno integrirana poizvedba (LINQ), izboljšave, povezane s spletom 2.0 in SOA, integrirani potek dela, peer-to-peer protokoli in podpora za Microsoft Office.

Orodje za vse to najdete v VS08. Tako imajo na primer VS08 Standard in novejši podporo za LINQ v Visual Basic .Net in Visual C #, vključno z Object Relational Designer, orodjem za ukazno vrstico SQLMetal, urejevalniki kod, ki jih pozna LINQ, in podporo za odpravljanje napak.

Jezikovno integrirane poizvedbe z LINQ

Več komponent in ponudnikov LINQ, dobavljenih v VS08, vključno z LINQ za objekte (nizi, odsevi in ​​imeniki datotek), LINQ za XML in LINQ za ADO.Net. LINQ v ADO.Net vključuje dve komponenti: LINQ v DataSet in LINQ v SQL. Ambicioznejši okvir ADO.Net Entity Framework in LINQ to Entities sta ne vključen v VS08, vendar bo morda kot dodatek poslan še letos.

LINQ to SQL sem preizkusil v jeziku C # z bazo podatkov SQL Server 2000. Objektno-relacijski diagram na tej sliki zaslona je bil samodejno ustvarjen z vlečenjem tabel iz baze podatkov. Samodejno je bil ustvarjen tudi niz klicnih razredov, skladnih z LINQ.

Object Relational Designer je dobro deloval pri ustvarjanju razredov C # iz sheme baze podatkov, IntelliSense pa je deloval dobro, ko sem pisal poizvedbe LINQ. Po drugi strani pa je ročno pisanje poizvedb LINQ proti trem sorodnim tabelam premikalo meje mojih začetnih veščin LINQ in hrepenel sem po LINQ, enakovrednem grafičnemu oblikovalniku poizvedb SQL VS08. Nikoli nisem ugotovil, kako napisati ekvivalent LINQ poizvedbe SQL "SELECT DISTINCT".

IntelliSense, refaktoring, enotno testiranje in meritve

Ko sem delal na tem majhnem projektu, sem ugotovil, da je funkcionalnost predelave C # (vključena v Professional in novejše) delovala dobro in povsem gladko. Pri urejanju C # lahko programer izkoristi samodejno preoblikovanje, kot je prikazano v pojavnem meniju te slike zaslona. Za LINQ je na voljo popolna podpora IntelliSense (glejte kodo, ki se na sliki začne z »var qAV«). Meritve kode (na dnu slike) se izračunajo samo za upravljano kodo.

Ugotovil sem tudi, da so meritve kode za upravljano kodo (vključene v VSTS Developer in Team Suite) delovale dokaj dobro. Nisem prepričan, da se strinjam z načinom izračuna metrike za kodo, ustvarjeno iz oblikovalskih površin, vsekakor pa lahko vidim splošno uporabnost metrik, zlasti v okviru skupinskih projektov, ki jih upravlja TFS.

Pred leti sem uporabil metrike, kot je ciklomatska kompleksnost (merilo števila linearno neodvisnih poti skozi programski modul), da sem z ducatom programerjev vodil velik projekt C. Vesel sem, da je ta tehnologija predstavljena v VS08 za upravljano kodo.

Razočaran pa sem, da metrike kode in preoblikovanje kode niso na voljo za neupravljane projekte C ++. Po drugi strani pa lahko projekti C ++ uporabljajo zelo prijeten brskalnik za klice: daje vam kompakten pogled na druge funkcije, ki kličejo določeno funkcijo, in vrstice kode, ki kličejo.

Vesel sem, da imajo projekti Visual Basic meritve kode, skupaj z neverjetno jedrnato sintakso, odličnim IntelliSenseom in številnimi delčki kode. Razočaran sem, da projekti Visual Basic nimajo preoblikovanja kode, čeprav je to funkcijo mogoče dodati z enim od več neodvisnih vtičnikov.

Z veseljem sporočam, da je enotno testiranje zdaj značilnost Professional Edition. (To je bila funkcija VSTS v VS05.) Ustvarite lahko enote in preskusne projekte za rešitve C #, Visual Basic in upravljane rešitve C ++. To je bilo mogoče storiti pred uporabo brezplačnega odprtokodnega programa NUnit, vendar je malo lepše, če je zmožnost enote za preskus integrirana z IDE.

IntelliSense za JavaScript je bila ena od obljubljenih izboljšav VS08. Obstaja, vendar za ceno: Čeprav je bila dodana podpora za vrsto JavaScript, ki se uporablja za pisanje strani ASP.Net AJAX in Silverlight, je podpora za urejanje VBScript in Classic ASP opuščena. Ker še vedno vzdržujem starodavno spletno mesto Classic ASP iz leta 1999, me je več kot malo razjezilo, ko sem ugotovil, da je VS08 slabše opravil strani ASP kot VS05 ali celo Visual InterDev 6. Microsoft razmišlja o obnovitvi te funkcionalnosti za servisni paket do VS08. Medtem ljudje, ki še vedno vzdržujejo klasična spletna mesta ASP, ne bi smeli opustiti obstoječih orodij.

WPF, Silverlight in Web 2.0

VS08 podpira Silverlight, bogato internetno aplikacijsko tehnologijo, ki vključuje podnabor WPF, ko namestite Silverlight SDK in Silverlight Tools za VS08. Imel sem dobre izkušnje z razvojem aplikacij Silverlight z beta različico VS08. (Za moj pregled samega Silverlighta glejte "Microsoft Silverlight tekmeci Flash, AJAX.")

Z izjemo opuščene podpore za VBScript in Classic ASP je površina oblikovanja spletnih strani v VS08 boljša od površine VS05; je zelo podoben Expression Web in lepo podpira CSS. Oblikovanje površin in projekti za ASP.Net AJAX, Windows Communications Foundation in Windows Workflow Foundation, ki so bili brezplačni dodatki za VS05, so se preselili v osnovni izdelek VS08.

Cilji za Office in pametne naprave

VS08 lahko ustvari upravljani projekt pametnih naprav za štiri ciljne platforme in dve različici .Net Compact Framework v C # in Visual Basic. V jeziku C ++ lahko VS08 ustvari neupravljane projekte pametnih naprav z uporabo knjižnic Win32, ATL (knjižnica aktivnih predlog) in MFC (Microsoft Foundation Class); ta zmožnost je bila nekoč v ločenem naboru orodij Windows CE.

Kvote in konci

Microsoft SQL Server Compact 3.5 je nova lokalna zbirka podatkov, ki je dovolj majhna za namestitev v pametne naprave. Razvijalci ga lahko uporabljajo v samostojnih in občasno povezanih scenarijih. Ko se SQL Server Compact uporablja za lokalno predpomnjenje baz podatkov, Microsoft Synchronization Services za ADO.Net skrbi za periodično sinhronizacijo med lokalno bazo podatkov Compact in oddaljeno bazo podatkov.

Če se zazna namestitev namestitvenega strežnika Team Foundation, se Visual Studio lahko integrira z njim. To omogoča programerju, da prejme delovne predmete in se prijavi, in upravitelju, da pripravi poročila, kot je prikazano tukaj.

Team System ima številne izboljšave. Velik element TFS je nov sistem Team Build; drugo je dostop do spleta. Arhitekti imajo novega oblikovalca sistemov od zgoraj navzdol in sistem arhitekturnih vlog. Razvijalci imajo nov sistem metričnih kod, o katerem sem že razpravljal, pa tudi boljša orodja za analizo kode in zmogljivost. DBA imajo analizo kode T-SQL, generator podatkov in orodja za refaktoring. Preizkuševalci imajo boljša orodja in pravila za preverjanje veljavnosti, vključno s testnim agentom za obremenitev.

Visual Studio ima aktiven ekosistem neodvisnih ponudnikov programske opreme. Večina teh prodajalcev proizvaja vtičnike in kontrolnike, ki izboljšujejo Visual Studio. Nova lupina Visual Studio omogoča tem ponudnikom, da pošiljajo samostojne različice svojih izdelkov, za katere stranka ne zahteva, da kupijo Visual Studio pravilno. Pozdravljam to potezo Microsofta: mislim, da je ekosistem bolj zdrav, saj omogoča, da so ISV-ji bolj konkurenčni z relativno majhnimi stroški za Microsoft.

Visual Studio 2008 je na splošno nadgradnja, ki jo želi večina Microsoftovih razvojnih trgovin razvijati z novimi tehnologijami, kot so WPF, WCF in WF, in za nove platforme, kot je Windows Vista. Vendar ne gre za nadgradnjo, ki bi jo lahko naredili po delih; Večini trgovin svetujem, naj nadgradijo vse razvijalce projekta, ko bo sam projekt uspešno nadgrajen. Po mojih izkušnjah je bila nadgradnja projektov z VS05 na VS08 razmeroma neboleča, saj je zelo malo preoblikovala kode.

Za trgovine, ki še vedno vzdržujejo spletna mesta Classic ASP, priporočam namestitev VS08 vzporedno z VS05, vsaj dokler se ne obnovi funkcionalnost urejanja Classic ASP in VBScript. Za trgovine, ki še vedno uporabljajo Visual Studio .Net 2003 ali starejše različice zaradi zaznanih težav z VS05, predlagam, da resno ocenite VS08.

Z redkimi izjemami se bo izdaja za leto 2008 izboljšala za uporabnike vseh ravni Visual Studio. Je močna nadgradnja in trdna podlaga za prihodnji razvoj.

Preglednica Vrednost (10.0%) Sposobnost (30.0%) Izvedba (15.0%) Enostavnost razvoja (30.0%) Dokumentacija (15.0%) Skupna ocena (100%)
Microsoft Visual Studio 2008 Professional in Microsoft Visual Studio Team System 2008 Team Suite9.010.09.09.09.0 9.3

Copyright sl.verticalshadows.com 2024

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