Ohjelmointi

Tuotekatsaus: Visual Studio 2008 etenee muutamalla harhautuksella

Microsoft Visual Studio 2008 (VS08) on yrityksen pitkän IDE-linjan inkarnaatio. Se on johtava IDE sovellusten kehittämiseen Microsoft .Net Frameworkin kanssa ja ainakin kilpailija parhaalle Windows-isännöimälle C / C ++ IDE: lle. Visual Studio 2008 ei tietenkään rajoitu työpöytäsovellusten kehittämiseen; se on hyvä myös Web-, SOA- ja laitesovellusten kehittämiseen. Tämä julkaisu esittelee tuen .Net Framework 3.5: lle ja tukee myös muita .Net Framework -versioita. Se esittelee myös kieliin integroidun kyselyn, yleisen tavan kysyä kaikenlaisia ​​tietoja C #: ssä ja Visual Basicissa, ja täyden tuen Windows Vistalle, Silverlightille ja Windows Presentation Foundationille.

VS08 on saatavana useina painoksina ilmaisista Express Editions -julkaisuista aina 10 000 dollarin Visual Studio Team System 2008 Team Suite -sovellukseen. Pohjimmiltaan Express-versiot on tarkoitettu aloittelijoille, opiskelijoille ja harrastelijoille. Standard Edition on tarkoitettu yksittäisille kehittäjille; Professional Edition on tarkoitettu edistyneille kehittäjille ja pienille ryhmille työskenteleville.

Tiimijärjestelmä on ensisijaisesti suuremmille joukkueille. On olemassa Team System -asiakkaita kehittäjille, arkkitehdeille, DBA: lle ja testaajille sekä yhdistetty asiakas kaikille rooleille nimeltä Team Suite. Team System -palvelin on Team Foundation Server (TFS), joka yhdistää tiimiportaalin, versionhallinnan, työkohteiden seurannan, rakennuksen hallinnan, prosessiohjauksen ja liiketoimintatiedon.

Tässä katsauksessa keskityn VS08 Professional Editionin ominaisuuksiin ja kosketan muutamia Team Suiten kohokohtia. En yritä keskustella Team Foundation Serveristä sellaisenaan, vaikka se on saanut lukuisia parannuksia, kuten uuden tiiminrakennusjärjestelmän ja verkkoyhteyden, sen jälkeen kun tarkistimme sen viimeksi (katso Tom Yagerin Visual Studio 2005: n toukokuun 2004 esikatselu).

Asennus ja testaus

Olen kirjoittanut blogia jonkin verran (täällä ja täällä) Team Suiten asentamisesta ja kokeilemisesta. Mikään näistä ei saa vaikuttaa sinuun, ellet yritä poistaa VS08: ta koneelta, jolla on myös VS05; Siitä huolimatta kuvien varmuuskopiointi järjestelmästäsi ennen asennuksen aloittamista saattaa olla viisasta. Oletettavasti VS08-asennuksen kesto on useita tunteja, ja tarvitaan yksi manuaalinen toimenpide asiakirjojen asennusvaiheen aloittamiseksi.

Juoksin VS08 Team Suiten XP-työpöydälläni melkein koko päivän, viisi päivää viikossa useita viikkoja, ja yritin käyttää sitä koko kehitystyöhön. Kävin myös läpi useita yksittäisiä kehitysskenaarioita Vista-kannettavan Professional Editionin kanssa ja simuloin muutamia ryhmäkehitysskenaarioita Team Suite / TFS -tietokoneessa. Yksi varoitus: Jos asennat Windows Vistaan ​​käyttäjätilien valvonnan (UAC) ollessa käytössä, valmistaudu suorittamaan VS08 järjestelmänvalvojana muutaman kerran, kunnes kaikki vaaditut hakemistot on luotu. sen jälkeen sen pitäisi olla täysin UAC-yhteensopiva.

Esittely .Net Framework 3.5

