Šta je novo u Visual Studio 2012

This article has published in Info released in October 2012, number 177 (BH IT magazine –http://info.ba)

Tekst je izašao u Oktobarskom broju Info (Informatički magazin) – http://info.ba broj 177:

Info-Oktobar12-177

Visual Studio 2012 predstavlja najsvježiju verziju integrisanog razvojnog okruženja pomoću koga možete kreirati apsolutno sve što je vezano za razvoj programa vezanih za Microsoft tehnologije. Microsot je 25. avgusta 2012. godine izdao zvaničnu verziju za proizvođače (Release To Manufacturer) poznatiju kao RTM verzija što predstavlja i generalno završenu i zaokruženu cjelinu proizvoda. Trenuto je RTM verzija Visual Studio dostupna za sve MSDN pretplatnike. Visual Studio 2012 će za široke narodne mase biti dostupan 26. oktobra 2012. godine. Svi ostali koji su nestrpljivi mogu koristiti trial verziju Visual Studio 2012 koja je potpuno besplatna i koju je moguće koristiti u probnom periodu koji traje 90 dana.

Visual Studio 2012 dolazi u 3 osnovne verzije: Professional, Premium i Ultimate a pored toga je u ponudi i Test Professional verzija kao i potpuno besplatna Express verzija koja je ograničena sa svojim mogućnostima. Pored izdanja Visual Studio 2012, Microsoft je izdao i Team Foundation Server 2012 kao centralnu figuru u okviru Visual Studio familije proizvoda koji omogućava timovima da budu produktivniji i efikasniji u svom radu a sve u cilju izdavanja kvalitetnog programskog koda.

U okviru Visual Studio 2012 imamo veliki broj novih funkcionalnosti u odnosu na prethodnu verziju pri čemu to možemo podijeliti u sledeće katergorije:

Investiranje u produktivnost

Kada pričamo o produktivnosti, fokusiraćemo se na 3 generalne teme:

1. Prva tema su mogućnosti koje pruža samo razvojno okruženje, kako u vizuelnom pogledu tako i u okviru novih osobina koje okruženje u okviru verzije VS 2012 nudi korisnicima.

Prvi dojam koji ostavlja novo Visual Studio okruženje je vizuelni minimalistički stil kome je za cilj da se fokus usmjeri na razvoj programskog koda a da se sve ostale komande i alati na neki način potisnu u drugi plan. Novi vizuelni stil sa novim skupom alata (dinamički Toolbar) ostavlja više prostora za rad sa programskim kodom. Stavke menija su sa velikim slovima radi bolje preglednosti i uočljivosti. Smanjen je broj komandi u Toolbar i premještena su dugmad Navigate Backward i Navigate Forward na početak gdje bi i trebali da budu. Radi lakšeg praćenja statusa u kome se trenutno nalazi Visual studio, dodata je uočljiva boja Status Bar-a. Ljubičasta boja označava Default mode, svijetlo plava-Development mode – razvojno okruženje, tamno plavo-Build), naranđasta-izvršavanje programa. U okviru Visual Studio 2012 su dostupne dvije teme: svijetla i tamna verzija.

soft_VS2012_01

Funkcionalnosti koje je bitno pomenuti su koncept “pregled svugdje” koji nam omogućava da možemo pretraživati bilo šta iz bilo čega. To praktično znači da ako želimo pronaći bilo koje stavku menija ili opcije podešavanja iz Tools/Options koristićemo Quick Launch (skraćenica Ctrl+Q). Pomoću Ctrl+F dobijamo novi, redizajnirani nemodalni dijalog za pretragu programskog koda (Quick Find). Ova brza pretraga je sada nenametljiva i pruža nam mogućnost pretrage u okviru trenutne selekcije, bloka u okviru koga se trenutno nalazimo, u okviru trenutno otvorenog dokumenta, u okviru otvorenog projekta i u okviru cijelog rješenja. U okviru Solution Explorer je moguće pretraživati bilo koji objekat, klasu (Search Solution Explorer) pomoću skraćenice Ctrl+; pri čemu se prilikom unosa kriterijuma izdvajaju samo fajlovi koji zadovoljavaju unijeti kriterijum. Na ovaj način je značajno olakšan pronalazak fajla ukoliko mu znate naziv u situaciji kada nam se rješenje sastoji od velikog broja projekata i velikog broja fajlova. Pored prethodno pomenutih tipova pretrage, moguće je koristi pretragu u okviru liste grešaka (Search Error List), u okviru trenutno aktivnog skupa alata (Search Toolbox) i pretragu u novodizajniranom dijalogu za dodavanje novih referenci – Add Reference (Search Assemblies) pomoću skraćenice Ctrl+E.

