8. ¿QUE ES HTML, PHP Y ASP?

 HTML
Siglas de HyperText Markup Language (Lenguaje de Marcado de Hipertexto), es el lenguaje de marcado predominante para la elaboración de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de “etiquetas”, rodeadas por corchetes angulares (). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.
HTML también es usado para referirse al contenido del tipo de MIME text/html o todavía más ampliamente como un término genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y anteriores).
Historia de HTML
Primeras especificaciones
La primera descripción de HTML disponible públicamente fue un documento llamado HTML Tags (Etiquetas HTML), publicado por primera vez en Internet por Tim Berners-Lee en 1991.1 2 Describe 22 elementos comprendiendo el diseño inicial y relativamente simple de HTML. Trece de estos elementos todavía existen en HTML 4.3
Berners-Lee consideraba a HTML una ampliación de SGML, pero no fue formalmente reconocida como tal hasta la publicación de mediados de 1993, por la IETF, de una primera proposición para una especificación de HTML: el boceto Hypertext Markup Language de Berners-Lee y Dan Connolly, el cual incluía una Definición de Tipo de Documento SGML para definir la gramática.4 El boceto expiró luego de seis meses, pero fue notable por su reconocimiento de la etiqueta propia del navegador Mosaic usada para insertar imágenes sin cambio de línea, reflejando la filosofía del IETF de basar estándares en prototipos con éxito. 5 Similarmente, el boceto competidor de Dave Raggett HTML+ (Hypertext Markup Format) (Formato de marcaje de hipertexto), de 1993 tardío, sugería, estandarizar características ya implementadas tales como tablas.6
Marcado HTML
HTML consta de varios componentes vitales, incluyendo elementos y sus atributos, tipos de data, y la declaración de tipo de documento.
Elementos
Los elementos son la estructura básica de HTML. Los elementos tienen dos propiedades básicas: atributos y contenido. Cada atributo y contenido tiene ciertas restricciones para que se considere válido al documento HTML. Un elemento generalmente tiene una etiqueta de inicio (p.ej. ) y una etiqueta de cierre (p.ej. ). Los atributos del elemento están contenidos en la etiqueta de inicio y el contenido está ubicado entre las dos etiquetas (p.ej. Contenido). Algunos elementos, tales como
, no tienen contenido ni llevan una etiqueta de cierre. Debajo se listan varios tipos de elementos de marcado usados en HTML.

Estructura general de una línea de código en el lenguaje de etiquetas HTML.
El marcado estructural describe el propósito del texto. Por ejemplo,

Golf

establece a “Golf” como un encabezamiento de segundo nivel, el cual se mostraría en un navegador de una manera similar al título “Marcado HTML” al principio de esta sección. El marcado estructural no define cómo se verá el elemento, pero la mayoría de los navegadores web han estandarizado el formato de los elementos. Un formato específico puede ser aplicado al texto por medio de hojas de estilo en cascada.
El marcado presentacional describe la apariencia del texto, sin importar su función. Por ejemplo, negrita indica que los navegadores web visuales deben mostrar el texto en negrita, pero no indica qué deben hacer los navegadores web que muestran el contenido de otra manera (por ejemplo, los que leen el texto en voz alta). En el caso de negrita e itálica, existen elementos que se ven de la misma manera pero tienen una naturaleza más semántica: enfásis fuerte y énfasis. Es fácil ver cómo un lector de pantalla debería interpretar estos dos elementos. Sin embargo, son equivalentes a sus correspondientes elementos presentacionales: un lector de pantalla no debería decir más fuerte el nombre de un libro, aunque éste esté en itálicas en una pantalla. La mayoría del marcado presentacional ha sido desechada con HTML 4.0, en favor de Hojas de estilo en cascada.
El marcado hipertextual se utiliza para enlazar partes del documento con otros documentos o con otras partes del mismo documento. Para crear un enlace es necesario utilizar la etiqueta de ancla junto con el atributo href, que establecerá la dirección URL a la que apunta el enlace. Por ejemplo, un enlace a la Wikipedia sería de la forma Wikipedia. También se pueden crear enlaces sobre otros objetos, tales como imágenes .
Atributos
La mayoría de los atributos de un elemento son pares nombre-valor, separados por un signo de igual “=” y escritos en la etiqueta de comienzo de un elemento, después del nombre de éste. El valor puede estar rodeado por comillas dobles o simples, aunque ciertos tipos de valores pueden estar sin comillas en HTML (pero no en XHTML).7 8 De todas maneras, dejar los valores sin comillas es considerado poco seguro.9 En contraste con los pares nombre-elemento, hay algunos atributos que afectan al elemento simplemente por su presencia10 (tal como el atributo ismap para el elemento img).11
Códigos HTML básicos
Artículo principal: Anexo:Etiquetas HTML/XHTML5

• : define el inicio del documento HTML, le indica al navegador que lo que viene a continuación debe ser interpretado como código HTML. Esto es así de facto, ya que en teoría lo que define el tipo de documento es el DOCTYPE, significando la palabra justo tras DOCTYPE el tag de raíz, por ejemplo:

• : incrusta un script en una web, o se llama a uno mediante src=”url del script” Se recomienda incluir el tipo MIME en el atributo type, en el caso de JavaScript text/javascript.
• : define la cabecera del documento HTML, esta cabecera suele contener información sobre el documento que no se muestra directamente al usuario. Como por ejemplo el título de la ventana del navegador. Dentro de la cabecera podemos encontrar:

Un ejemplo de código HTML con coloreado de sintaxis.
: define el título de la página. Por lo general, el título aparece en la barra de título encima de la ventana<br /> • : para vincular el sitio a hojas de estilo o iconos Por ejemplo:<br /> • : para colocar el estilo interno de la página; ya sea usando CSS, u otros lenguajes similares. No es necesario colocarlo si se va a vincular a un archivo externo usando la etiqueta<br /> • : para metadatos como la autoría o la licencia, incluso para indicar parámetros http (mediante http-equiv=””) cuando no se pueden modificar por no estar disponible la configuración o por dificultades con server-side scripting.<br /> • : define el contenido principal o cuerpo del documento. Esta es la parte del documento html que se muestra en el navegador; dentro de esta etiqueta pueden definirse propiedades comunes a toda la página, como color de fondo y márgenes. Dentro del cuerpo podemos encontrar numerosas etiquetas. A continuación se indican algunas a modo de ejemplo:<br /> •<br /> <h1> a<br /> <h6>: encabezados o títulos del documento con diferente relevancia.<br /> •<br /> <table>: define una tabla<br /> •<br /> <tr>: fila de una tabla<br /> • <td>: celda de de una tabla (Debe estar dentro de una fila)<br /> • <a>: Hipervínculo o enlace, dentro o fuera del sitio web. Debe definirse el parámetro de pasada por medio del atributo href. Por ejemplo: <a href="http://www.wikipedia.org">Wikipedia</a> se representa como Wikipedia)<br /> • <div>: división de la página. Se recomienda, junto con css, en vez de<br /> <table> cuando se desea alinear contenido<br /> • <img>: imagen. Requiere del atributo src, que indica la ruta en la que se encuentra la imagen. Por ejemplo: <img src="./imagenes/mifoto.jpg" />. Es conveniente, por accesibilidad, poner un atributo alt=”texto alternativo”.<br /> • <li> <ol> <ul>: Etiquetas para listas.<br /> • <b>: texto en negrita (Etiqueta desaprobada. Se recomienda usar la etiqueta <strong>)<br /> • <i>: texto en cursiva (Etiqueta desaprobada. Se recomienda usar la etiqueta <em>)<br /> • <s>: texto tachado (Etiqueta desaprobada. Se recomienda usar la etiqueta <del>)<br /> • <u>: texto subrayado<br /> La mayoría de etiquetas deben cerrarse como se abren, pero con una barra (“/”) tal como se muestra en los siguientes ejemplos:<br /> •<br /> <table> <tr> <td>Contenido de una celda</td> </tr> </table> <p>• Código de un [[script]] integrado en la página. </p> <p>Nociones básicas de HTML<br /> El lenguaje HTML puede ser creado y editado con cualquier editor de textos básico, como puede ser Gedit en Linux, el Bloc de Notas de Windows, o cualquier otro editor que admita texto sin formato como GNU Emacs, Microsoft Wordpad, TextPad, Vim, Notepad++, entre otros.<br /> Existen además, otros editores para la realización de sitios Web con características WYSIWYG (What You See Is What You Get, o en español: “lo que ves es lo que obtienes”). Estos editores permiten ver el resultado de lo que se está editando en tiempo real, a medida que se va desarrollando el documento. Ahora bien, esto no significa una manera distinta de realizar sitios web, sino que una forma un tanto más simple ya que estos programas, además de tener la opción de trabajar con la vista preliminar, tiene su propia sección HTML la cual va generando todo el código a medida que se va trabajando. Algunos ejemplos de editores WYSIWIG son KompoZer, Microsoft FrontPage, o Macromedia Dreamweaver.<br /> Combinar estos dos métodos resulta muy interesante, ya que de alguna manera se ayudan entre sí. Por ejemplo; si se edita todo en HTML y de pronto se olvida algún código o etiqueta, simplemente me dirijo al editor visual o WYSIWYG y se continúa ahí la edición, o viceversa, ya que hay casos en que sale más rápido y fácil escribir directamente el código de alguna característica que queramos adherirle al sitio, que buscar la opción en el programa mismo.<br /> Existe otro tipo de editores HTML llamados WYSIWYM (Lo que ves es lo que quieres decir) que dan más importancia al contenido y al significado que a la apariencia visual. Entre los objetivos que tienen estos editores es la separación del contenido y la presentación, fundamental en el diseño Web.<br /> HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determina la forma en la que debe aparecer en su navegador el texto, así como también las imágenes y los demás elementos, en la pantalla del ordenador.<br /> Toda etiqueta se identifica porque está encerrada entre los signos menor que y mayor que (), y algunas tienen atributos que pueden tomar algún valor. En general las etiquetas se aplicarán de dos formas especiales:<br /> • Se abren y se cierran, como por ejemplo: <b>negrita</b> que se vería en su navegador web como negrita.<br /> • No pueden abrirse y cerrarse, como<br /> <hr /> que se vería en su navegador web como una línea horizontal.<br /> • Otras que pueden abrirse y cerrarse, como por ejemplo <p>.<br /> • Las etiquetas básicas o mínimas son: </p> <p> <title>Ejemplo

ejemplo