Toivon, että Microsoft olisi mennyt hieman pidemmälle tähän suuntaan. On liian huono, että Microsoft ei tarjonnut myös kohdistusta .Net Framework 1.1: een ja helppoa kaksisuuntaista muuntamista VS08-, VS05- ja Visual Studio .Net 2003 -projektien välillä.

.Net Framework 3.5: ssä on useita uusia luokkakirjastoja ja kieliominaisuuksia. Näitä ovat kieliin integroitu kysely (LINQ), Web 2.0 ja SOA: han liittyvät parannukset, integroitu työnkulku, peer-to-peer -protokollat ​​ja Microsoft Office -tuki.

Kaikkien näiden työkalut löytyvät VS08: sta. Joten esimerkiksi VS08 Standardilla ja sitä uudemmilla on LINQ-tuki Visual Basic .Net- ja Visual C # -sovelluksissa, mukaan lukien Object Relational Designer, SQLMetal-komentorivityökalu, LINQ-tietoiset koodieditorit ja virheenkorjaustuki.

Kieliin integroidut kyselyt LINQ: n kanssa

Useat VS08: n mukana toimitetuista LINQ-komponenteista ja -toimittajista, mukaan lukien LINQ to Objects (merkkijonot, heijastus ja tiedostohakemistot), LINQ XML: ään ja LINQ ADO.Netiin. LINQ to ADO.Net sisältää kaksi komponenttia: LINQ to DataSet ja LINQ to SQL. Kunnianhimoisemmat ADO.Net-entiteettikehykset ja LINQ-yksiköt ovat ei sisältyy VS08: een, mutta voidaan toimittaa myöhemmin tänä vuonna lisäosana.

Testasin LINQ: n SQL: ään C #: ssä SQL Server 2000 -tietokantaa vastaan. Tämän näyttökuvan objektisuhdekaavio luotiin automaattisesti vetämällä taulukoita tietokannasta. Sarja soitettavia, LINQ-yhteensopivia luokkia luotiin myös automaattisesti.

Object Relational Designer toimi hyvin luodessaan C # -luokkia tietokantakaaviosta, ja IntelliSense toimi hyvin, kun kirjoitin LINQ-kyselyitä. Toisaalta LINQ-kyselyiden kirjoittaminen käsin kolmea asiaankuuluvaa taulukkoa vasten ylitti syntyvän LINQ-taitoni rajat, ja kaipasin LINS-vastaavuutta VS08: n graafisesta SQL Query Designerista. En koskaan keksinyt, kuinka kirjoittaa LINQ-vastine SQL "SELECT DISTINCT" -kyselyyn.

IntelliSense, refactoring, yksikötestaus ja mittarit

Kun työskentelin tämän pienen projektin parissa, huomasin, että C # -korjaustoiminnot (sisältyvät Professionaliin ja uudempiin) toimivat hyvin ja melko sujuvasti. Kun muokkaat C #: ta, ohjelmoija voi hyödyntää automaattista korjausta, kuten tämän näyttökuvan ponnahdusvalikossa näkyy. LINQ: lla on täysi IntelliSense-tuki (katso kuvassa "var qAV" alkava koodi). Koodimittarit (kuvan alaosassa) lasketaan vain hallitulle koodille.

Huomasin myös, että hallitun koodin (sisältyy VSTS Developer and Team Suite) -koodimittarit toimivat melko hyvin. En ole varma, olenko samaa mieltä siitä, miten mittarit lasketaan suunnittelupinnoista tuotetulle koodille, mutta näen varmasti metriikan yleisen hyödyllisyyden, erityisesti TFS: llä hallinnoitavien tiimiprojektien yhteydessä.

Käytin vuosia sitten mittareita, kuten syklomaattinen monimutkaisuus (lineaarisesti riippumattomien polkujen lukumäärä ohjelmamoduulin läpi) auttamaan minua johtamaan suurta C-projektia kymmenkunta ohjelmoijaa. Olen iloinen siitä, että tämä tekniikka otettiin käyttöön VS08: ssa hallitulle koodille.

