.NET: Què és i com funciona

El llançament de la plataforma .NET va ser anunciat oficialment per primera vegada per Microsoft l’any 2000. Però, dos anys després, el framework es va llançar com a part de Visual Studio .NET.

La importància de cada tecnologia que inclou la plataforma ha canviat significativament amb el temps. En aquest article coneixeràs tota l’evolució de .NET i les seves característiques principals.

Què és .NET?

.NET és una plataforma d’aplicacions que permet la creació i execució de serveis web i aplicacions d’Internet.

En la plataforma de desenvolupament es poden utilitzar una sèrie de llenguatges, implementacions, eines i biblioteques per al desenvolupament de les aplicacions.

En definitiva, és avui dia la plataforma de desenvolupament de programari més usada per a nous projectes de desenvolupament de programari a més de Java.

Microsoft .NET és una col·lecció de diferents plataformes de programari de Microsoft. El framework original va ser desenvolupat com una competència directa a la plataforma Java.

Així doncs, els entorns d’aplicació poden ser desenvolupats i executats sobre la base de .NET.

Fins aproximadament 2003, el terme .NET va servir a Microsoft com a terme de màrqueting i com a paraula de moda per a productes nous, però molt diferents, com a sistemes operatius, servidors i programari d’oficina.

Més tard, el terme es va concentrar en el desenvolupament de programari.

Inicialment no va tenir molt d’èxit, però l’entorn .NET ha canviat significativament al llarg dels anys i ha guanyat en importància.

Avui dia, el framework .NET s’ha tornat indispensable en la pràctica diària.

Components de l’Arquitectura .NET

Els components de l’arquitectura .NET juguen un paper important en el desenvolupament d’aplicacions.

Els podem classificar en: el clàssic .NET Framework, que és un framework monolític, el més actual .NET Core framework, que és modular, la plataforma Xamarin i l’específica de Windows UWP

1. Implementacions

.NET Framework està dividit en diferents subcategories i categories de programes i, per tant, conté diferents models d’execució entre els quals l’usuari ha de triar en desenvolupar el programari.

La base del desenvolupament és la biblioteca de classes, que ha estat disponible en general com a font compartida des de 2014.

L’anomenada biblioteca de classes base permet el desenvolupament d’aplicacions no sols per a entorns Windows, sinó també per a plataformes com Android o MacOS.

Aquesta plataforma de desenvolupament s’utilitza normalment per a crear aplicacions de windows, windows movile, windows server, etc. amb Asp.net, WPF i Windows Forms

D’altra banda, .NET Core és una nova alternativa que es va separar per primera vegada del .NET Framework en 2015.

A causa de la millora de la modularidad i a la portabilitat encara més senzilla del programari a plataformes que no siguin de Microsoft, .NET Core és particularment apreciat per molts desenvolupadors.

Generalment, desenvolupa aplicacions per a la plataforma universal de Windows UWP i Asp.NetCore. A més, s’utilitza per a desenvolupar aplicacions en el núvol.

La biblioteca de classes Core Ex és compatible amb Windows, MacOs i Linux.

Una altra implementació a destacar és la plataforma Xamarin en la qual es poden desenvolupar aplicacions per a Android, iOS, tvOS, watchOS, macOS i Windows. Aquesta, disposa d’eines i biblioteques específiques.

Finalment, incloure UWP, la plataforma universal de Windows. Encara que alguns desenvolupadors la situan dins de la plataforma .NET Core en compartir algunes biblioteques d’aquest, a Microsoft li agrada que se la consideri un implementació més.

2. .NET Standard Library

Un altre dels components que formaven part de l’arquitectura era la biblioteca de classes portable PCL. Amb ella es pot compartir el codi entre diversos projectes específics de la plataforma, tant en IOS, Android, Windows i Windows Phone.

Però, les PCL presentan molts desavantatges de compatibilitat entre implementacions. Per a això, els desenvolupadors han creat la API .NET Standard Library. Es tracta d’una fusió de les biblioteques base i PCL, compatible amb totes les implementacions.

