.NET 4.5 RC – noutăți mai “obscure”

.NET Framework 4.5 urmeaza să fie lansat in curand, odată cu Visual Studio 2012 și probabil Windows 8 – toată lumea vorbește de noutătile legate de Metro, WinRT, ASP.NET WebAPI, WebSockets, async programming dar mult mai rar am găsit ceva interesant despre alte chestii noi sau modificate în noua versiune, dar mai puțin vizibile.
Din lista acestor modificari si new stuff (http://msdn.microsoft.com/en-us/library/ms171868(v=vs.110).aspx), mi s-au parut oarecum interesante:

  • suport pentru arrays mai mari de 2GB (pe sisteme 64-bit) – e interesant că cineva undeva chiar are nevoie de așa ceva (cazuri în care datele nu pot fi prelucrate pe bucăți)
  • suport pentru Unicode 6.0 (in Win8) – ce înseamnă pentru mine, e că rezultatul sortării unei colecții de stringuri poate să difere în funcție de sistemul de operare folosit, chiar dacă e aceeasi versiune de .NET
  • MEF – convention-based part registration (altfel spus, convention over configuration pentru scenarii simple de DI)
  • Suport in ASP.NET WebForms pentru unele input types din HTML5: <asp:TextBox … TextMode=”Email” … > – chestia asta e utilă mai ales la web sites optimizate pentru smartphones din noua generație, a.î. hopefully când trebuie să introduc un email sau phone number, on-screen keyboard-ul să fie optimizat pentru ceea ce vreau să introduc.
  • În sfârșit – email address validation built-in the framework – nu că ar fi greu de implementat, dar fiecare developer are propriul regexp pentru validarea unui email, așa că prefer să scriu doar:

    [EmailAddress]
    public string CustomerEmail { get; set; }
    într-o aplicație ASP.NET MVC.
  • WPF ribbon în sfârșit e inclus in framework, și se pare că au renunțat la toate acele clauze de licențiere ciudate
  • INotifyDataErrorInfo – era timpul pentru o interfață mai smart decât bătrânul IDaatErrorInfo, comună între Silverlight și WPF
  • ?singleWSDL – aș fi vrut acum câteva luni să pot genera un singur WSDL pentru un web service WCF
  • un WCF service poate fi configurat din cod mult mai ușor
  • State machine workflows se întorc în WF dupa ce au fost scoase mai demult

Din lista de mai sus lipsește Entity Framework, care va fi released cu un ritm separat față de framework, și asta e bine.

Se pare că în 4.5 au profitat de ocazie si au marcat ca obsolete sau deprecated ceea ce oricum nu mai aveau de gând să dezvolte on continuare:

  • OracleClient
  • suport pentru peer-to-peer network applications in WCF
  • passport authentication (inlocuit cu live ID) – a trecut vremea cand Microsoft zicea că Passport authentication “is ză future” 🙂
  • System.Web.Mail (era și timpul)
  • System.Web.Mobile – am avut o tentativă sa-l folosesc acum vreo 8 ani – era prea utopic pentru a avea vreun viitor, la cât de diverse erau pe vremea aia browserele pe mobile (anyone remembers WML si WAP?)
  • System.Workflow.* din .NET 3.0 – un alt exemplu de schimbare bruscă a macazului la MS, nu fără motive întemeiate
  • Microspft.VisualBasic.Compatibility – să sperăm ca până la ora actuală cine a vrut să-si porteze aplicațiile VB6, a terminat 🙂 (și cine a rămas cu aplicația pe VB6 poate a făcut o alegere bună, VB6 runtime fiind încă supported pe Windows 8, spre deosebire de .NET 1.0 )

Un poster cu what’s new am găsit la: http://www.heikniemi.net/hardcoded/wp-content/uploads/2011/10/WhatsNewNET45-en.png

O concluzie? .NET Framework a ajuns, așa cum era de așteptat, la maturitate, chestii revolutionare nu mai apar peste noapte, la cele existente se șlefuiesc colțurile, iar MS impinge puternic noul val de tehnologii (WinRT etc..).
What’s new de mai sus pot părea chestii minore, dar orice pas înainte contează pentru cine se luptă cu acea tehnologie zi de zi in aplicații reale.

Advertisements
This entry was posted in .NET 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