Programavimas

Produkto apžvalga: „Visual Studio 2008“ tobulėja keliais žingsniais

„Microsoft Visual Studio 2008“ (VS08) yra dabartinė ilgos įmonės IDE linijos įsikūnijimas. Tai yra pagrindinis IDE, skirtas kurti programas naudojant „Microsoft .Net Framework“, ir bent jau pretendentas į geriausią „Windows“ priglobtą „C / C ++ IDE“. Žinoma, „Visual Studio 2008“ neapsiriboja vien darbalaukio programų kūrimu; jis taip pat yra naudingas kuriant žiniatinklio, SOA ir įrenginių programas. Šis leidimas pristato „.Net Framework 3.5“ palaikymą ir palaiko kitas „.Net Framework“ versijas. Taip pat pristatoma į kalbą integruota užklausa, bendras būdas pateikti užklausas dėl visų rūšių duomenų C # ir „Visual Basic“, taip pat visiškas „Windows Vista“, „Silverlight“ ir „Windows Presentation Foundation“ palaikymas.

„VS08“ yra daugybė leidimų, pradedant nemokamais „Express“ leidimais ir baigiant 10 000 USD „Visual Studio Team System 2008 Team Suite“. Iš esmės „Express“ leidimai skirti kūrėjams pradedantiesiems, studentams ir mėgėjams; Standartinė versija skirta individualiems kūrėjams; „Professional Edition“ skirtas pažengusiems kūrėjams ir tiems, kurie dirba mažose komandose.

Komandų sistema pirmiausia skirta didesnėms komandoms. Yra „Team System“ klientai, skirti kūrėjams, architektams, DBA ir testuotojams, taip pat bendras vaidmenų klientas, vadinamas „Team Suite“. „Team System“ serveris yra „Team Foundation Server“ (TFS), kuris sujungia komandos portalą, versijų valdymą, darbo elementų stebėjimą, kūrimo valdymą, procesų gaires ir verslo intelektą.

Šioje apžvalgoje daugiausia dėmesio skirsiu „VS08 Professional Edition“ funkcijoms ir paliesiu keletą svarbiausių „Team Suite“ akcentų. Nesistengsiu aptarti „Team Foundation Server“ kaip tokio, nors jis sulaukė daugybės patobulinimų, tokių kaip nauja komandos sudarymo sistema ir prieiga prie žiniatinklio, nes paskutinį kartą jį peržiūrėjome (žr. Tomo Yagerio „Visual Studio 2005“ peržiūrą 2004 m. Gegužės mėn.).

Diegimas ir bandymai

Aš šiek tiek rašiau tinklaraštyje (čia ir čia) apie savo išbandymus ir keliones diegdamas „Team Suite“. Niekas to neturėtų turėti įtakos, nebent bandote pašalinti VS08 iš mašinos, kurioje taip pat yra VS05; nepaisant to, prieš pradedant diegti, gali būti protinga padaryti atsarginę sistemos vaizdų kopiją. Tikimasi, kad VS08 diegimas užtruks kelias valandas, o norint pradėti diegti dokumentą reikia atlikti vieną rankinį įsikišimą.

Beveik visą dieną penkias dienas per savaitę kelias savaites vykdžiau „VS08 Team Suite“ savo XP darbalaukyje ir bandžiau jį naudoti visam savo kūrimo darbui. Aš taip pat perėjau keletą individualių kūrimo scenarijų naudodamas „Professional Edition“ nešiojamąjį kompiuterį „Vista“ ir „Team Suite“ / „TFS“ virtualiame kompiuteryje imitavau keletą grupių kūrimo scenarijų. Vienas įspėjimas: jei diegiate „Windows Vista“ su įjungta vartotojo abonemento kontrole (UAC), būkite pasirengę kelis kartus paleisti VS08 kaip administratorių, kol bus sukurti visi reikalingi katalogai; po to jis turėtų būti visiškai suderinamas su UAC.

Pristatome .Net Framework 3.5

Norėčiau, kad „Microsoft“ šia linkme žengtų šiek tiek toliau. Labai blogai, kad „Microsoft“ taip pat nepateikė taikymo pagal „.Net Framework 1.1“ ir lengvą dvikryptę konversiją tarp VS08, VS05 ir „Visual Studio .Net 2003“ projektų.

. „Net Framework 3.5“ turi daugybę naujų klasių bibliotekos ir kalbos funkcijų. Tai apima kalbų integruotą užklausą (LINQ), „Web 2.0“ ir su SOA susijusius patobulinimus, integruotą darbo eigą, „peer-to-peer“ protokolus ir „Microsoft Office“ palaikymą.

Visų šių įrankių rasite VS08. Taigi, pavyzdžiui, „VS08 Standard“ ir naujesnės versijos turi „LINQ“ palaikymą „Visual Basic .Net“ ir „Visual C #“, įskaitant „Object Relational Designer“, „SQLMetal“ komandinės eilutės įrankį, „LINQ“ žinančius kodų redaktorius ir derintuvų palaikymą.

Integruotos į kalbą užklausos naudojant LINQ

Keli iš LINQ komponentų ir tiekėjų, išsiųstų VS08, įskaitant LINQ į objektus (eilutės, atspindys ir failų katalogai), LINQ į XML ir LINQ į ADO.Net. LINQ - ADO.Net apima du komponentus: LINQ - DataSet ir LINQ - SQL. Tai ambicingesni „ADO.Net Entity Framework“ ir „LINQ to Entities“ ne įtrauktas į VS08, tačiau gali būti pristatytas vėliau šiais metais kaip priedas.

Išbandžiau LINQ į SQL C # lyginant su SQL Server 2000 duomenų baze. Objektų-santykių diagrama šiame ekrano vaizde buvo automatiškai sugeneruota nuvilkus lenteles iš duomenų bazės. Taip pat automatiškai buvo sukurtas skambinamų, su LINQ suderinamų klasių rinkinys.

„Object Relational Designer“ gerai dirbo kurdamas C # klases iš duomenų bazės schemos, o „IntelliSense“ gerai veikė, kai rašiau LINQ užklausas. Kita vertus, rašydamas LINQ užklausas ranka prieš tris susijusias lenteles, aš peržengiau savo gimstančių LINQ įgūdžių ribas, ir aš ilgėjausi VS08 grafinio SQL užklausų dizainerio LINQ atitikmens. Aš niekada nesupratau, kaip parašyti SQL „SELECT DISTINCT“ užklausos LINQ atitikmenį.

„IntelliSense“, pertvarkymas, vieneto testavimas ir metrika

Dirbdamas prie šio nedidelio projekto supratau, kad C # atnaujinimo funkcija (įtraukta į „Professional“ ir naujesnes) veikė gerai ir gana sklandžiai. Redaguodamas C #, programuotojas gali pasinaudoti automatizuotu pertvarkymu, kaip parodyta šio ekrano vaizdo iššokančiajame meniu. Yra visas „IntelliSense“ palaikymas LINQ (žr. Kodą, prasidedantį „var qAV“ paveikslėlyje). Kodo metrika (paveikslo apačioje) skaičiuojama tik valdomam kodui.

Taip pat radau, kad valdomo kodo metrika (įtraukta į „VSTS Developer and Team Suite“) veikė gana gerai. Nesu tikras, ar sutinku su metodo apskaičiavimu kodui, sugeneruotam iš dizaino paviršių, bet tikrai matau bendrą metrikos naudingumą, ypač komandos projektų, valdomų naudojant TFS, kontekste.

Aš naudoju metriką, pavyzdžiui, ciklomatinį sudėtingumą (linijiškai nepriklausomų kelių skaičiaus matavimas per programos modulį) prieš metus, kad padėčiau man valdyti didelį C projektą su keliolika programuotojų. Džiaugiuosi matydamas, kad ši technologija įdiegta VS08 valdomam kodui.

