Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

OREA Hotel Voroněž I Brno 5. – 6. 3. 2012 Twitter hashtag: #cztechdays.

Podobné prezentace


Prezentace na téma: "OREA Hotel Voroněž I Brno 5. – 6. 3. 2012 Twitter hashtag: #cztechdays."— Transkript prezentace:

1 OREA Hotel Voroněž I Brno 5. – Twitter hashtag: #cztechdays

2 Top Hotel Praha 7. – Twitter hashtag: #cztechdays

3 Michael Juřek, Architect Evangelist Štěpán Bechynský, Developer Evangelist VS 11 – novinky pro vývojáře Twitter hashtag: #cztechdays

4 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

5 Historie.NET frameworku Verze na stejném řádku mají stejný runtime.NET 4.5 při instalaci nahrazuje.NET 4 Dřívější rozdělení na Client + Extended se mění na jednu instalaci Full

6 Inkrementální vylepšení ve všech technologiích:  Základní třídy  ASP.NET (více dále)  WF  WCF  WPF  Entity Framework Inovace v jazycích – podpora pro asynchronní volání.NET Framework 4.5

7 Získávají rostoucí popularitu, neboť:  Umožňují snáze využít dostupná jádra procesoru  V klientských aplikacích zabraňují „zamrznutí“ aplikace během obsluhy událostí (v Metro aplikacích povinné)  V serverových aplikacích zvyšují škálovatelnost, brání vyčerpání threadů Asynchronní volání jsou v.NET frameworku od verze 1.0…  … ale jsou neintuitivní a vedou k těžko čitelnému kódu Async/await v C# a VB.NET nabízí snadná asynchronní volání Asynchronní volání

8 private void button1_Click(object sender, RoutedEventArgs e) { WebClient wc = new WebClient(); string content = wc.DownloadString( new Uri("http://some.slow.website/")); this.label1.Text = content.Length; } Synchronní volání

9 private async void button1_Click(object sender, RoutedEventArgs e) { WebClient wc = new WebClient(); string content = await wc.DownloadStringTaskAsync( new Uri("http://some.slow.website/")); this.label1.Text = content.Length; } Asynchronní volání

10 .NET framework 4.5 je nadmnožinou verze 4.0  Zcela bezproblémový přechod zaručen Pro.NET framework 4.5 lze vyvíjet pouze ve VS 11 Pro.NET framework 4.0 a nižší lze vyvíjet ve VS 2010 i 11  Stejný formát souborů (.sln,.csproj), žádný upgrade Možnost paralelního běhu VS 11 a předchozích verzí Přechod na verzi 4.5

11 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

12 Čistší design – méně barev, méně bižuterie, čisté tvary  Zjednodušené panely nástrojů = více místa pro kód  Na základě telemetrických měření ve VS2010  Kdo někdy kopíroval kód pomocí tlačítek Copy/Paste? Nové okno Solution Exploreru s více funkcemi Hledání všude:  Menu, nalezené chyby, solution explorer, reference, … Lepší práce s otevřenými soubory – pinování, preview, … V jednoduchosti je krása

13 DEMO Prostředí VS 11

14 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

15 VS 2010  CSS 2.1, žádný JavaScript, žádné HTML 5 VS 2010 SP1  Základní elementy v HTML 5 (header, video, section, …) VS 2010 SP1 + Web Standards Update  CSS 3.0 properties, všechny HTML 5 elementy, částečně EcmaScript5 (geolocation, DOM storage, selectors) VS 11  100% CSS 3.0, 100% HTML 5, 100% EcmaScript 5, aktualizované ASP.NET (Web Forms i MVC) Podpora web standardů

16 HTML  Automatická detekce DOCTYPE  Inteligentnější editor – např. změna uzavíracího tagu CSS  Komentáře, odsazování  Editor barev JavaScript  Komentáře, odsazování  Lepší IntelliSense  Využití NuGet pro závislosti na známých JavaScript knihovnách Page Inspector – serverový i klientský pohled současně Vylepšená práce s kódem

17 Možnost asynchronního provádění operací  Výrazné zvýšení škálovatelnosti, minimální úprava kódu Univerzální poskytovatelé Membership/Profile/Role/Session  Závislost na Entity Frameworku, nikoliv na SQL Serveru Optimalizace rychlosti načítání stránek:  Minimalizace a slučování statických souborů (.js,.css) Inkrementální upload (> 2 GB) Jemnější kontrola nad validací stránek Podpora pro anotace dat ( Address, CreditCard, …) Novinky v ASP.NET runtime

18 Podpora HTML5  Nové šablony projektu s adaptací na šířku/schopnosti zařízení  WebForms 2.0 podpora pro TextBox ( , Number, …) Validace na úrovni vstupního prvku (TextBox.AllowHtml) Podpora pro typy/IntelliSense při data-bindingu Model Binding – metody v kódu stránky pro práci s daty  Podpora anotací dat a deklarativních parametrů metod Validace bez in-line JavaScriptu Vylepšený editor v režimu Source  Podpora pro události a vizuální designéry  Extrakce fragmentu stránky do User Controlu Novinky v ASP.NET Web Forms

19 DEMO Novinky pro webové vývojáře

20 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

21 Team Explorer je se svojí stromovou strukturou příliš nepřehledný  Je obtížné najít to, co hledám  Neposkytuje vodítko pro pracovní postupy Je snadné se ztratit, např. založit pracovní položku v jiném týmovém projektu Není podpora pro paralelní práci na více úlohách:  Shelveset řeší jenom část problému Slyšeli jsme…