Olen kuitenkin pettynyt siihen, että koodimittareita ja koodin korjaamista ei ole saatavana hallitsemattomille C ++ -projekteille. Toisaalta C ++ -projektit voivat käyttää erittäin mukavaa puhelinselainta: Se antaa sinulle kompaktin kuvan muista funktioista, jotka kutsuvat tiettyä toimintoa, ja koodiriveistä, jotka soittavat puhelut.

Olen iloinen siitä, että Visual Basic -projekteissa on koodimittareita, uskomattoman tiivis syntakse, suuri IntelliSense ja monet koodinpätkät. Olen pettynyt siihen, että Visual Basic -projekteissa ei ole koodin korjaamista, vaikka tämä toiminto voidaan lisätä yhdellä useista kolmannen osapuolen laajennuksista.

Olen iloinen voidessani ilmoittaa, että yksikkötestaus on nyt Professional Editionin ominaisuus. (Se oli VS05: n VSTS-ominaisuus.) Voit luoda yksikkötestejä ja testiprojekteja C #-, Visual Basic- ja hallituille C ++ -ratkaisuille. Tämä oli mahdollista tehdä ennen ilmaisen avoimen lähdekoodin NUnit-ohjelman käyttöä, mutta on hieman mukavampaa, että yksikön testausominaisuudet integroitiin IDE: hen.

IntelliSense for JavaScript oli yksi luvatuista parannuksista VS08: ssa. Se on siellä, mutta kustannuksella: Vaikka tuki ASP.Net AJAX- ja Silverlight-sivujen kirjoittamiseen käytetylle JavaScriptille on lisätty, tuki VBScriptin ja Classic ASP: n muokkaamiseen on poistettu. Koska ylläpidän edelleen vuoden 1999 vintage Classic ASP -sivustoa, olin enemmän kuin hieman ärtynyt huomatessani, että VS08 teki huonompaa työtä ASP-sivuilla kuin VS05 tai todellakin kuin Visual InterDev 6. Microsoft harkitsee tämän toiminnon palauttamista Service Packille kohtaan VS08. Sillä välin ihmisten, jotka ylläpitävät edelleen perinteisiä ASP-sivustoja, ei pidä hylätä nykyisiä työkalujaan.

WPF, Silverlight ja Web 2.0

VS08 tukee monipuolista Internet-sovellustekniikkaa Silverlight, joka sisältää WPF: n osajoukon, kun olet asentanut Silverlight SDK: n ja Silverlight Tools for VS08: n. Minulla oli hyviä kokemuksia Silverlight-sovellusten kehittämisestä VS08: n beetaversiolla. (Katso itse Silverlight-katsaukseni kohdasta "Microsoft Silverlight kilpailee Flashin, AJAX: n kanssa.")

Lukuun ottamatta VBScriptin ja Classic ASP: n hylättyä tukea, verkkosivun suunnittelupinta VS08: ssa on parempi kuin VS05: n; se on hyvin samanlainen kuin Expression Web, ja tukee CSS: ää mukavasti. ASP.Net AJAX: n, Windows Communications Foundationin ja Windows Workflow Foundationin suunnittelupinnat ja projektit, jotka olivat ilmaisia ​​VS05: n lisäosia, ovat siirtyneet VS08-perustuotteeseen.

Office- ja älylaitteiden kohteet

VS08 voi luoda hallitun älylaiteprojektin neljälle kohdealustalle ja kahdelle .Net Compact Framework -versiolle C #: ssä ja Visual Basicissa. C ++: ssa VS08 voi luoda hallitsemattomia älylaiteprojekteja Win32-, ATL (Active Template Library) - ja MFC (Microsoft Foundation Class) -kirjastoilla; tämä ominaisuus oli aiemmin erillisessä Windows CE -työkalupaketissa.

Sekalaisia ​​asioita