Saber más
Seleccionando la opción Ver código fuente en el navegador, se puede ver realmente la información que está recibiendo éste y cómo la está interpretando. Por ejemplo: en Internet Explorer o en Firefox, simplemente hay que desplegar el menú Ver y luego elegir Código fuente. De esta forma, se abrirá el editor de texto configurado como predeterminado en el sistema con el código fuente de la página que se esté viendo en ese momento en el explorador. Otra forma más rápida consiste en hacer clic con el botón derecho del ratón en cualquier punto del área donde el navegador muestra la página web y elegir Ver código fuente.
Para el navegador Firefox existe el plugin FireBug, un depurador que permite entre otras cosas visualizar el código HTML de la página que estamos visualizando de forma dinámica, y que incluso resalta el trozo de código por el que está pasando el ratón en cada momento, por lo que es una herramienta muy útil para aprender diversos conceptos de este lenguaje.
Historia del estándar
En 1989 existían dos técnicas que permitían vincular documentos electrónicos, por un lado los hipervínculos (links) y por otro lado un poderoso lenguaje de etiquetas denominado SGML. Por entonces, Tim Berners-Lee da a conocer a la prensa que estaba trabajando en un sistema que permitirá acceder a ficheros en línea, funcionando sobre redes de computadoras o máquinas electrónicas basadas en el protocolo TCP/IP.
A principios de 1990, Tim Berners-Lee define por fin el HTML como un subconjunto del conocido SGML y crea algo más valioso aún, el World Wide Web. En 1991, Tim Berners-Lee crea el primer navegador web, que funcionaría en modo texto y sobre un sistema operativo UNIX.
Los trabajos para crear un sucesor del HTML, denominado HTML +, comenzaron a finales de 1993. HTML+ se diseñó originalmente para ser un superconjunto del HTML que permitiera evolucionar gradualmente desde el formato HTML anterior. A la primera especificación formal de HTML+ se le dio, por lo tanto, el número de versión 2 para distinguirla de las propuestas no oficiales previas. Los trabajos sobre HTML+ continuaron, pero nunca se convirtió en un estándar, a pesar de ser la base formalmente más parecida al aspecto compositivo de las especificaciones actuales.
El borrador del estándar HTML 3.0 fue propuesto por el recién formado W3C en marzo de 1995. Con él se introdujeron muchas nuevas capacidades, tales como facilidades para crear tablas, hacer que el texto fluyese alrededor de las figuras y mostrar elementos matemáticos complejos. Aunque se diseñó para ser compatible con HTML 2.0, era demasiado complejo para ser implementado con la tecnología de la época y, cuando el borrador del estándar expiró en septiembre de 1995, se abandonó debido a la carencia de apoyos de los fabricantes de navegadores web. El HTML 3.1 nunca llegó a ser propuesto oficialmente, y el estándar siguiente fue el HTML 3.2, que abandonaba la mayoría de las nuevas características del HTML 3.0 y, a cambio, adoptaba muchos elementos desarrollados inicialmente por los navegadores web Netscape y Mosaic. La posibilidad de trabajar con fórmulas matemáticas que se había propuesto en el HTML 3.0 pasó a quedar integrada en un estándar distinto llamado MathML.
El HTML 4.0 también adoptó muchos elementos específicos desarrollados inicialmente para un navegador web concreto, pero al mismo tiempo comenzó a limpiar el HTML señalando algunos de ellos como «desaprobados» o deprecated en inglés.
Accesibilidad Web
Artículo principal: accesibilidad web
El diseño en HTML aparte de cumplir con las especificaciones propias del lenguaje debe respetar unos criterios de accesibilidad web, siguiendo unas pautas, o las normativas y leyes vigentes en los países donde se regule dicho concepto. Se encuentra disponible y desarrollado por el W3C a través de las Pautas de Accesibilidad al Contenido Web 1.0 WCAG (actualizadas recientemente con la especificación 2.012 ), aunque muchos países tienen especificaciones propias, como es el caso de España con la Norma UNE 139803.13Entidades HTML
Los caracteres especiales como signo de puntuación, letras con tilde o diéresis, o símbolos del lenguaje; se deben convertir en entidad HTML para mostrarse en un navegador. La siguiente es una lista de caracteres españoles y su correspondiente entidad HTML:
Carácter Entidad HTML Carácter Entidad HTML
á á Á Á
é é É É
í í Í Í
ó ó Ó Ó
ú ú Ú Ú
ü ü Ü Ü
ñ ñ Ñ Ñ
¡ ¡ ¿ ¿
 PHP
PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
Visión general
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La versión más reciente de PHP es la 5.3.5, del 6 de enero de 2011.
El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI (Command Line Interface).
Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.
PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Oracle, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. También existen al menos un par de módulos1 para Eclipse, uno de los IDE más populares.
Historia
Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado “Personal Home Page Tools” después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.
PHP 3
Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje a la forma actual. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio del 1998.
Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat Gan, Israel.
PHP 4
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció la suspensión del soporte y desarrollo de la versión 4 de PHP,2 a pesar de lo anunciado se ha liberado una nueva versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9 publicada el 7 de agosto de 2008.3 Según esta noticia [3] se dará soporte a fallos críticos hasta el 2008-08-09,……
PHP 5
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). La versión más reciente de PHP es la 5.3.5 (10 de diciembre de 2010), que incluye todas las ventajas que provee el nuevo Zend Engine 2 como:
• Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario.
• Mejoras de rendimiento.
• Mejor soporte para MySQL con extensión completamente reescrita.
• Mejor soporte a XML ( XPath, DOM, etc. ).
• Soporte nativo para SQLite.
• Soporte integrado para SOAP.
• Iteradores de datos.
• Manejo de excepciones.
• Mejoras con la implementación con Oracle.
Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.14 el 22 de Julio de 2010, aunque la mayoría son actualizaciones de seguridad
PHP 6
Está previsto el lanzamiento en breve de la rama 6 de PHP. Cuando se lance esta nueva versión quedarán solo dos ramas activas en desarrollo (PHP 5 y 6), pues se abandonó el desarrollo y soporte de PHP 4 el 13 de julio de 2007.4
Las diferencias que encontraremos frente a PHP 5.* son:
• Soportará Unicode;
• limpieza de funcionalidades obsoletas como register_globals, safe_mode, etc;
• PECL y eliminación de soporte ereg;
• mejoras en orientación a objetos;
• inclusión en el núcleo de xmlReader y xmlWriter así como Fileinfo;
• return por referencia devolverá un error;
• se retira el soporte de las bibliotecas FreeType1 y GD1;
• etc.
Tabla resumen
Versión Fecha Cambios más importantes
PHP 1.0 8 de junio de 1995 Oficialmente llamado “Herramientas personales de trabajo (PHP Tools)”. Es el primer uso del nombre “PHP”.
PHP Version 2 (PHP/FI) 16 de abril de 1996 Considerado por el creador como la “más rápida y simple herramienta” para la creación de páginas webs dinámicas .
PHP 3.0 6 de junio de 1998 Desarrollo movido de una persona a muchos desarrolladores. Zeev Suraski y Andi Gutmans reescriben la base para esta versión.
PHP 4.0 22 de mayo de 2000 Se añade un sistema más avanzado de análisis de etiquetas en dos fases análisis/ejecución llamado el motor Zend.
PHP 4.1 10 de diciembre de 2001 Introducidas las variables superglobals ($_GET, $_SESSION, etc.).
PHP 4.2 22 de abril de 2002 Se deshabilitan register_globals por defecto.
PHP 4.3 27 de diciembre de 2002 Introducido la CLI, en adición a la CGI.
PHP 4.4 11 de julio de 2005
PHP 5.0 13 de julio de 2004 Motor Zend II con un nuevo modelo de objetos.
PHP 5.1 25 de noviembre de 2005
PHP 5.2 2 de noviembre de 2006 Habilitado el filtro de extensiones por defecto.
PHP 5.2.4 30 de agosto de 2007
PHP 5.2.5 8 de noviembre de 2007 Versión centrada en mejorar la estabilidad (+60 errores solucionados).
PHP 5.2.8 8 de diciembre de 2008
PHP 5.2.9 26 de febrero de 2009 Diversas mejoras en el ámbito de la seguridad (+50 errores solucionados).
PHP 5.2.12 17 de diciembre de 2009 Diversas mejoras en el ámbito de la seguridad (+50 errores solucionados).
PHP 5.3 30 de junio de 2009 namespaces, late static binding, closures, optional garbage collection for cyclic references, nuevas extensiones (+140 errores solucionados).
PHP 5.3.1 19 de noviembre de 2009 Diversas mejoras en el ámbito de la seguridad (36 errores solucionados).
PHP 5.3.2 4 de marzo del 2010 Diversas mejoras en el ámbito de la seguridad (99 errores solucionados).
PHP 5.3.3 22 de julio del 2010 Diversas mejoras en el ámbito de la seguridad y estabilidad. (más de 100 errores solucionados).
PHP 5.3.4 10 de diciembre del 2010 Diversas mejoras en el ámbito de la seguridad y estabilidad. (105 errores solucionados).
PHP 6 S/D
Características de PHP
Ventajas
• Es un lenguaje multiplataforma.
• Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.
• El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
• Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
• Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext’s o extensiones).
• Posee una amplia documentación en su página oficial ([4]), entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
• Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
• Permite aplicar técnicas de programación orientada a objetos.
• Biblioteca nativa de funciones sumamente amplia e incluida.
• No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
• Tiene manejo de excepciones (desde PHP5).
• Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).
Inconvenientes
• Como es un lenguaje que se interpreta en ejecución para ciertos usos puede resultar un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero no la impide y aparte en ciertos casos representa un costo en tiempos de ejecución.
Ejemplo de código PHP
En el siguiente ejemplo se muestra el típico Hola Mundo, que es una simple impresión por pantalla del mismo mensaje:

El ejemplo anterior escribiría simplemente “Hola Mundo” (sin comillas) en la página web. Es importante recordar que todo bloque de código PHP debe estar dentro de (para cerrar) o simplemente de una forma más corta <? ?> -siempre que la directiva short_open_tag esté activada-,5 muy parecido a las etiquetas en ASP <% %>. Ahora bien, el resultado que tendríamos en el navegador sería el siguiente:
Hola Mundo
A continuación un ejemplo de envío y recepción de datos en una misma página con PHP:

Ejemplo de uso simple en envío y recepción de parámetros con PHP

<form method="POST" action="”>
¿Cuál es tu nombre?

¿Cuál es tu comida favorita?

Spaguetis
Asado
Pizza

En este código es posible observar las siguientes características:
• Las variables enviadas por un formulario utilizando el método POST, son recibidas en el lenguaje dentro de la matriz $_POST, lo cual facilita la obtención de este tipo de datos. Este mismo método es utilizado por el lenguaje para todas las fuentes de información en una aplicación web, tales como cookies en la matriz $_COOKIES, variables de URL en $_GET (que en formularios puede servir para guardar los datos), variables de sesión utilizando $_SESSION, y variables del servidor y del cliente por medio de la matriz $_SERVER.
• Las variables que están dentro de las cadenas $_POST, $_GET y $_COOKIE pueden encontrarse en la cadena $_REQUEST, ya que ésta resume las 3 anteriores.
• El código PHP está incrustado dentro del HTML e interactúa con el mismo, lo que permite diseñar la página Web en un editor común de HTML y añadir el código dinámico dentro de las etiquetas .
• El resultado muestra y oculta ciertas porciones del código HTML en forma condicional.
• Es posible utilizar funciones propias del lenguaje para aplicaciones Web como htmlentitites(), que convierte los caracteres que tienen algún significado especial en el código HTML o que podrían desplegarse erróneamente en el navegador como acentos o diéresis, en sus equivalentes en formato HTML..
Todas las variables en PHP llevan el símbolo de dólar como prefijo (ejemplo: $variable1, $variable2, $variable3…,$variableN), los tipos de variable no es necesario declararlas, ya que a medida que se usan en la aplicación el servidor reconoce de que tipo son. Para mostrar una cadena (en inglés string) debe estar dentro de comillas dobles o simples (ejemplo: “Hola Mundo”, ‘Lo que quiero mostrar’). Cabe destacar que si se desea mostrar el símbolo ” o ‘ debe encerrarse en el otro tipo de comillas (“…’…”, ‘…”…’) o usarse un escape (\’, \”).
Toda línea de instrucción siempre termina en un punto y coma (;), al igual que el lenguaje C.
Para insertar un comentario de una sola línea, debe empezar por // o por #. El resto de la línea es tratado entonces como un comentario. Para insertar un bloque de comentario, de una o más líneas, se utiliza la combinación /* y */, por ejemplo: /* */
Programación orientada a objetos en PHP
PHP no es en sí un lenguaje de programación orientada a objetos, pero desde hace ya unas versiones se ha implementado el uso de clases y objetos. Aquí tenemos un ejemplo de una clase sencilla en PHP:
class Clase {
var $Una_variable; //Creamos las variables
var $Otra_variable;

function Clase($var1, $var2){ //Creamos un constructor que defina las variables “Una_variable” y “Otra_variable” dentro de la clase.
$this->Una_variable = $var1;
$this->Otra_variable = $var2;
}
}
Ahora veremos como se llama a la clase previamente creada:
$clase = new Clase(“Esta es la variable 1”, “Esta es la variable 2”);
El ejemplo anterior es válido para php4, el mismo ejemplo escrito php5, varía en el nombre del constructor y en la forma en como se declara la variable.
Una_variable = $var1;
$this->Otra_variable = $var2;
}
}