Vis dėlto esu nusivylęs, kad nevaldomų C ++ projektų kodo metrika ir kodo atnaujinimas nėra prieinami. Kita vertus, C ++ projektai gali naudoti labai gražią skambučių naršyklę: tai suteikia jums kompaktišką kitų funkcijų, kurios iškviečia tam tikrą funkciją, ir kodo eilučių, kurios atlieka skambučius, vaizdą.

Džiaugiuosi, kad „Visual Basic“ projektuose yra kodų metrika, be galo glausta sintaksė, puiki „IntelliSense“ ir daugybė kodo fragmentų. Esu nusivylęs, kad „Visual Basic“ projektuose nėra kodo pertvarkymo, nors šią funkciją galima pridėti naudojant vieną iš kelių trečiųjų šalių papildinių.

Džiaugiuosi galėdamas pranešti, kad vieneto testavimas dabar yra „Professional Edition“ bruožas. (Tai buvo VS05 funkcija „VS05“.) Galite sukurti „C #“, „Visual Basic“ ir valdomų „C ++“ sprendimų vieneto testus ir testavimo projektus. Tai buvo galima padaryti prieš naudojant nemokamą atvirojo kodo programą „NUnit“, tačiau šiek tiek maloniau, kai įrenginio testavimo galimybė integruota į IDE.

„IntelliSense for JavaScript“ buvo vienas iš pažadėtų VS08 patobulinimų. Tai yra, bet už kainą: nors buvo pridėta „JavaScript“ rūšies, naudojamos rašant ASP.Net AJAX ir „Silverlight“, palaikymas, parama „VBScript“ ir „Classic ASP“ redagavimui buvo atsisakyta. Kadangi aš vis dar prižiūri senovinę „Classic ASP“ svetainę 1999 m., Buvau daugiau nei šiek tiek susierzinęs, kad VS08 su ASP puslapiais dirbo prasčiau nei „VS05“ arba iš tikrųjų nei „Visual InterDev 6“. iki VS08. Tuo tarpu žmonės, kurie vis dar prižiūri „Classic ASP“ svetaines, neturėtų atsisakyti esamų įrankių.

WPF, „Silverlight“ ir „Web 2.0“

Įdiegę „Silverlight SDK“ ir „Silverlight Tools for VS08“, VS08 palaiko „Silverlight“ - turtingą interneto programų technologiją, į kurią įeina WPF pogrupis. Turėjau geros patirties kurdamas „Silverlight“ programas su beta versija VS08. (Apie mano apžvalgą apie pačią „Silverlight“ žr. „Microsoft Silverlight konkuruoja su„ Flash “, AJAX.)

Išskyrus atsisakytą „VBScript“ ir „Classic ASP“ palaikymą, VS08 tinklalapio dizaino paviršius yra geresnis nei VS05; jis labai panašus į „Expression Web“ ir puikiai palaiko CSS. ASP.Net AJAX, „Windows Communications Foundation“ ir „Windows Workflow Foundation“ projektavimo paviršiai ir projektai, kurie buvo nemokami VS05 priedai, persikėlė į pagrindinį „VS08“ produktą.

„Office“ ir „Smart Device“ taikiniai

VS08 gali sukurti valdomą išmaniojo įrenginio projektą keturioms tikslinėms platformoms ir dviem „.Net Compact Framework“ versijoms „C #“ ir „Visual Basic“. C ++ versijoje VS08 gali kurti nevaldomus išmaniųjų įrenginių projektus naudodamas Win32, ATL („Active Template Library“) ir MFC („Microsoft Foundation Class“) bibliotekas; anksčiau ši galimybė buvo atskirame „Windows CE“ įrankių rinkinyje.

Likučiai