Microsoft SQL Server Compact 3.5 on uusi paikallinen tietokanta, joka on tarpeeksi pieni käytettäväksi älylaitteissa. Kehittäjät voivat käyttää sitä sekä erillisissä että toisinaan yhdistetyissä tilanteissa. Kun SQL Server Compactia käytetään paikallisten tietokantojen välimuistiin tallentamiseen, Microsoft Synchronization Services for ADO.Net huolehtii säännöllisen synkronoinnista paikallisen Compact-tietokannan ja etätietokannan välillä.

Jos Team Foundation Server -asennus havaitaan, Visual Studio voi integroida siihen. Tämä antaa ohjelmoijalle mahdollisuuden vastaanottaa työtehtäviä ja tehdä sisäänkirjautumisia, ja esimies tuottaa raportteja, kuten tässä esitetty.

Tiimijärjestelmässä on useita parannuksia. Yksi iso tuote TFS: ssä on uusi Team Build -järjestelmä; toinen on verkkoyhteys. Arkkitehdeillä on uusi ylhäältä alas -suunnittelija ja arkkitehtoninen roolijärjestelmä. Kehittäjillä on uusi koodimittarijärjestelmä, josta keskustelin aiemmin, sekä paremmat koodianalyysi- ja suorituskykyvälineet. DBA: lla on T-SQL-koodianalyysi, datageneraattori ja korjaustyökalut. Testaajilla on paremmat työkalut ja validointisäännöt, mukaan lukien Test Load Agent.

Visual Studiossa on aktiivinen riippumattomien ohjelmistotoimittajien ekosysteemi. Suurin osa näistä toimittajista tuottaa laajennuksia ja ohjaimia, jotka parantavat Visual Studiota. Uusi Visual Studio Shell antaa näiden toimittajien toimittaa itsenäisiä versioita tuotteistaan, jotka eivät vaadi asiakasta ostamaan Visual Studiota. Kiitän tätä Microsoftin liikettä: Mielestäni se tekee ekosysteemistä terveellisemmän, koska se antaa ISV: n olla kilpailukykyisempi suhteellisen pienillä kustannuksilla Microsoftille.

Kaiken kaikkiaan Visual Studio 2008 on päivitys, jonka useimmat Microsoft-suuntautuneet kehitysliikkeet haluavat tehdä kehittääkseen uusia tekniikoita, kuten WPF, WCF ja WF, sekä uusille alustoille, kuten Windows Vista. Se ei kuitenkaan ole päivitys, joka on helppo tehdä palasiksi; Kehotan useimpia kauppoja päivittämään projektin kaikki kehittäjät, kun itse projekti on päivitetty onnistuneesti. Kokemukseni mukaan projektien päivittäminen VS05: stä VS08: een on ollut suhteellisen kivutonta, ja koodien uudelleenkirjoittamiseen liittyy hyvin vähän.

Kaupoille, jotka ylläpitävät edelleen Classic ASP -sivustoja, suosittelen VS08: n asentamista vierekkäin VS05: n kanssa ainakin siihen asti, kunnes Classic ASP- ja VBScript-muokkaustoiminnot on palautettu. Ja kaupoissa, jotka edelleen käyttävät Visual Studio .Net 2003: aa tai vanhempia versioita VS05: n havaittujen ongelmien takia, suosittelen VS08: n vakavaa arviointia.

Muutamaa poikkeusta lukuun ottamatta Visual Studion kaikkien tasojen käyttäjien vuoden 2008 julkaisu paranee. Se on vahva päivitys ja vankka perusta tulevalle kehitykselle.

Tuloskortti Arvo (10.0%) Kyky (30.0%) Esitys (15.0%) Kehityksen helppous (30.0%) Dokumentointi (15.0%) Kokonaispistemäärä (100%)
Microsoft Visual Studio 2008 Professional ja Microsoft Visual Studio Team System 2008 Team Suite9.010.09.09.09.0 9.3

Copyright fi.verticalshadows.com 2024

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