En l’actualitat, amb la versió de Visual Studio en 2017, les PCL van quedar obsoletes i esborrades del sistema, així com les biblioteques base de cada implementació. En el seu lloc van ser reemplaçades per .NET Standard Library.

També, existeixen unes altres API suplementàries que són específiques dels sistemes operatius en els quals s’executa.

3. Entorn en Temps d’Execució

Una de les parts rellevants de l’arquitectura és l’Entorn en Temps d’Execució, que com el seu nom indica és on s’executa el programa administrat o l’interval de temps en el qual un programari s’executa en un sistema operatiu. Segons la implementació utilitzada:

  • .NET framework: CLR (Common Language Runtime).
  • .NET Core: Core CLR (CoreCommon Language Runtime).
  • Xamarin: entorn d’implementació Bufó.
  • UWP: .NET Native.

4. Infraestructura Comuna

Seguint amb els components de l’arquitectura, trobem la Infraestructura Comuna on estan els llenguatges de programació: C#, F#, VB i el motor de compilació Ms Build per a compilar els projectes.

5. Eines de Desenvolupament

Finalment, un altre component són les Eines de Desenvolupament per a la creació d’aplicacions web o mòbils en els diferents sistemes operatius esmentats:

  • Administrador de paquets per a microsoft: Nuget.
  • Entorn de desenvolupament integrat (IDE): Visual Studio, Xamarin Studio, Visual Studio per a Mac, JetBrains Rider.
  • Editors de Codi: Visual Studio Code i Plugin OmniSharp.
Components de l'Arquitectura .NET
Components de l'Arquitectura .NET

Per a què serveix .NET?

L’objectiu de .NET és crear una plataforma de desenvolupament de programari moderna, flexible i neutral per al desenvolupament de tota mena de programari.

D’aquesta manera, proporciona als consumidors i als programadors de les empreses una interfície d’usuari perfectament interoperable.

Aquesta circumstància ocasiona que la informàtica estigui cada vegada més orientada als navegadors.

Amb l’excepció de la programació de controladors de maquinari, .NET abasta tot tipus d’aplicacions, des d’aplicacions d’escriptori fins a aplicacions web; des de serveis de sistema fins a serveis web; i des de rutines de bases de dades fins a programació d’aplicacions IoT i Machine Learning.

Microsoft va dissenyar aquesta plataforma per a ser un sistema neutral des del principi, però no va fer cap esforç per a implementar-lo en Mac i Unix/Linux.

A causa de la iniciativa d’altres companyies (especialment Novell), grans parts de .NET estan ara disponibles per a altres sistemes operatius.

I això és fins i tot secundat per Microsoft en vista del creixent nombre de sistemes operatius que competeixen entre si, especialment en el mercat dels dispositius mòbils.

El mateix Microsoft ofereix una variant per a Mac OS amb Silverlight.

Avantatges de .NET

Bàsicament, les diferents variants dels entorns de desenvolupament .NET ofereixen als programadors tota una gamma d’avantatges. Aquestes són, entre altres:

  • Interoperabilitat: Els elements de programari i programes desenvolupats poden utilitzar les funcionalitats dels programes desenvolupats fora de .NET.
  • Common Language Runtime (CLR): Un entorn de temps en execució uniforme de tots els llenguatges de programació .NET disponibles. Això assegura un comportament consistent en les àrees d’ús de memòria i seguretat.
  • Independència del llenguatge utilitzat: La base és una arquitectura de llenguatge comú, que permet l’intercanvi de dades entre dos programes en diferents llenguatges de programació.
  • Una biblioteca de classes comunes: Una biblioteca de codis per a les funcions més utilitzades per a evitar la duplicació i la programació innecessària.
  • Seguretat: Totes les solucions de programari desenvolupades es basen en un model de seguretat comú i efectiu.