Kako bi se povećala produktivnost u radu, Microsoft je uveo još par zgodnih alata u okviru razvojnog okruženja kao što su:

Open Files Filter – izborom ove opcije se u okviru Solution Explorer-a prikazuju samo fajlovi koji su otvoreni u karticama (tabs)
Preview Selected Items – mogućnost otvaranja fajla ne u kartici (tab) nego u posebnom privremenom tabu radi izbjegavanja situacije da postoji veliki broj otvorenih kartica. Kada ste pronašli odgovarajući fajl koji je prikazan u preview tab i kada počnete da vršite izmjene u tom fajlu, Visual Studio automatski konvertuje preview tab u uobičajeni tab.
New Solution Explorer View – moguće je kreirati novu instancu Solution Explorer za dio rješenja i prevući ga na npr. drugi monitor što značajno olakšava rad sa određenim dijelo programskog rješenja.

Visual Studio takođe omogućava pristup lako za postaviti add-on ekstenzije koje je kreirao Microsoft ili programerska zajednica putem Extension and Updates Manager-a. Ukoliko je došlo do izmjene ekstenzije koju koristi IDE će vas obavjestiti da postoji novija verzija. Jedna od ekstenzija koju je bitno pomenuti je NuGet Package Manager pomoću koga se mogu na jednostavan način dodavati novi paketi u okviru projekta. NuGet olakšava posao tako što automatski dodaje assemblies i vrši izmjenu konfiguracionih fajlova bez potrebe da to ručno činimo.

soft_VS2012_02

Visual Studio 2012 donosi i značajna unapređenja perfomansi što uključuje korištenje manje virtuelne memorije, učitavanje projekata asinhrono i učitavanje ključnih dijelova projekta prvo kako bi programer mogao ranije krenuti sa razvojem i na kraju korištenje resursa više-jezgarnih procesora prilikom procesa kompilacije aplikacije kako bi taj proces bio brži.

2. Druga tema je način na koji možemo da ubrzamo razvoj softverskog rješenja. Vrijeme koje je potrebno da bi se životni ciklus jednog projekta odvijao od početka tj. od razumijevanja zahtjeva za određenu funkcionalnost, izrade prototipa, preko razvoja i testiranja do postavljanja rješenja postaje sve kritičniji za uspješan ili neuspješan razvoj projekta te je veoma bitan skup alata koji omogućavaju da se posao odradi što je moguće brže i efikasnije.

