Kolejne omówienie, kolejnej sesji z konferencji BUILD – tym razem temat to:
What’s next in .NET Framework 4.5
Chyba każdy programista .NET, nawet taki, który traktuje to tylko jako zawód (są tacy? :)) z zainteresowaniem śledzi wydarzenia w .NET Frameworku. W końcu zmiany w nim będą rzutować na to w jaki sposób będzie kodował w przyszłości (chyba, że jest uwięziony w jakimś legacy code z .NET 2.0). Sesja zaprezentuje nam jakie oręże będzie dostępne już w niedalekiej przyszłości na potrzeby pisania aplikacji w .NET.
Wersje
Sesja rozpoczyna się od zaprezentowania czym jest .NET Framework 4.5. W przeciwieństwie do wersji 4.0, 4.5 nie jest wersją side-by-side a nadbudową (choć ja bym nazwał to hybrydą). Po części rozszerzającą dostępne rzeczy, które znajdują się w 4.0 ale także zastępuje część funkcjonalności z poprzedniej wersji.
Wersje .NET |
Zmiany, które zostały wprowadzone do wersji .NET to głównie poprawki błędów, poprawa wydajności czy też zmiany we wnętrznościach.
WinRT & Metro
Kolejnym elementem zaprezentowanym podczas sesji jest WinRT. WinRT czyli nowy framework pisania aplikacji, który nie zastępuje .NET framework’a. Umożliwia pisanie aplikacji Metro, bez konieczności odwoływania się do p/invoke’a. Jest to oczyszczone (z metod, które wyszły z użycia) oraz uporządkowane API, które w naturalny sposób przypomina pisania aplikacji przy użyciu .NET.
Umiejscowienie WinRT oraz Metro |
Metro – to zaprezentowany na konferencji nowy wygląd aplikacji dla Windows 8. Podobny do aplikacji tworzonych na Windows Phone 7.
Ulepszenia
Oczywiście nie mogło zabraknąć async oraz await. Jeśli ktoś ma już dość tego tematu, może spokojnie przewinąć gdzieś pomiędzy 17 a 20 minutą.
Następnie pojawia się informacja o ciekawym usprawnieniu TPL czyli Task Parallel Library. Dostaniemy możliwość tworzenia przepływów zadań (TPL Dataflow). Będziemy mogli stworzyć bloki zadań i z nich stworzyć przepływ a następnie zasilić je danymi.
TPL Dataflow |
Poza tym, Task.WhenAll, Task.WhenAny oraz oczywiście przyśpieszenie działania.
Szybszy start ASP.NET
Dużo mniejsze zużyci pamięci oraz szybszy start aplikacji (ponoć o 35%). Przyśpieszenie zostało osiągnięte przez JIT-owanie na wielu rdzeniach w tym samym czasie. Dodatkowo można włączyć opcję ‘pre-fetch’ w Windows 8, która to dodatkowo poprawia wydajność aplikacji ASP.NET (multi-core JIT + pre-fetch daje w sumie 35% przyśpieszenia).
Lepszy dostęp do danych – EF, ADO.NET, WCF, Websockets
Omówienie schematu tworzenia dostępu do danych. W EF do dotychczas dostępnego Model-First oraz DataBase-First zostało dodane Code-First. Czyli na podstawie kodu tworzony jest model danych. Usprawnienia do EntityFramework wspierające Enum, wspracie dla Azure’a oraz automatycznie kompilowane zapytania LINQ.
Stare dobre ADO.NET dostało wsparcie dla typów przestrzennych (spatial) oraz oczywiście wsparcie dla async.
WCF wzbogacone o async (a jak!) oraz uproszczenia jeśli chodzi o konieczną konfiguracje usług.
Omówienia Websockets dostępnych w IE10, .NET oraz w aplikacjach typu Metro.
WPF, Workflow, BCL, MEF, ASP.NET
Omówienie usprawnień w powyższych technologiach. Szczególnie interesująco wyglądają usprawniania dla ItemsControl. Według zapewnień 200000 elementów będzie możliwe do załadowania w 2.3 sekundy. Wygląda imponująco. Zobaczymy.
Workflow w najnowszej wersji udostępnia wprowadzanie wyrażeń w C#. Dostępne będzie wersjonowanie, dzięki któremu będziemy mogli mieć kilka wersji danego flow dostępne.
BCL – usprawnienia w WeakReferences, które zabezpiecza przed pisaniem nieprawidłowego kodu związane z ‘race condition’.
Strumienie zostały wzbogacone o opcję umożliwiającą niezamykanie strumienia po skończonym odczycie z niego. Pojawił się nowy typ ReadOnlyDictionary 🙂
Co nowego w MEF? Łatwiejsze diagnozowanie błędów oraz obsługa typów POCO oraz typów generycznych.
ASP.NET? – Obsługa chmury oraz HTML5. Pojawiły się Model Binder’y znane z MVC. Dodatkowo encoder’y zabezpieczające przed XSS’em.
Podsumowując
Sesja interesująca, ale jako wstęp do oglądania kolejnych. Zawiera informacje odnośnie nowości z .NET Framework 4.5 ‘z lotu ptaka’.
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl