Que son os Web Forms

Web Form é un dos catro modelos que permiten realizar sitios web usando ASP.NET a través de controis de formularios grazas ao IDE de Microsoft, Visual Studio, facilitándolle moito traballo ao programador. Os outros tres modelos son: ASP.NET clásico, MVC (Modelo Vista Controlador) e ASP.NET Web Pages.

Ao igual que con calquera outra aplicación pensada para a web, ASP.NET separa parte do cliente do lado do servidor. Dispoñemos por tanto das linguaxes de HTML, CSS e JS do lado do cliente de VBScript, JS ou C# do lado do servidor.

Cliente:HTML, CSS y JS
Servidor:VBScript, JS o C#

As páxinas en Web Form teñen a extensión .aspx e a súa vez esa mesma páxina esta separada noutras dúas, que conteñen o código backend e o código que é xerado de xeito automático a través dun navegador.

  • nombredearchivo.aspx.cs para a parte do código en backend
  • nombredearchivo.aspx.designer.cs código automático xerado polo deseñador
Estrutura dunha páxina

Controles de servidor HTML

Son elementos HTML (HyperText Markup Language) que inclúen runat=server de atributo. Polo demais, este tipo de controles de servidor usados en ASP.NET, teñen a mesma funcionalidade que os propios de HTML. Teremos por tanto o mesmo número de controles de servidor HTML que elementos HTML existan.

Exemplo con HTML Anchor

Situámonos en index.aspx e engadimos a etiqueta HTMLAnchor, para crear unha ligazón, deste xeito a páxina quedará así:

Agora imos a index.aspx.cs (é dicir, ao backend) e modificaremos a ligazón do seguinte xeito:

Agora o botón vai a levarnos á páxina web de Google, polo tanto acabamos de crear unha ligazón e modificala de maneira dinámica.

Controles de servidor

Este tipo de controles derivan da clase base System.Web.UI.WebControls, execútanse sempre no lado do servidor servidor, enviando HTML como resultado ao navegador do cliente.

Algunhas de las características:

  • Programables e reutilizables
  • Poden realizar as mesmas funcións que os controles HTML
  • Detectan a capacidade do navegador de destino e son executados en consecuencia.

No panel esquerdo de Visual Studio, no Cadro de Ferramentas, unha vez situados tamén no modo deseñador, poderemos ver tódalas opcións que temos para usar controles de servidor e que para traballar con elas só necesitan ser arrastradas a nosa área de traballo.

Exemplo facendo uso dun botón e dunha imaxe

Imos engadir un botón usando o cadro de ferramentas, só temos que arrastralo, para iso situámonos en index.aspx

Situándonos encima do botón, sen necesidade de facer dobre click, accederemos as súas propiedades. Mudaremos o texto do botón por: “Mostrar modelo Anycast”.

Obtendo o seguinte resultado:

Agora, seleccionaremos un control de imaxe e o arrastraremos, faremos dobre click no botón para entrar nel ou tamén podemos acceder a través da pestana index.aspx.cs, e engadimos o seguinte:

O que estamos conseguindo é modificar unha propiedade da imaxe cando facemos click no botón. Estamos establecendo unha propiedade de ImageURL, a cal non estaba establecida, para que agora saia unha imaxe.

Principais diferencias entre controles de servidor e HTML

Podemos observar que as dúas principais diferencias radican en que, os controis de servidor execútanse no lado do servidor, mentres que os de HTML son do lado do cliente. Outra das cuestións a destacar é que os controles HTML son puramente etiquetas HTML, mentres que os controles do servidor abarcan moito máis.

Aínda sendo similares entre eles, a maior diferencia radica en que os controles de servidor web facilitan a creación de aplicacións xerando a interfaz de usuario dunha forma amena e sinxela. Obtense unha simplificación importante no proceso de creación de formularios web interactivos, sin que iso supoña renunciar ás prestacións que obteríamos se fose de forma manual, escribindo o código, conseguindo a súa vez que cometamos menos erros.

Principais controles de servidor:

Principais controles HTML:

Introdución á plataforma .NET

.NET framework é o entorno de desenvolvemento de Microsoft para crear todo tipo de aplicacións baixo diferentes linguaxes, entre elas, as máis destacadas son: C#, F#, ou Visual Basic entre outras. Isto amosa as grandes posibilidades das que dispón hoxe en día plataforma .NET

As partes de .NET: CLR, CLS, CTS, BCL e CIL

Trataremos de facer un acercamento breve a estas siglas, noutro artigo ampliaremos o seu contido.

CLR (Common Language Runtime): trátase do entorno de execución de .NET, digamos que é o motor de todo o sistema .NET, necesitará doutras ferramentas para apoiarse nas especificacións e normas.

CLS (Common Language Specification): é a especificación que deben cumprir tódalas linguaxes de .NET para poder correr baixo a mesma plataforma. Para entendelo mellor, podemos crear unha clase en C# e recibir a herencia usando Visual Basic xa que o código compilado non pasa directamente a código executable, senón a un intermedio coñecido como IL.

CTS (Common Type System): define como son creados, administrados e usados os tipos (clases, estruturas…) en CLR.

BCL(Base Class Library): conxunto de librerías e API’s.

CIL (Common Intermedia Language): antes chamado Microsoft Intermediate Language ou MSIL, é unha linguaxe intermedia que usa a plataforma .NET(.exe e .dll)

.NET Framework, .NET Core e Xamarin

Diferencias entre .NET Core e .NET Standard

A plataforma esta divida en .NET Core e .NET Standard ou Framework, polo que debemos ter claro a que nos referimos, xa que aínda que ámbalas dúas veñen de .NET teñen usos diferentes.

.NET Framework ou Standard: permite crear aplicacións pensadas para correr baixo Windows. Podemos usar os Windows Forms ou WPF para aplicacións de escritorio e ASP.NET para a web.

.NET Core: é open source e multiplataforma e modular. Pensada para funcionar baixo GNU/Linux, Windows e Mac.

.NET en GNU/Linux: proxecto Mono

Mono\Ximian: Trátase da versión de .NET pensada para correr baixo plataformas GNU/Linux, deste xeito unha aplicación feita en C# pode correr nun sistema con Linux.

Fontes:

https://docs.microsoft.com/es-es/dotnet/framework/get-started/

https://es.wikipedia.org/wiki/Microsoft_.NET

https://www.campusmvp.es/recursos/post/que-es-la-plataforma-net-y-cuales-son-sus-principales-partes.aspx

https://www.it-swarm.dev/es/.net/clr-y-cli-cual-es-la-diferencia/958163772/

Imaxes:

https://es.wikipedia.org/wiki/Common_Language_Runtime

https://docs.microsoft.com/es-es/dotnet/standard/library-guidance/cross-platform-targeting