„Microsoft SQL Server Compact 3.5“ yra nauja vietinė duomenų bazė, kuri yra pakankamai maža, kad ją būtų galima įdiegti išmaniuosiuose įrenginiuose. Kūrėjai gali jį naudoti tiek savarankiškuose, tiek kartais sujungtuose scenarijuose. Kai „SQL Server Compact“ naudojamas vietinėms duomenų bazių talpykloms išsaugoti, „Microsoft Synchronization Services for ADO.Net“ rūpinasi periodiniu vietinės „Compact“ duomenų bazės ir nuotolinės duomenų bazės sinchronizavimu.

Aptikus „Team Foundation Server“ diegimą, „Visual Studio“ gali su juo integruotis. Tai leidžia programuotojui gauti darbo elementus ir atlikti registracijas, o vadybininkui - parengti tokias ataskaitas kaip čia parodyta.

Komandos sistema turi daug patobulinimų. Vienas didelis TFS elementas yra nauja „Team Build“ sistema; kita yra prieiga prie interneto. Architektai turi naują „iš viršaus į apačią“ sistemos dizainerį ir architektūrinių vaidmenų sistemą. Kūrėjai turi naują kodų metrikos sistemą, apie kurią kalbėjau anksčiau, taip pat geresnes kodo analizės ir našumo priemones. DBA turi T-SQL kodo analizę, duomenų generatorių ir pertvarkymo įrankius. Testuotojai turi geresnius įrankius ir patvirtinimo taisykles, įskaitant „Test Load Agent“.

„Visual Studio“ veikia aktyvi nepriklausomų programinės įrangos tiekėjų ekosistema. Dauguma šių pardavėjų sukuria papildinius ir valdiklius, kurie patobulina „Visual Studio“. Nauja „Visual Studio Shell“ leidžia šiems pardavėjams pristatyti atskiras savo produktų versijas, kurioms nereikia kliento pirkti tinkamos „Visual Studio“. Pritariu šiam „Microsoft“ žingsniui: manau, kad tai daro sveikesnę ekosistemą, nes tai leidžia interneto paslaugų teikėjams būti konkurencingesniems už palyginti mažas „Microsoft“ išlaidas.

Apskritai „Visual Studio 2008“ yra atnaujinimas, kurį norės atlikti dauguma „Microsoft“ orientuotų kūrinių parduotuvių, kad galėtų kurti naujas technologijas, tokias kaip WPF, WCF ir WF, bei naujoms platformoms, tokioms kaip „Windows Vista“. Tačiau tai nėra atnaujinimas, kurį lengva padaryti dalimis; Daugeliui parduotuvių patarčiau atnaujinti visus projekto kūrėjus, kai pats projektas bus sėkmingai atnaujintas. Mano patirtis rodo, kad atnaujinti projektus iš VS05 į VS08 buvo gana neskausminga, kodų perrašymo būdas buvo susijęs su labai nedaug.

Parduotuvėms, kuriose vis dar yra „Classic ASP“ svetainių, rekomenduočiau kartu su „VS05“ įdiegti „VS08“, bent jau tol, kol bus atkurta „Classic ASP“ ir „VBScript“ redagavimo funkcija. Parduotuvėms, kurios vis dar naudoja „Visual Studio .Net 2003“ ar senesnes versijas dėl pastebėtų problemų su VS05, siūlyčiau rimtai įvertinti „VS08“.

Išskyrus kelias išimtis, kiekvieno „Visual Studio“ lygio vartotojams bus patobulintas 2008 m. Leidimas. Tai stiprus atnaujinimas ir tvirtas pagrindas tolesnei plėtrai.

Rezultatų kortelė Vertė (10.0%) gebėjimas (30.0%) Spektaklis (15.0%) Plėtros paprastumas (30.0%) Dokumentacija (15.0%) Bendras rezultatas (100%)
„Microsoft Visual Studio 2008 Professional“ ir „Microsoft Visual Studio Team System 2008 Team Suite“9.010.09.09.09.0 9.3

Copyright lt.verticalshadows.com 2024

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