$instancia = new Clase(‘rojo’,’blanco’);

echo “El color de la variable \$Una_variable es : “. $instancia->Una_variable . ” El color de la otra variable \$Otra_variable es: ” .
$instancia->Otra_variable;

?>
El valor public indica que la propiedad o el método están disponible para todo código que desee acceder a los mismos. PHP 5 ofrece tres niveles de visibilidad para utilizar en clases: public, private, protected. A la vez, cambia la forma en la que se declara el constructor de la clase, ya que en PHP 4 se usaba el mismo nombre de esta, y en PHP 5 se crea el método especial __construct
Ejemplos de aplicaciones desarrolladas con PHP
• Magento
• OsCommerce
• PrestaShop
• WordPress
• Burning Board
• CMSformE
• Dokuwiki
• Drupal
• Gallery Project
• Mambo Open Source
• MediaWiki (desarrollado para Wikipedia)
• Moodle
• Phorum
• phpMyAdmin
• PHP-Nuke
• phpPgAdmin
• PhpWiki
• PmWiki
• Zikula (anteriormente llamado PostNuke)
• Smarty
• SPIP
• SugarCRM
• vBulletin
• Xaraya
• Xoops
• Joomla
• MODx
• SMF
• phpBB
• UVG SCADA
• PhpCollab
• Facebook
Frameworks en PHP
• Zend Framework (Oficial, de los desarrolladores de PHP)
• Kohana
• Symfony
• CakePHP
Entornos de desarrollo integrado para PHP
Algunos de los entornos de desarrolo integrado para PHP más conocidos o habituales son:
• Dreamweaver, comercial, de la casa Adobe actualmente en la versión CS5 (11.0.4909)
• PDT,1 plugin de Eclipse: GPL – (Sun).
• PHPEclipse,1 otro plugin de Eclipse
• NetBeans , libre, multiplataforma, utiliza Symfony, auto-completado de código, auto-identador..
• Zend Studio: Comercial – (Zend).
• Aptana Studio: GPL, existe una versión comercial. Debe instalarse el plugin para PHP. Está basado en Eclipse, pero posee características que lo hacen mas deseable que el Eclipse PDT; entre ellas: auto-completado de código, auto-identador.
• Komodo IDE: Komodo Edit, libre y gratuito, el IDE es licencia comercial – (Mozilla).
• NuSphere PhpED: Comercial, para linux y windows.
• Quanta: GPL y gratuito, para GNU/linux con QT.
• Bluefish: GPL y gratuito, para GNU/linux con GTK.
• gEdit: Editor de texto por defecto en Gnome – (Linux).
• Geany:GPL, para linux y Windows. Sumamente liviano. Incluye autocompletado, autoidentador, soporte para numerosos lenguajes.
• phpDesigner: Comercial y Freeware, para linux y windows. Incluye integración con el manual, autocompletado en código y viene en varios idiomas.
• Rapid PHP: Comercial, para windows.
• AJAX PHP IDE: Entorno de desarrollo para PHP que utiliza funcionalidad AJAX en los eventos de los formularios diseñados. Separación de la lógica y el html.
 ASP
