OREA Hotel Voron and Top Hotel Praha to Host CZ TechDays Twitter Event

OREA Hotel Voron and Top Hotel Praha to Host CZ TechDays Twitter Event
paly

On March 5th and 6th 2012, two top hotels, OREA Hotel Voron in Brno and Top Hotel

About OREA Hotel Voron and Top Hotel Praha to Host CZ TechDays Twitter Event

PowerPoint presentation about 'OREA Hotel Voron and Top Hotel Praha to Host CZ TechDays Twitter Event'. This presentation describes the topic on On March 5th and 6th 2012, two top hotels, OREA Hotel Voron in Brno and Top Hotel. The key topics included in this slideshow are . Download this presentation absolutely free.

Presentation Transcript


Slide1OREA HotelVoroněž  I Brno 5. – 6. 3. 2012 Twitter hashtag: #cztechdays

Slide2Top HotelPraha 7. – 8. 3. 2012 Twitter hashtag: #cztechdays

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

Slide4. 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

Slide5Historie .NET frameworku2002 2003 2005 2008 2010 2012 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

Slide6Inkrementá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

Slide7Zí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í

Slide8private 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; } S ynchronn í volání

Slide9private 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í

Slide10.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

Slide11.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

Slide12čistší design – méně barev, méně bižuterie, čisté tvary http://blogs.msdn.com/b/visualstudio/archive/2012/02/23/introducing-the-new-developer-experience.aspx 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

Slide13DEMOProstředí VS 11

Slide14.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

Slide15VS 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 ů

Slide16HTML 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

Slide17Mož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 (EmailAddress, CreditCard, …) Novinky v ASP.NET runtime

Slide18Podpora HTML5 Nov é šablony projektu s adaptací na šířku/schopnosti zařízení  WebForms 2.0 podpora pro TextBox (Email, 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

Slide19DEMONovinky pro webové vývojáře

Slide20.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

Slide21team 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…

Slide22Orientované 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í

Slide23Vybudována nad funkčností Shelve/UnshelveUmožň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

Slide24DEMONové uživatelské rozhraní Přepínání kontextu

Slide25.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

Slide26Najděte 12 rozdílů …

Slide27existující nástroj pro porovnávání a slučování verzí jezastaralý 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…

Slide28Integrovaný do prostředí Visual StudiaRů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

Slide29Subversion 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…

Slide30Subversion 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ší

Slide31Local 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

Slide32DEMOPorovnávání a slučování Práce v offline režimu

Slide33.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

Slide34Unit 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…

Slide35Nová architektura

Slide36Nezá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í

Slide37DEMONové UI pro unit testy

Slide38.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

Slide39Ideá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…

Slide40hledá sémanticky (nikoliv pouze textově) podobné blokykó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

Slide41DEMOCode Clone

Slide42zajistě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