Javascript



¿Qué es y Cómo funciona?

En Cliente existe un objeto "Antonio" instancia de un constructor "Persona" formado por:

  • Variable publica Nombre con valor "Antonio".
  • Variable privada Numero_Tarjeta_Credito con valor "333".
  • Método público Saludo que devuelve "Hola, soy Antonio".
  • Método privado Abrir_Mi_Casa que devuelve "Abierto".
  • Método público Olvide_Numero_Tarjeta_Credito con valor.

En pantalla tenemos varios botones que mostrarán los valores según su nivel de acceso. Nótese aquellos que devuelven "undefined" al ser privados e intentar ser accedidos desde fuera.

 

Teoría

Aunque Javascript es un lenguaje basado en prototipos y no en clases es suficientemente flexible para adaptar el código a un sistema de constructores, objetos y herencia.

Algunos puntos importantes para desarrollar en este patrón son:

  • Encapsular en objetos todo nuestro codigo de forma que no se definan ni funciones ni variables globalmente y evitar así conflicto de nombres. La mejor forma es hacerlo con funciones autoejecutables, una explicación muy buena se puede encontrar aquí.
  • Para "pocas" instancias de una "clase" se pueden definir las propiedades y metodos de esta dentro de su constructor. Para "muchas" instancias mejor utilizar prototype fuera del constructor y optimizar así la memoria evitando una copia "aumentada" del constructor original en los clones.
  • Utilizar la convención "_this" o "that" para acceder al contexto actual desde funciones privadas.
  • Personalmente prefiero simluar la herencia como prototipal ("Prototype chaining" o encadenación de prototipos) a la clásica.
  • Para "clases" e instancias únicas la anotación JSON aplicada a Javacript es muy óptima para la vista encapsulada del código a la hora de su definición así como el envío a funciones.

 

Configuración y Test

Se ha utilizado Visual Studio Express 2013 para Web y actualmente Visual Comunity 2015.
La programación se ha desarrollado con C#, Razor y acceso a Base de Datos por Entity Framework.

Las tablas mostradas en la aplicación se encuentran en un Microsoft® SQL Server® 2012 y actualmente en SQL de Azure

El alojamiento de las páginas se realizó en https://www.smarterasp.net con el plan .NET ADVANCE y actualmente se han movido a 2 Aplicaciones Web en Azure: una para este proyecto Web MVC y otra para un WCF usada en un ejemplo.

Se ha testeado con exito en diferentes navegadores y sistemas operativos, en pantallas de PC, tabletas y moviles.