Es el lenguaje de scripting del lado del servidor creado por Microsoft.
ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de páginas dinámicas del servidor. ASP se escribe en la misma página web, utilizando el lenguaje Visual Basic Script o Jscript (Javascript de Microsoft).
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la página ASP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. Podemos saber algo más sobre la programación del servidor y del cliente en el artículo qué es DHTML.
El tipo de servidores que emplean este lenguaje son, evidentemente, todos aquellos que funcionan con sistema Windows NT, aunque también se puede utilizar en un PC con windows 98 si instalamos un servidor denominado Personal Web Server. Incluso en sistemas Linux podemos utilizar las ASP si intalamos un componente denominado Chilisoft, aunque parece claro que será mejor trabajar sobre el servidor web para el que está pensado: Internet Information Server.
Con las ASP podemos realizar muchos tipos de aplicaciones distintas. Nos permite acceso a bases de datos, al sistema de archivos del servidor y en general a todos los recursos que tenga el propio servidor. También tenemos la posibilidad de comprar componentes ActiveX fabricados por distintas empresas de desarrollo de software que sirven para realizar múltiples usos, como el envio de correo, generar gráficas dinámicamente, y un largo etc.
Actualmente se ha presentado ya la segunda versión de ASP, el ASP.NET, que comprende algunas mejoras en cuanto a posibilidades del lenguaje y rapidez con la que funciona. ASP.NET tiene algunas diferencias en cuanto a sintaxis con el ASP, de modo que se ha de tratar de distinta manera uno de otro.
ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.
Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones.
Historia
Microsoft introdujo la tecnología llamada Active Server Pages en diciembre de 1996. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que “Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web”.
Después del lanzamiento del Internet Information Services 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código “limpio”.1 A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar como debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codificó los prototipos iníciales durante las celebraciones navideñas de 1997.2
El prototipo inicial fue llamado “XSP”; Guthrie explicó en una entrevista en el año 2007 que,
“People would always ask what the X stood for. At the time it really didn’t stand for anything. XML started with that; XSLT started with that. Everything cool seemed to start with an X, so that’s what we originally named it”.1
“La gente siempre se preguntaba qué significaba la X. En ese momento, realmente no significaba nada. XML comenzaba así, al igual que XSLT. Todo lo novedoso parecía empezar con una X, así que ese es el motivo por el que originalmente lo llamamos así.”
El desarrollo inicial de XSP fue hecho usando Java,3 pero pronto se decidió construir una nueva plataforma sobre el Common Language Runtime(CLR), pues ofrecía un ambiente orientado a objetos, recolección de basura y otras características que fueron vistas como características deseables. Guthrie describió esta decisión como un “alto riesgo”, pues el éxito de su nueva plataforma de desarrollo web estaría atado al éxito del CLR, que, como XSP, aún estaba en etapas tempranas de desarrollo, tanto así que el equipo XSP fue el primer equipo en Microsoft en enfocarse en el CLR.
Con el cambio al Common Language Runtime, XSP fue implementado en C# (conocido internamente como “Project Cool” pero mantenido en secreto para el público), y fue renombrado a ASP+, para este punto la nueva plataforma fue vista como el sucesor de Active Server Pages, y la intención fue proporcionar un medio fácil de migración para los desarrolladores ASP.4
La primera demostración publica y la liberación de la primera beta de ASP+ (y el resto del .NET Framework) se realizó en el Microsoft’s Professional Developers Conference (PDC) el 11 de julio de 2000 en Orlando, Florida. Durante la presentación de Bill Gates, Fujitsu demostró ASP+ usado en conjunción con COBOL,5 y el soporte para una variedad de otros lenguajes fue anunciada, incluyendo los nuevos lenguajes de Microsoft, Visual Basic .NET y C#, así como también el soporte por medio de herramientas de interoperabilidad para Python y Perl creadas por la empresa canadiense ActiveState.6
Una vez que la marca “.NET” fue seleccionada en la segunda mitad del 2000. se cambió el nombre de ASP+ a ASP.NET. Mark Anders explicó en una aparición en The MSDN Show en ese año,
“The .NET initiative is really about a number of factors, it’s about delivering software as a service, it’s about XML and web services and really enhancing the Internet in terms of what it can do …. we really wanted to bring its name more in line with the rest of the platform pieces that make up the .NET framework.”4
“La iniciativa .NET comprende un número de factores, trata sobre la entrega de software como servicio, sobre XML y servicios web y la mejora real del Internet en terminos de que puede hacer… de verdad queremos llevar su nombre (de ASP+) mas alineado con el resto de las piezas de la plataforma que componen el .NET framework”
Después de cuatro años de desarrollo, y una serie de versiones de evaluación en los años 2000 y 2001, ASP.NET 1.0 fue liberado el 5 de enero de 2002 como parte de la versión 1.0 del .NET Framework. Incluso antes de su liberación, docenas de libros habían sido escritos sobre ASP.NET7 y Microsoft lo promocionó fuertemente como parte de su plataforma para servicios web. Guthrie se convirtió en administrador de producto para ASP.NET y su desarrollo continuó rápidamente, con la versión 1.1 siendo liberada el 24 de abril de 2003 como parte del Windows Server 2003. Esta liberación se enfocó en mejorar el soporte de ASP.NET a dispositivos móviles.
Características
Páginas
Las páginas de ASP.NET, conocidas oficialmente como “web forms” (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web.8 Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque que es muy similar a otras tecnologías de desarrollo como PHP, JSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página.

ASP.NET sólo funciona sobre el servidor de Microsoft IIS, lo que supone una desventaja respecto a otros lenguajes del lado de servidor, ejecutables sobre otros servidores más populares como Apache. Ejemplos de esto son PHP, Perl o Python.
Formulario web de ejemplo
Este es un ejemplo que utiliza código “en línea”, opuesto al código independiente (code-behind).

protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongDateString();
}

Página de Ejemplo

El modelo Code-behind
Microsoft recomienda que para realizar programación dinámica se use el modelo code-behind, o de respaldo, que coloca el código en un archivo separado o en una etiqueta de script especialmente diseñada. Los nombres de los archivos code-behind están basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta práctica se realiza automáticamente en Microsoft Visual Studio y otras interfaces de desarrollo). Cuando se usa este estilo de programación, el desarrollador escribe el código correspondiente a diferentes eventos, como la carga de la página, o el clic en un control, en vez de un recorrido lineal a través del documento.
El modelo code-behind de ASP.NET marca la separación del ASP clásico y alienta a los desarrolladores a construir aplicaciones con la idea de presentación y contenido separados en mente. En teoría, esto permite a un diseñador web, por ejemplo, enfocarse en la creación del diseño con menos posibilidades de alterar el código de programación mientras lo hace. Esto es similar a la separación en el Modelo Vista Controlador
Ejemplo

La etiqueta superior es colocada al inicio del archivo ASPX. La propiedad CodeFile de la directiva @ Page especifica que archivo (.cs o .vb) contiene el código code-behind mientras que la propiedad Inherits especifica la clase de la cual deriva la página. En este ejemplo, la directiva @ Page está incluida en EjemploCodeBehind.aspx y el archivo EjemploCodeBehind.aspx.cs contendrá el código para esta página:
using System;