Ključnu ulogu u ovom procesu čini Team Foundation Server 2012 i njegova Cloud verzija Team Foundation Service (http://tfspreview.com) što predstavlja online software-as-a-service (SaaS) verzija Team Foundation Server.

soft_VS2012_03

Visual Studio pojednostavljuje povezanost između članova tima i uloga koje imaju pojedini članovi tima dok Team Foundation Server 2012 služi kao centralno mjesto na kojem se nalazi skup alata i procesa koji omogućavaju upravljanje cjelokupnim razvojem softvera (Application Lifecycle Management). Ono što Team Foundation Server/Servise omogućava su:

Source code management-Prilikom razvoja programa programski kod se mijenja u toku razvojnog procesa od strane jednog ili više članova tima te je prilikom rada u timovima potrebno pratiti te izmjene i vršiti verzioniranje svakog fajla u okviru projekta. Ukoliko se ne bi pratile istorijske izmjene kao i verzije koda može se desiti da ukoliko na istom dijelu koda rade dva člana tima, da dođe do poništavanja izmjena od strane jednog od članova tima. Danas se ne može zamisliti timski razvoj softvera bez menadžmenta programskog koda.

soft_VS2012_04

Team collaboration and agile planning-Sadrži skup alata za prikaz različitih informacija putem prikaza aktuelnih grešaka u programu, rezultata testova, build statusa, dodjeljenih zadataka. Pored toga nudi niz alata za agilno planiranje projekata putem dostupnih agilnih metodologija kao što su: Scrum, Agile ili CMMI.

soft_VS2012_05

Build, Test, Deploy-Pomoću Team Foundation Server/Service možete raditi build i testiranje u redovnim vremenski intervalima ili u bilo koje vrijeme koje to timu odgovara (automatski noćni build kao i puštanje zadatih testova prilikom build procesa) kako bi u svako doba na jednom centralizovanom mjestu postojala verzija rješenja koja je ispravna i bez grešaka. Na taj način će biti i pojednostavljen proces postavljanja rješenja u produkciju (Deploy).

Velika prednost Cloud rješenja je ta što omogućava veoma jednostavno uključivanje članova tima koji se nalaze van organizacije koja razvija programsko rješenje (naručioci rješenja ili kupci) te je na taj način omogućeno praćenje izvršavanja zadataka u skladu sa zahtjevima kupca.

Visual Studio 2012 i Visual Studio Team Foundation Server 2012 su projektovani da funkcionišu zajedno. S druge strane, određeni timovi mogu da koriste druge razvojne alate kao što je “Eclipse”. Visual Studio Team Foundation Server 2012 obezbjeđuje adaptere za pristup podržanim IDE okruženjima kako bi svaki od programera radio u svom omiljenom razvojnom okruženju. Ovi adapteri funkcionišu i u Team Foundatiion servisima.

3. Treća tema je skup alata koji nam omogućavaju da proizvedemo bolji kod a to je moguće ostvariti ukoliko detaljno testiramo naše rješenje. Alati koji su na raspolaganju u okviru Visaul Studio 2012 su: Microsoft Test Manager 2012, Lab Management i Test Explorer.

Takođe je u novoj verziji Visual Studio 2012 moguće koristiti adaptere za rješenja nezavisnih proizvođača za testiranje (3rd party unit testing frameworks) kao što su xUnit.net ili NUnit. Novi Test Explorer prikazuje sve testove za rješenje bez obzira koji se testni framework koristi. Visual studio 2012 nastavlja podršku i za standardne Unit testove kreirane pomoću Visual Studio Testing Framework.

Pored ove tri teme vrijedno pomena je mogućnost rada više članova tima nad istim projektom koristeći različite verzije Visual Studio, tačnije omogućena je kompatibilnost između postojeće verzije Visual Studio 2012 i prethodnih verzija okruženja. To znači da otvaranjem projekta koji je kreiran pomoću Visual Studio 2010, novi Visual Studio 2012 ne mijenja format fajla od fajla rješenja ili projekta (.sln i .csproj fajlovi za C# rješenje) a ukoliko je potrebno da se vrši izmjena projekt fajla (.csproj) to ne utiče na kompatibilnost između različitih verzija Visual Studio.

Kreiranje aplikacija za Windows 8

Visual Studio 2012 sadrži skup alata pomoću kojih možete kreirati aplikacije za Windows 8 od šablona, do dizajniranja, testiranja i debagiranja. Pomoću Visual Studio 2012 možete kreirati Windows Store aplikacije (Metro-style) koje koriste Microsoft WinRT API, potom klasične Desktop aplikacije, 2D i 3D igre (moguće debagiranje DirectX grafike, kreiranje DirectX shaders, provjera i manipulacija sa grafičkim objektima kao što su slike i modeli) i kreiranje drajvere za Windows. U okviru Visual Studio 2012 instalacije dolazi i alat Blend (Blend for Visual Studio) koji se koristi za proces dizajniranja aplikacije uz pomoć HTML/CSS i XAML pri čemu je u procesu razvoja programa moguće naizmjenično otvarati programsko rješenje u Visual Studio ili u Blendu.

soft_VS2012_06

soft_VS2012_07

S obzirom na broj PC računara u svijetu koji će u skorijoj budućnosti raditi pod Windows 8 operativnim sistemom kao i broj zemalja koji će putem Windows Store moći prodavati i kupovati aplikacije otvaraju se neslućene mogućenosti prodaje aplikacija putem Windows Store što razvoj aplikacija za ovaj operativni sistem čini izuzetno atraktivnim.

Kreiranje aplikacija za Cloud i Web

Kako bi koristili razvoj za Cloud potrebno je instalirati Windows Azure SDK for .NET. Unapređenja za rad za Cloud su podrška za distibuirano keširanje, nove opcije publish-ovanja, novi šabloni kao i manji instalacioni fajl, unaprijeđena provjera Windows Azure paketa. Pomoću Team Foundation Servise koji se vrti u Widnows Azure moguće je obezbijediti continuous integration i continuous deployment.

soft_VS2012_08

Za razvoj Web rješenja Visual studio 2012 i .NET framework 4.5 nude nove šablone, unapređenja u okviru HTML i CSS editora, unapređenja web optimizacije (minification and bundling), novi alati za publish, novi DOM explorer, JavaScript konzola, JavaScript razvoj sa poboljšanim IntelliSensom, podrška za skript engine ECMAScript5 koji predstavlja poslednji standard koji opisuje JavaScript jezik, novi Page Inspector pomoću koga možete na jednom mjestu u okviru Visual Studio izvršiti analizu web aplikacije.

soft_VS2012_09

Kreiranje poslovnih aplikacija

Pomoću LightSwitch-a možete kreirate poslovne aplikacije za Desktop ili Cloud. Od verzije Visual Studio 2012 LightSwitch dolazi kao sastavni dio instalacije a ne kao do sada u vidu posebne instalacije. Najveća novina u okviru nove verzije je podrška za rad sa OData. Sada je moguće koristiti bilo koji Odata izvor podataka ali isto tako na vrlo jednostavan način od postojećih entiteta u okviru LightSwitch aplikacije kreirati OData izvor podataka (OData Producer).

U okviru LightSwitch-a je uključena nova tema (Cosmopolitan Theme), u ponudi su novi poslovni tipovi (Percent i Web Address), nova kontrola Group Box. Poboljšan je proces postavljanja LightSwicth aplikacije uz pomoć Visual Studio 2012 na IIS i u Azure. Uključena je integracije LightSwitch sa Active Directory na taj način što je omogućeno kreiranje Active Directory Security Group kako bi se olakšala administracija kontrole pristupa u okviru poslovne aplikacije. Da bi se omogućilo izvršavanje LightSwitch aplikacije na bilo kom mobilnom uređaju u toku je razvojna faza HTML klijenta koji je zasnovan na HTML5 i JavaScript. Do sada je bilo moguće izvršavati LightSwitch aplikacije kao Silverlight 4.0 aplikaciju u okviru Browser-a ili kao Desktop varijanta. Sa novim HTML klijentom će LightSwitch upotpuniti postojeću potrebu za poslovnim aplikacijama koje su pokretane dodirom i koje će se moći izvršavati na mobilnim uređajima. HTML klijent će biti dostupan u okviru Visual Studio 2012 kao add-on.

soft_VS2012_10

Razvoj rješenja za SharePoint je u novoj verziji obogaćen sa novim dizajnerom listi i Content tipova, novim šablonom za Site Column, novi Silverlight Web Part koji omogućava lako postavljanje Silverlight aplikacije u okviru SharePoint rješenja i jednostavno postavljanje na SharePoint server. Visual Web Parts podržavaju sandbox rješenja za razliku do sada kada ste bili limitirani samo na postavljanje Visual Web Parts u okviru iste farme bez instalacije dodatnih alata koji su to omogućavali. U okviru nove verzije je moguće postavljanje SharePoint rješenja na Remote Server. Novi dijalog za Publish proces omogućava postavljanje rješenja na SharePoint bez obzira da li se radi o lokalnom ili udaljenom serveru ili da se radi o Office 365 ili on-premises serveru. Razvoj klijentske strane je unapređen sa podrškom za JavaScript debagiranje te je unapređena podrška za IntelliSense.

Microsoft je sredinom jula 2012. godine objavio novi aplikacioni model za Office i Sharepoint 2013(Office cloud app model) što omogućava postavljanje aplikacija u Cloud kao i skup web tehnologija pomoću kojih možete razvijati ovakva rješenja. Da bi sve ovo bilo moguće, potrebno je da pored Visual Studio 2012 koristite i Microsoft Office Developer Tools za Visual Studio koji se nalazi u Preview razvojnoj fazi.

Novosti u programskim jezicima

U svakom od programskih jezika postoji niz novosti od koji je sigurno najznačajnija podrška za asinhrono programiranje u okviru programskih jezika C# i Visual Basic. Uvedene su dvije nove ključne riječi async i awaitkoje omogućavaju kreiranje dijelova programskog koda koji radi asinhrono a koji izgleda skoro isto kao dio koda koji se ponaša i izvršava sinhrono.

soft_VS2012_11

Svaka metoda koja sadrži dio koda koji radi asinhrono mora da sadrži ključnu riječ async dok se ispred funkcionalnosti koji radi asinhrono mora postaviti ključna riječ await.

Pomoću asinhronog izvršavanja od strane kompajlera, ne blokira se UI Thread i na taj način dobijamo aplikacije koje ako rade zahtjevnu operaciju, ne blokiraju izvršavanje programa i program reaguje na akcije.

Novosti u programskom jeziku C++ su da je u okviru Visual Studio 2012 uključena C++ 11 standard biblioteka a što se tiče novih osobina jezika tu su Stateless lambda izrazi, SCARY iteratori, Range-based for petlje, Scoped enumeratori kao i podrška za paralelno programiranje (C++ Accelerated Massive Parallelism).

Visual F# u okviru Visual Studio 2012 predstavlja verziju F# 3.0 u okviru koga su predstavljene novosti kao što su Type Providers koji generišu tipove u odnosu na strukturu podataka što omogućava lakši pristup određenim izvorima podataka, OData servisi, konekcije na bazu, pristup šeme baze, Entity Data Model format podataka, Web servisi u WDSL formatu. Pored Type Providers, F# omogućava LINQ upite za F# kao i Auto-implemented properties.

ASP .NETdonosi niz novosti kako što su Client-side validation (podrška za JavaScript validaciju forme za ASP.NET web forme), CDN fallback support (podrška za učitavanje resursa sa content delivery network-CDN kako bi se ubrzalo učitavanje stranice), puna podrška za HTML5 što uključuje i semantičke elemente kao što su email, tel i url, OAuth i OpenID podrška (omogućava kreiranje sajtova i pristup istim pomoću kredencijala sa Facebook, Twitter, Microsoft naloga), IIS Express kao default web server za debagiranje web aplikacija, Local DB koja se pokreće u kontekstu trenutnog korisnika (osobine Local DB saglasne sa SQL Server i SQL Azure bazama što olakšava migraciju podataka iz razvojnog okruženja u produkciju).

Razvoj Windows Phone 8 aplikacija

Visual Studio 2012 će omogućiti razvoj za Windows Phone 8 platformu onog momenta kada bude dostupan SDK koji će biti moguće koristiti kako u Express verziji tako i u bilo kojoj komercijalnoj verziji Visual Studio 2012 kao besplatna nadogradnja.

Novine za Windows Phone 8 razvoj su podrška za razvoj pomoću C++, mogućnost targetiranja Windows Phone 7.x i 8 aplikacija, podrška za Company Hub i LOB app deployment (mogućnost postojanja Marketplace u okviru kompanije te mogućnost dostavljanja aplikacije putem SharePoint sajta, web sajta ili emaila), unaprijeđen multitasking, in-app purchase.

About Spaso Lazarevic

Spaso Lazarevic is Senior Software Developer working with Microsoft technologies. Leader of .NET User Group Bijeljina, speaker at Microsoft events, writter and blogger. Microsoft MVP for Visual C#.
This entry was posted in IT Magazine and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s