22 Orientované na úlohu a kontext  Vždy pracuji s jediným týmovým projektem Vylepšená uživatelská zkušenost:  Nemodální, asynchronní, „líné“ provádění akcí Domovská stránka projektu jako rozcestník My Work jako kompas Specializované stránky pro každý subsystém:  Zdrojové kódy, pracovní položky, buildy, reporty dokumenty Fulltextové hledání v pracovních položkách Nové uživatelské rozhraní

23 Vybudována nad funkčností Shelve/Unshelve Umožňuje:  Dočasně sbalit a odsunout nedodělanou práci  Uložit aktuální nastavení prostředí  Udělat jinou práci (např. opravit urgentní chybu)  Obnovit předchozí kontext (změny jsou automaticky sloučeny)  Pokračovat v předchozí práci Funkce přepínání kontextu

24 DEMO Nové uživatelské rozhraní Přepínání kontextu

25 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

26 Najděte 12 rozdílů …

27 Existující nástroj pro porovnávání a slučování verzí je zastaralý Existující nástroj postrádá integraci do prostředí Jediný způsob vizualizace nevyhovuje všem lidem a všem situacím Musíme kupovat nástroje třetích stran Množství konfliktů při paralelním vývoji je příliš velké Slyšeli jsme…

28 Integrovaný do prostředí Visual Studia Různé typy pohledů na kód Vertikální/horizontální rozdělení Integrace okna do Visual Studia:  IntelliSense, zvýrazňování syntaxe, Undo, … Navíc: zlepšená inteligence při řešení konfliktů  Větší procento konfliktů vyřešeno automaticky Nový rozdílový nástroj

29 Subversion funguje lépe v offline režimu  Neotravuje s chybovými hlášeními  Mohu vidět poslední verzi a porovnat se s ní  Mohu zrušit změny a vrátit se zpět TFS nefunguje ideálně v offline režimu  Nepraktické přepínání online/offline  Obtěžující read-only atributy souborů TFS se obtížně používá s neintegrovanými nástroji (např. TFS nezjistí vymazání souboru ve Windows Exploreru) Slyšeli jsme…

30 Subversion nefunguje lépe, ale funguje jinak  TFS 2010 používá přístup Checkout-Modify-Commit  Subversion používá princip Modify-Merge-Commit Modify/Merge/Commit nabízí větší flexibilitu…  Snazší použití, zejména pro začátečníky  Velmi dobrá offline zkušenost … výměnou za horší kontrolu  Nelze sledovat kdo co dělá  Lze zahájit operaci, kterou nepůjde dokončit (např. existuje zámek)  Větší potenciál vzniku konfliktů  Neškáluje dobře s velmi velkou bází souborů Realita je složitější

31 Local workspace (styl Subversion)  Výborná funkce v offline režimu  Komfortní a pohodlná práce Server workspace (styl TFS 2010)  Extrémní škálovatelnost  Dokonalá kontrola V obou případech nižší počet konfliktů a problémů  Automaticky slučitelné změny sloučeny bez potvrzení  Vylepšený algoritmus detekce změn Možnost volby v TFS 11

32 DEMO Porovnávání a slučování Práce v offline režimu

33 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

34 Unit testy jsou doporučenou praktikou napříč všemi moderními metodikami - pomáhají vývojářům, pomáhají kvalitě produktu  Neměly by být vnímány jako „práce navíc“, ale… Unit testy ve VS jsou pomalé Uživatelské rozhraní není dobré  Zaměřeno spíše na testery než na vývojáře Podpora ve VS pouze pro MSTest, co ostatní frameworky? Chceme unit testy i pro nativní kód Chcecme „oficiální“ mockovací framework od MS Slyšeli jsme…

35 Nová architektura

36 Nezávislé na testovacím frameworku:  MSTest pro managed kód (C#, VB.NET)  Možnost pro třetí strany – adaptéry (NUnit apod.) Kontinuální testování na pozadí po úspěšném buildu Redukce a přepracování uživatelského rozhraní:  Unit Test Explorer – rychlé, přehledné UI zaměřené na vývojáře  Code Coverage Results (nově i pro nativní kód) Integrovaný mockovací framework Fakes (dříve Moles) Unit testy s menší režií

37 DEMO Nové UI pro unit testy

38 .NET framework a jazyky Vylepšení IDE Vývoj webových aplikací Zjednodušené UI pro TFS orientované na úlohy Verzování kódu Unit testy Code Clone Agenda

39 Ideální kód:  Využívá návrhové vzory  Neobsahuje duplicity  Každá chyba se v něm vyskytuje pouze jednou  … neexistuje  Reálný kód:  Množení chyb metodou Copy/Paste Neslyšeli jsme, ale víme…

40 Hledá sémanticky (nikoliv pouze textově) podobné bloky kódu Nalezení duplicitního kódu v řešení  Ideální cíle pro refactoring Při nalezení problému najde podobné bloky kódu  Eliminace chyb namnožených kopírováním Code Clone

41 DEMO Code Clone

42 Zajistěte si nové Visual Studio formou existující MSDN subskripce:  Zjednodušené UI orientované na úlohy  Porovnávání verzí, slučování změn  Přerušení práce  Vývoj v offline režimu  Analýza kódu  Revize kódu  Code Clone Závěrem


Stáhnout ppt "OREA Hotel Voroněž I Brno 5. – 6. 3. 2012 Twitter hashtag: #cztechdays."

Podobné prezentace


Reklamy Google