namespace SitioWeb
{
public partial class EjemploCodeBehind: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
En este caso, el método Page_Load() será llamado cada vez que la página ASPX sea solicitada al servidor. El programador puede implementar manejadores de eventos en varias etapas del proceso de ejecución de la página..
Controles de usuario
ASP.NET permite la creación de componentes reutilizables a través de la creación de Controles de Usuario (User Controls). Un control de usuario sigue la misma estructura que un formulario web, excepto que los controles derivan de la clase System.Web.UI.UserControl, y son almacenados en archivos ASCX. Como los archivos ASPX, un ASCX contiene etiquetas HTML o XHTML, además de etiquetas para definir controles web y otros controles de usuario. También pueden usar el modelo code-behind.
Los programadores pueden agregar sus propias propiedades y métodos,9 y manejadores de eventos.Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un evento disparado por un control de usuario a la página que lo contiene.
Administración del estado
Las aplicaciones ASP.NET son alojadas en un servidor web y se tiene acceso a ellas mediante el protocolo sin estado HTTP, que no guarda ninguna información sobre conexiones anteriores. Por lo tanto, si la aplicación requiere interacción entre conexiones, tiene que implementar su propia administración del estado. ASP.NET proporciona varias maneras de administrar el estado de las aplicaciones ASP.NET.
Estado de la aplicación
El estado de la aplicación (Application state) es una colección de variables definidas por el usuario que son compartidas por todas las invocaciones de una aplicación ASP.NET. Estas son establecidas e inicializadas cuando el evento Application_OnStart se dispara en la carga de la primera instancia de las aplicaciones y están disponible hasta que la última instancia termina. Las variables de estado de la aplicación son identificadas por nombres.11
Estado de la sesión
El estado de la sesión (Session state) es una colección de variables definidas por el usuario, las cuales persisten durante la sesión de un usuario. Estas variables son únicas para diferentes instancias de una sesión de usuario, y son accedidas usando la colección Session. Las variables de sesión pueden ser preparadas para ser automáticamente destruidas después de un determinado tiempo de inactividad, incluso si la sesión no ha terminado. Del lado del cliente, una sesión de usuario es identificada por una cookie o codificando el ID de la sesión en la misma URL.11
ASP.NET proporciona tres modos de persistencia para variables de sesión:11
InProc
Las variables de sesión son mantenidas dentro del proceso. Sin embargo, en este modo, las variables son destruidas cuando el proceso ASP.NET es reciclado o terminado.
StateServer
En este modo, ASP.NET ejecuta un servicio de Windows separado que mantiene las variables de estado. Como esta administración de estado ocurre fuera del proceso ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a múltiples instancias de ASP.NET compartir el mismo estado del servidor, permitiendo que una aplicación ASP.NET pueda tener su carga balanceada y escalada en múltiples servidores. También, como el servicio de administración del estado se ejecuta independiente de ASP.NET, las variables pueden persistir a través de las finalizaciones del proceso ASP.NET.
SqlServer
En este modo, las variables de estado son almacenadas en un servidor de base de datos, accesible usando SQL. Las variables de sesión pueden persistir a través de finalizaciones de procesos también en este modo.
Estado de la vista
El estado de la vista (View state) se refiere al mecanismo de administración de estado a nivel de página, que es utilizado por las páginas HTML generadas por las aplicaciones ASP.NET para mantener el estado de los controles de los formularios web y los widgets. El estado de los controles es codificado y mandado al servidor en cada envío del formulario en un campo oculto conocido como __VIEWSTATE. El servidor envía de regreso las variables para que cuando la página sea renderizada de nuevo, los controles volverán a su último estado. Del lado del servidor, la aplicación puede cambiar el estado de la vista, si los resultados del procesamiento actualizan el estado de cualquier control. El estado de los controles individuales son decodificados en el servidor, y están disponibles para su uso en ASP.NET usando la colección ViewState.12 13
Motor de plantillas
Al ser liberado, ASP.NET carecía de un motor de plantillas. Debido a que el .NET framework es orientado a objetos y permite la herencia, muchos desarrolladores podrían definir una nueva clase que herede desde “System.Web. UI.Page”, escribir métodos en ella que renderizen HTML, y entonces hacer las páginas en su aplicación que hereden de esta nueva clase. Mientras esto permite que los elementos comunes sean dentro de un sitio, agrega complejidad y mezcla código fuente con lenguaje de marcado. Además, este método puede ser visto solamente al ejecutar la aplicación, no mientras se está diseñando. Otros desarrolladores han usado archivos incluidos y otros trucos para evitar la implementación de enlaces de navegación y otros elementos en cada página.
ASP.NET 2.0 presentó el concepto de página maestra (Master Page), que permite el desarrollo de páginas basado en plantillas web. Una aplicación web puede tener una o más páginas maestras, las cuales pueden ser anidadas.14 Las plantillas maestras contienen controles contenedores, llamados ContentPlaceHolders para indicar donde ira el contenido dinámico, además de HTML y JavaScript que será compartido a través de las páginas hijas.
Las páginas hijas también usan esos controles ContentPlaceHolder, que deben ser relacionados con el ContentPlaceHolder de la página maestra que contiene a esta página hija. El resto de la página está definido por las partes compartidas de la página maestra. Todo el lenguaje de marcado y controles de servidor en la página de contenido deben ser colocadas dentro del control ContentPlaceHolder.
Cuando una solicitud es hecha por una página de contenido, ASP.NET mezcla la salida de la página de contenido con la salida de la página maestra, y envía el resultado al usuario.
La página maestra permanece completamente accesible a la página del contenido. Esto significa que la página de contenidos puede manipular los encabezados, cambiar el título, configurar la cache, etc. Si la página maestra expone propiedades públicas o métodos, el contenido de la página puede utilizar estos también.
Otros archivos
Otras extensiones de archivo asociadas con las diferentes versiones de ASP.NET incluyen:
Extensión Versión requerida Descripción
asax 1.0 Global.asax, usada para la logica a nivel de aplicación15

ascx 1.0 Controles de usuario web: Controles personalizados para ser colocados en páginas web
ashx 1.0 Manejadores HTTP personalizados

asmx 1.0 Páginas de servicios web

axd 1.0 Cuando está habilitado en el web.config la solicitud de trace.axd genera trazas de salida a nivel de aplicación. También es usado para el manejador especial webresource.axd que permite a los desarrolladores de controles/componentes empacar un control/componente con imágenes, script, CSS, etc. para el desarrollo de un archivo único (un ‘ensamblado’)
browser 2.0 Archivos de capacidades del navegador almacenadas en formato XML; introducido en la versión 2.0. ASP.NET incluye muchos de estos por defecto, para admitir a los navegadores web comunes. Estos especifican que navegadores tienen que capacidades, así que ASP.NET 2 puede automáticamente personalizar y optimizar su salida de acuerdo al navegador. Los archivos especiales .browser están disponibles en descarga libre para manejar, por ejemplo, el validador de la W3C. Reemplaza la sección BrowserCaps que se encontraba en el archivo machine.config en ASP.NET 1.x
config 1.0 web.config es el único archivo en una aplicación web especifica que usa esta extensión por defecto (machine.config tiene efectos similares en un servidor web y todas las aplicaciones en el), sin embargo ASP.NET proporciona la facilidad de crear y utilizar otros archivos config. Son almacenados en formato XML

cs/vb 1.0 Archivos de código fuente (cs indica C#, vb indica Visual Basic). Los archivos code-behind predominantemente tienen la extensión “.aspx.cs” o “.aspx.vb” para los dos lenguajes más comunes. Otros archivos de código (que frecuentemente contienen bibliotecas de clases) pueden también existir en las carpetas web con las extensiones cs/vb. En ASP.NET 2 estos deberían estar colocados dentro de la carpeta App_Code donde son dinámicamente compilados y están disponibles para toda la aplicación
dbml 3.5 Archivo de clases de datos LINQ a SQL

master 2.0 Archivo de página maestra
resx 1.0 Archivos de recursos para localización y globalización. Los archivos de recursos pueden ser globales (por ejemplo, mensajes) o locales, que están hechos específicamente para un solo archivo aspx o ascx.
sitemap 2.0 Archivos de configuración sitemap
skin 2.0 Archivos de pieles de temas
svc 3.0 Archivos de servicio de Windows Communication Foundation

Estructura de directorios
En general, la estructura de directorios de ASP.NET puede ser determinada por las preferencias del desarrollador. Aparte de unos pocos nombres de directorios reservados, el sitio puede expandirse a cualquier número de directorios. La estructura es típicamente reflejada directamente en las urls.
Los nombres de directorios especiales (a partir de ASP.NET 2.0 son):16
App_Browsers
Contiene archivos de definición específicos para navegadores.
App_Code
Es un directorio para códigos. El servidor ASP.NET automáticamente compilara los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde cualquier página del sitio. App_Code es típicamente usada para código de acceso a datos, código de modelo o código de negocios. También cualquier manejador http especifico para el sitio e implementación de módulos y servicios web van este directorio. Como alternativa a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado independiente con código precompilado.
App_Data
Directorio por defecto para las base de datos, tales como archivos mdb de Microsoft Access y archivos mdf de Microsoft SQL Server. Este directorio es usualmente el único con permisos de escritura en la aplicación.
App_LocalResources
Contiene archivos de recursos localizados para páginas individuales del sitio.
App_GlobalResources
Contiene archivos resx con recursos localizados disponibles para cada página del sitio. Este es donde el desarrollador ASP.NET típicamente almacenara mensajes que serán usados en más de una página.
App_Themes
usado para temas alternativos del sitio.
App_WebReferences
Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio.
Bin
Contiene código compilado (archivos .dll) para controles, componentes, y otro código que pueda ser referenciado por la aplicación. Cualquier clase representada por código en la carpeta Bin es automáticamente referenciada en la aplicación.
Evolución respecto al ASP clásico
En el modelo de desarrollo web basado en páginas activas, la programación ASP actual tiene diversas limitaciones:
• Para que todo ocurra en una página web, es habitual escribir una gran cantidad de código para resolver necesidades sencillas. ASP.NET incorpora un modelo declarativo a la programación web: los controles de servidor funcionan en una página Web simplemente declarándolos. Cuando se carga la página ASP.NET, se instancian los controles listados en la página ASP y es responsabilidad del control emitir código HTML que el navegador pueda entender.
• ASP clásico es un tanto desorganizado. En una página ASP podemos incluir casi todo: HTML plano, código script, objetos COM y texto. No hay una distinción formal entre el contenido de una página y su comportamiento: simplemente, insertamos código en la página, y a ver qué pasa. ASP.NET impone un cierto orden sobre el modelo de programación estándar ASP. En cierto modo, esta “desorganización” puede evitarse fácilmente usando el sentido común y algunas de las nuevas tecnologías. Por ejemplo, podemos escribir en nuestras páginas ASP únicamente código VBScript. Dicho código generaría un mensaje XML, que luego seria interpretado por un archivo XSLT. De esta forma conseguimos evitar el llamado “código spaguetti”, aumentando la claridad del código y la velocidad de ejecución de las páginas ASP.
• La tercera limitación en el desarrollo con ASP es que con el tradicional utilizamos lenguajes de scripting no tipados como VBScript o JScript. Podemos instalar otros motores de scripting que impongan verificación de tipos; sin embargo, no son universalmente conocidos o utilizados como los anteriores. ASP.NET claramente separa la porción basada en script de una página web de su contenido.
• ASP.Net, puede decirse que en nuevo nivel de abstracción en la construcción de sitios web, por que se pueden crear rápidamente aplicaciones web, basándose en los controles incluidos en el frameWork o muchos gratuitos que hay en la red, ocultando el código de mucho Ej: Puedes crear fácilmente un grid o tabla, y ésta se auto-ordena, página, etc, obteniendo sus datos desde cualquier base de datos. Incluye una gran herramienta para la construcción de reportes, y esto incluyen medios automáticos para exportarlos a XLS o PDF, y de igual forma incluye CristalReport. Además permite separar completamente la interfaz de la lógica de negocio. Excelente para desarrollo de aplicaciones multicapas.
• Es muy sencilla la creación de páginas con AJAX, sólo incluyendo unos controles, así como descargar gratuitamente el ToolKit de ASP.Net Ajax.
Uso actual del lenguaje
En la actualidad una aplicación ASP.NET puede ejecutarse de dos formas distintas:
Aplicaciones cliente/servidor: Estas aplicaciones están típicamente en formato de ejecutables compilados. Estos pueden integrar toda la riqueza de una interfaz de usuario, tal es el caso de las aplicaciones de desempeño y productividad, pero no se reúne la lógica de negocio como un recurso que se pueda reutilizar. Además acostumbran ser menos gestionables y escalables que las demás aplicaciones.
Aplicaciones que utilizan el navegador: Dichas aplicaciones están caracterizadas por contar con una interfaz de web rica y muy útil. La interfaz gráfica integra varias tecnologías, las cuales son el HTML, XHTML, scripting, etc; siempre y cuando el navegador que se esté utilizando soporte estas tecnologías.

Esta entrada fue publicada en Uncategorized. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s