SlideShare una empresa de Scribd logo
1 de 124
NOMBRE DE LA INSTITUCION
INSTITUTO REGIONAL DE COMPUTACION
Y
ADMINISTRACION (I.R.C.A)
TRABAJO DE
BASE DE DATOS
NOMBRE DEL ALUMNO
JOSE EFRAIN PEREZ CHICAS
NOMBRE DEL DOCENTE
LIC: JUAN
FECHA DE ENTREGA
VIERNES 20 DE JUNIO DEL 2014
BASE DE DATOS
MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario
con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una
subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de
2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia,
pero para aquellas empresas que quieran incorporarlo en productos privativos deben
comprar a la empresa una licencia específica que les permita este uso. Está
desarrollado en su mayor parte en ANSI C.
Al contrario de proyectos como Apache, donde el software es desarrollado por una
comunidad pública y los derechos de autor del código están en poder del autor
individual, MySQL es patrocinado por una empresa privada, que posee el copyright de
la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento
anteriormente mencionado. Además de la venta de licencias privativas, la compañía
ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del
mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan
Larsson y Michael Widenius.
MySQL es usado por muchos sitios web grandes y populares, como Wikipedia, Google
(aunque no para búsquedas), Facebook, Twitter, Flickr, y YouTube.
MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas
(Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de
seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy
ligada a PHP, que a menudo aparece en combinación con MySQL.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no
transaccional MyISAM, pero puede provocar problemas de integridad en entornos de
alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la
modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que
hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que
va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para
detectar y corregir errores tanto de SQL como de programación.
Uno de los objetivos fundamentales de un sistema de información es contar no sólo
con recursos de información, sino también con los mecanismos necesarios para poder
encontrar y recuperar estos recursos. De esta forma, las bases de datos se han
convertido en un elemento indispensable no sólo para el funcionamiento de los
grandes motores de búsqueda y la recuperación de información a lo largo y ancho de
la Web, sino también para la creación de sedes web, Intranets y otros sistemas de
información en los que se precisa manejar grandes o pequeños volúmenes de
información. La creación de una base de datos a la que puedan acudir los usuarios para
hacer consultas y acceder a la información que les interese es, pues, una herramienta
imprescindible de cualquier sistema informativo sea en red o fuera de ella.
QUE ES UNA TABLA
Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan
los datos recogidos por un programa. Su estructura general se asemeja a la vista
general de un programa de hoja de cálculo.
Una tabla es utilizada para organizar y presentar información. Las tablas se componen
de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas
se componen de dos estructuras:
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos
de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y
direcciones, cada fila contendrá un nombre y una dirección.
Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo
diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo
de datos único, como una dirección, o un número de teléfono, un nombre, etc.
A los campos se les puede asignar, además, propiedades especiales que afectan a los
registros insertados. El campo puede ser definido como índice o autoincreméntale, lo
cual permite que los datos de ese campo cambien solos o sea el principal indicar a la
hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola
accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base
de datos elegida) La estructura de las tablas viene dado por la forma de un archivo
plano, los cuales en un inicio se componían de un modo similar.
Además de la función estándar de las tablas básicas definidas por el usuario, SQL
Server proporciona los siguientes tipos de tabla, que permiten llevar a cabo objetivos
especiales en una base de datos que se utiliza para acomodar los datos.
Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente
entre unidades que pueden repartirse por más de un grupo de archivos de una base
de datos. Las particiones facilitan la administración de las tablas y los índices grandes
porque permiten obtener acceso y administrar subconjuntos de datos con rapidez y
eficacia al mismo tiempo que mantienen la integridad del conjunto. En un escenario
de broadway, las operaciones como, por ejemplo, la carga de datos de un sistema
OLTP a un sistema OLAP, pueden realizarse en cuestión de segundos en lugar de
minutos u horas en otras versiones. Las operaciones de mantenimiento que se realizan
en los subconjuntos de datos también se realizan de forma más eficaz porque sólo
afectan a los datos necesarios en lugar de a toda la tabla.
Tiene sentido crear una tabla con particiones si la tabla es muy grande o se espera que
crezca mucho, y si alguna de las dos condiciones siguientes es verdadera:
La tabla contiene, o se espera que contenga, muchos datos que se utilizan de manera
diferente. Las consultas o las actualizaciones de la tabla no se realizan como se
esperaba o los costos de mantenimiento son superiores a los períodos de
mantenimiento predefinidos. Las tablas con particiones admiten todas las proiedades
y características asociadas con el diseño y consulta de tablas estándar, incluidas las
restricciones, los valores predeterminados, los valores de identidad y marca de
tiempo, los desencadenadores y los índices. Por lo tanto, si desea implementar una
vista con particiones que sea local respecto a un servidor, debe implementar una tabla
con particiones. Para obtener información para comprender, diseñar e implementar
tablas con particiones, vea Tablas e índices con particiones.
Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales
son visibles sólo para sus creadores durante la misma conexión a una instancia de SQL
Server como cuando se crearon o cuando se hizo referencia a ellas por primera vez.
Las tablas temporales locales se eliminan cuando el usuario se desconecta de la
instancia de SQL Server. Las tablas temporales globales están visibles para cualquier
usuario y conexión una vez creadas, y se eliminan cuando todos los usuarios que hacen
referencia a la tabla se desconectan de la instancia de SQL Server.
SQL Server almacena los datos que definen la configuración del servidor y de todas sus
tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los
usuarios no pueden consultar ni actualizar directamente las tablas del sistema si no es
a través de una conexión de administrador dedicada (DAC) que sólo debería utilizarse
bajo la supervisión de los servicios de atención al cliente de Microsoft. Para obtener
más información, vea Usar una conexión de administrador dedicada. Las tablas de
sistema se cambian normalmente en cada versión nueva de SQL Server. Puede que las
aplicaciones que hacen referencia directamente a las tablas del sistema tengan que
escribirse de nuevo para poder actualizarlas a una versión nueva de SQL Server con
una versión diferente de las tablas de sistema.
Con las tablas anchas, puede crear esquemas flexibles dentro de una aplicación. Puede
agregar o quitar columnas siempre que lo desee.
EN BASE DE DATOS QUE SON LOS METADATOS
El término «metadatos» no tiene una definición única. Según la definición más
difundida de metadatos es que son «datos sobre datos». También hay muchas
declaraciones como «informaciones sobre datos <<datos sobre informaciones>> e
«informaciones sobre informaciones>>
Otra clase de definiciones trata de precisar el término como «descripciones
estructuradas y opcionales que están disponibles de forma pública para ayudar a
localizar objetos»7 o «datos estructurados y codificados que describen características
de instancias conteniendo informaciones para ayudar a identificar, descubrir, valorar
y administrar las instancias descritas».8 Esta clase surgió de la crítica de que las
declaraciones más simples son tan difusas y generales que dificultarán la tarea de
acordar estándares, pero estas definiciones no son muy comunes.
Podemos también considerar los metadatos, en las áreas de telecomunicaciones e
informática, como información no relevante para el usuario final pero sí de suma
importancia para el sistema que maneja la data. Los metadatos son enviados junto a
la información cuando se realiza alguna petición o actualización de la misma.
En el campo biológico los metadatos se han convertido en una herramienta
fundamental para el descubrimiento de datos e información. En este contexto se
pueden definir los metadatos como «una descripción estandarizada de las
características de un conjunto de datos» con esto se incluye la descripción del
contexto en el cual los datos fueron coleccionados y además se refiere al uso de
estándares para describirlos.
El uso de los metadatos mencionado más frecuentemente es la refinación de consultas
a buscadores. Usando información adicional los resultados son más precisos, y el
usuario se ahorra filtraciones manuales complementarias.
El intervalo semántico plantea el problema de que el usuario y el ordenador no se
entiendan porque este último no comprenda el significado de los datos. Es posible que
los metadatos posibiliten la comunicación declarando cómo están relacionados los
datos. Por eso la representación del conocimiento usa metadatos para categorizar
informaciones. La misma idea facilita la inteligencia artificial al deducir conclusiones
automáticamente.
Los metadatos facilitan el flujo de trabajo convirtiendo datos automáticamente de un
formato a otro. Para eso es necesario que los metadatos describan contenido y
estructura de los datos.
Algunos metadatos hacen posible una compresión de datos más eficaz. Por ejemplo,
si en un vídeo el software sabe distinguir el primer plano del fondo puede usar
algoritmos de compresión diferentes y así mejorar la cuota de compresión.
Otra idea de aplicación es la presentación variable de datos. Si hay metadatos
señalando los detalles más importantes, un programa puede seleccionar la forma de
presentación más adecuada. Por ejemplo, si un teléfono móvil sabe dónde está
localizada una persona en una imagen, tiene la posibilidad de reducirlo a las
dimensiones de su pantalla. Del mismo modo un navegador puede decidir presentar
un diagrama a su usuario ciego en forma táctil o leída.
Los metadatos se clasifican usando tres criterios:
 Contenido. Subdividir metadatos por su contenido es lo más común. Se puede
separar los metadatos que describen el recurso mismo de los que describen el
contenido del recurso. Es posible subdividir estos dos grupos más veces, por
ejemplo para separar los metadatos que describen el sentido del contenido de
los que describen la estructura del contenido o los que describen el recurso
mismo de los que describen el ciclo vital del recurso.
 Variabilidad. Según la variabilidad se puede distinguir metadatos mutables e
inmutables. Los inmutables no cambian, no importa qué parte del recurso se
vea, por ejemplo el nombre de un fichero. Los mutables difieren de parte a
parte, por ejemplo el contenido de un vídeo.
 Función. Los datos pueden ser parte de una de las tres capas de funciones:
subsimbólicos, simbólicos o lógicos. Los datos subsimbólicos no contienen
información sobre su significado. Los simbólicos describen datos
subsimbólicos, es decir añaden sentido.
Que son los Registro
En informática, o concretamente en el contexto de una base de datos relacional, un
registro (también llamado fila o tupla) representa un objeto único de datos
implícitamente estructurados en una tabla. En términos simples, una tabla de una
base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de
una tabla representa un conjunto de datos relacionados, y todas las filas de la misma
tabla tienen la misma estructura.
Un registro es un conjunto de campos que contienen los datos que pertenecen a una
misma repetición de entidad. Se le asigna automáticamente un número consecutivo
(número de registro) que en ocasiones es usado como índice aunque lo normal y
práctico es asignarle a cada registro un campo clave para su búsqueda.
Una Base de Datos Relacional, es una base de datos que cumple con el modelo
relacional, el cual es el modelo más utilizado en la actualidad para implementar bases
de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los
datos (que están guardados en tablas), y a través de dichas conexiones relacionar los
datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser
postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma en los modelos
de base de datos.
 Una Base de Datos se compone de varias tablas o relaciones.
 No pueden existir dos tablas con el mismo nombre ni registro.
 Cada tabla es a su vez un conjunto de registros (filas y columnas).
 La relación entre una tabla padre y un hijo se lleva a cabo por medio de las
claves primarias y ajenas (o foráneas).
 Las claves primarias son la clave principal de un registro dentro de una tabla y
éstas deben cumplir con la integridad de datos.
 Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la
clave primaria del registro padre; por medio de éstas se hacen las formas
relacionales
La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o
instancia).
El esquema es la definición de la estructura de la base de datos y principalmente
almacena los siguientes datos:
 El nombre de cada tabla
 El nombre de cada columna
 El tipo de dato de cada columna
Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este
software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o
RDBMS (del inglés Relational Database Management System).
Entre los gestores o manejadores actuales más populares encontramos:
 MySQL
 PostgreSQL
 Oracle
 DB2
 INFORMIX
 Interbas
 FireBird
 Sybase
 Microsoft SQL Server
QUE ES UN PROGRAMA
Un programa informático es un conjunto de instrucciones que una vez ejecutadas
realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no
pueden funcionar. Al conjunto general de programas, se le denomina software, que
más genéricamente se refiere al equipamiento lógico o soporte lógico de una
computadora digital.
En informática, se los denomina comúnmente binarios, (propio en sistemas Unix,
donde debido a la estructura de este último, los ficheros no necesitan hacer uso de
extensiones; posteriormente, los presentaron como ficheros ejecutables, con
extensión .exe, en los sistemas operativos de la familia Windows) debido a que una
vez que han pasado por el proceso de compilación y han sido creados, las instrucciones
que se escribieron en un determinado lenguaje de programación, han sido traducidas
al único idioma que la máquina comprende, combinaciones de ceros y unos llamado
código máquina. El mismo término, puede referirse tanto a un programa ejecutable,
como a su código fuente, el cual es transformado en un binario una vez que es
compilado.
Generalmente el código fuente lo escriben profesionales conocidos como
programadores. Este código se escribe en un lenguaje que sigue uno de los siguientes
dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido
en una imagen ejecutable a través de un programa-compilador. Cuando se pide que el
programa sea ejecutado, el procesador ejecuta instrucción por instrucción.
De acuerdo a sus funciones, los programas informáticos se clasifican en software de
sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar
varios programas de forma simultánea y eficiente, se le conoce como multitarea.
La programación de computadoras es el proceso iterativo de escribir o editar código
fuente. Dicha edición de código fuente implica probar, analizar y perfeccionar, y, a
veces, coordinar con otros programadores, en el caso de un programa desarrollado en
Conjunto. Una persona que practica esta técnica se la conoce como programador de
computadoras, desarrollador de software, o codificador. El proceso, a veces a largo
plazo, de programación de computadoras normalmente se lo conoce como desarrollo
de software. El término ingeniería de software se está convirtiendo en muy popular,
ya que esta actividad es vista como una disciplina de ingeniería.
Categorías funcionales:
Los programas se pueden categorizar según líneas funcionales. Estas categorías
funcionales son software de sistema y software de aplicación. El software de sistema
incluye al sistema operativo el cual acopla el hardware con el software de aplicación.
El propósito del sistema operativo es proveer un ambiente en el cual el software de
aplicación se ejecuta de una manera conveniente y eficiente. Además del sistema
operativo, el software de sistema incluye programas utilitarios que ayudan a manejar
y configurar la computadora. Si un programa no es software de sistema entonces es
software de aplicación. El middleware también es un software de aplicación que
acopla el software de sistema con la interfaz de usuario. También son software de
aplicación los programas utilitarios que ayudan a los usuarios a resolver problemas de
aplicaciones, como por ejemplo la necesidad de ordenamiento.
QUE ES UN SOFTWARE
Software (pronunciación AFI: es una palabra proveniente del inglés (literalmente:
partes blandas o suaves), que en español no posee una traducción adecuada al
contexto, por lo cual se la utiliza asiduamente sin traducir y así fue admitida por la
Real Academia Española (RAE).Aunque puede no ser estrictamente lo mismo, suele
sustituirse por expresiones tales como programas (informáticos) o aplicaciones
(informáticas) o soportes lógicos.
Se conoce como software1 al equipamiento lógico o soporte lógico de un sistema
informático, que comprende el conjunto de los componentes lógicos necesarios que
hacen posible la realización de tareas específicas, en contraposición a los
componentes físicos que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas;
tales como el procesador de texto, que permite al usuario realizar todas las tareas
concernientes a la edición de textos; el llamado software de sistema, tal como el
sistema operativo, que básicamente permite al resto de los programas funcionar
adecuadamente, facilitando también la interacción entre los componentes físicos y el
resto de las aplicaciones, y proporcionando una interfaz con el usuario.
El anglicismo "software" es el más ampliamente difundido al referirse a este concepto,
especialmente en la jerga técnica; en tanto que el término sinónimo «logicial»,
derivado del término francés logiciel, es utilizado mayormente en países y zonas de
influencia francesa.
Existen varias definiciones similares aceptadas para software, pero probablemente la
más formal sea la siguiente:
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación
y datos asociados, que forman parte de las operaciones de un sistema de
computación.
Considerando esta definición, el concepto de software va más allá de los programas
de computación en sus distintos estados: código fuente, binario o ejecutable; también
su documentación, los datos a procesar e incluso la información de usuario forman
parte del software: es decir, abarca todo lo intangible, todo lo «no físico» relacionado.
El término «software» fue usado por primera vez en este sentido por John W. Tukey
en 1957. En la ingeniería de software y las ciencias de la computación, el software es
toda la información procesada por los sistemas informáticos: programas y datos.
El concepto de leer diferentes secuencias de instrucciones (programa) desde la
memoria de un dispositivo para controlar los cálculos fue introducido por Charles
Babbage como parte de su máquina diferencial. La teoría que forma la base de la
mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de
1936, «Los números computables», con una aplicación al problema de decisión.
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines
prácticos se puede clasificar al software en tres grandes tipos:
 Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al
programador de los detalles del sistema informático en particular que se use,
aislándolo especialmente del procesamiento referido a las características
internas de: memoria, discos, puertos y dispositivos de comunicaciones,
impresoras, pantallas, teclados, etc. El software de sistema le procura al
usuario y programadores adecuadas interfaces de alto nivel, controladores,
herramientas y utilidades de apoyo que permiten el mantenimiento del
sistema global. Incluye entre otros:
 Sistemas operativos
 Controladores de dispositivos
 Herramientas de diagnóstico
 Herramientas de Corrección y Optimización
 Servidores
 Utilidades
 Software de programación: Es el conjunto de herramientas que permiten al
programador desarrollar programas informáticos, usando diferentes
alternativas y lenguajes de programación, de una manera práctica. Incluyen
básicamente:
 Editores de texto
 Compiladores
 Intérpretes
 Enlazadores
 Depuradores
 Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas,
usualmente en un entorno visual, de forma tal que el programador no necesite
introducir múltiples comandos para compilar, interpretar, depurar, etc.
Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).
 Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o
varias tareas específicas, en cualquier campo de actividad susceptible de ser
automatizado o asistido, con especial énfasis en los negocios. Incluye entre
muchos otros:
 Aplicaciones para Control de sistemas y automatización industrial
 Aplicaciones ofimáticas
 Software educativo
 Software empresarial
 Bases de datos
 Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
 Videojuegos
 Software médico
 Software de cálculo numérico y simbólico.
 Software de diseño asistido (CAD)
 Software de control numérico (CAM)
Etapas en el desarrollo del software
Captura, análisis y especificación de requisitos
Al inicio de un desarrollo (no de un proyecto), esta es la primera fase que se realiza, y,
según el modelo de proceso adoptado, puede casi terminar para pasar a la próxima
etapa (caso de Modelo Cascada Realimentado) o puede hacerse parcialmente para
luego retomarla (caso Modelo Iterativo Incremental u otros de carácter evolutivo).
En simple palabras y básicamente, durante esta fase, se adquieren, reúnen y
especifican las características funcionales y no funcionales que deberá cumplir el
futuro programa o sistema a desarrollar.
Las bondades de las características, tanto del sistema o programa a desarrollar, como
de su entorno, parámetros no funcionales y arquitectura dependen enormemente de
lo bien lograda que esté esta etapa. Esta es, probablemente, la de mayor importancia
y una de las fases más difíciles de lograr certeramente, pues no es automatizable, no
es muy técnica y depende en gran medida de la habilidad y experiencia del analista
que la realice.
Involucra fuertemente al usuario o cliente del sistema, por tanto tiene matices muy
subjetivos y es difícil de modelar con certeza o aplicar una técnica que sea «la más
cercana a la adecuada» (de hecho no existe «la estrictamente adecuada»). Si bien se
han ideado varias metodologías, incluso software de apoyo, para captura, elicitación
y registro de requisitos, no existe una forma infalible o absolutamente confiable, y
deben aplicarse conjuntamente buenos criterios y mucho sentido común por parte del
o los analistas encargados de la tarea; es fundamental también lograr una fluida y
adecuada comunicación y comprensión con el usuario final o cliente del sistema.
El artefacto más importante resultado de la culminación de esta etapa es lo que se
conoce como especificación de requisitos software o simplemente documento ERS.
Como se dijo, la habilidad del analista para interactuar con el cliente es fundamental;
lo común es que el cliente tenga un objetivo general o problema que resolver, no
conoce en absoluto el área (informática), ni su jerga, ni siquiera sabe con precisión qué
debería hacer el producto software (qué y cuantas funciones) ni, mucho menos, cómo
debe operar. En otros casos menos frecuentes, el cliente «piensa» que sabe
precisamente lo que el software tiene que hacer, y generalmente acierta muy
parcialmente, pero su empecinamiento entorpece la tarea de elicitación. El analista
debe tener la capacidad para lidiar con este tipo de problemas, que incluyen relaciones
humanas; tiene que saber ponerse al nivel del usuario para permitir una adecuada
comunicación y comprensión. Es bien conocida la presión que sufren los
desarrolladores de sistemas informáticos para comprender y rescatar las necesidades
de los clientes/usuarios. Cuanto más complejo es el contexto del problema más difícil
es lograrlo, a veces se fuerza a los desarrolladores a tener que convertirse en casi
expertos de los dominios que analizan.
QUE ES UNA EMPRESA
Se puede considerar que una definición de uso común en círculos comerciales es la
siguiente: “Una empresa es un sistema con su entorno materializa una idea, de forma
planificada, dando satisfacción a demandas y deseos de clientes, a través de una
actividad comercial". Requiere de una razón de ser, una misión, una estrategia,
objetivos, tácticas y políticas de actuación. Se necesita de una visión previa, y de una
formulación y desarrollo estratégico de la empresa. Se debe partir de una buena
definición de la misión. La planificación posterior está condicionada por dicha
definición.
La Comisión de la Unión Europea sugiere la siguiente definición: «Se considerará
empresa toda entidad, independientemente de su forma jurídica, que ejerza una
actividad económica. En particular, se considerarán empresas las entidades que
ejerzan una actividad artesanal u otras actividades a título individual o familiar, las
sociedades de personas, y las asociaciones que ejerzan una actividad económica de
forma regular».
De acuerdo al Derecho internacional, la empresa es el conjunto de capital,
administración y trabajo dedicados a satisfacer una necesidad en el mercado.
Un diccionario legal de EE. UU. Las define como: “an economic organization or activity;
especially: a business organization” (una organización o actividad económica;
especialmente una organización de negocios).
Otra definición -con un sentido más académico y de uso general entre sociólogos- es:
“Grupo social en el que a través de la administración de sus recursos, del capital y del
trabajo, se producen bienes o servicios tendientes a la satisfacción de las necesidades
de una comunidad. Conjunto de actividades humanas organizadas con el fin de
producir bienes o servicios”
Adam Smith se encuentra entre los primeros en teorizar al respecto. Para él una
empresa es la organización que permite la "internacionalización" de las formas de
producción: por un lado permite que los factores de producción (capital, trabajo,
recursos) se encuentren y por el otro permite la división del trabajo. Aun cuando para
Smith la forma "natural" y eficiente de tal organización era aquella motivada por el
interés privado -por ejemplo: «Es así que el interés privado y las pasiones de los
individuos los disponen naturalmente a volver sus posesiones (stock en el original)
hacia el empleo que en el caso ordinario son más ventajosos para la comunidad» -
Smith propone que hay también una necesidad o área que demanda acción pública:
«De acuerdo al sistema de Libertad Natural, el Soberano sólo tiene tres deberes que
atender, tercero, la obligación de realizar y conservar determinadas obras públicas y
determinadas instituciones públicas, cuya realización y mantenimiento no pueden ser
nunca de interés para un individuo particular o para un pequeño número de
individuos, porque el beneficio de las mismas no podría nunca reembolsar de su gasto
a ningún individuo particular o a ningún pequeño grupo de individuos, aunque con
frecuencia reembolsan con mucho exceso a una gran sociedad» - estableciendo así las
bases de lo que algunos han llamado la “Teoría de la empresas públicas”
 Finalidad económica externa, que es la producción de bienes o servicios para
satisfacer necesidades de la sociedad.
 Finalidad económica interna, que es la obtención de un valor agregado para
remunerar a los integrantes de la empresa. A unos en forma de utilidades o
dividendos y a otros en forma de sueldos, salarios y prestaciones. Esta finalidad
incluye la de abrir oportunidades de inversión para inversionistas y de empleo
para trabajadores. Se ha discutido mucho si una de estas dos finalidades está
por encima de la otra. Ambas son fundamentales, están estrechamente
vinculadas y se debe tratar de alcanzarlas simultáneamente. La empresa está
para servir a los hombres de afuera (la sociedad) y a los hombres de adentro
(sus integrantes).
 Finalidad social externa, que es contribuir al pleno desarrollo de la sociedad,
tratando que en su desempeño económico no solamente no se vulneren los
valores sociales y personales fundamentales, sino que en lo posible se
promuevan.
 Finalidad social interna, que es contribuir, en el seno de la empresa, al pleno
desarrollo de sus integrantes, tratando de no vulnerar valores humanos
fundamentales, sino también promoviéndolos.
Según las relaciones que mantengan con otras empresas y con los clientes:
Empresas aisladas o de lazo cerrado: se trata de un conjunto de empresas que son
independientes del resto del mercado, por lo que solo dependen de sí mismas (Este
hecho implica que todo el producto ha sido realizado por ellas mismas, desde la
materia prima hasta el producto elaborado, sin utilizar ningún producto
semielaborado). En la actualidad este modelo de empresa es prácticamente
inexistente.
Redes de empresas o empresas de lazo abierto: Unión temporal de empresas con unos
objetivos comunes, en la que cada una aporta sus competencias principales para
Poder a las necesidades del mercado y mejorar la situación de competencia. En la
actualidad, debido a la globalización es muy común encontrar empresas especializadas
en un subproducto concreto que forma parte de un producto elaborado. De esta forma
también existen empresas especializadas en comprar y ensamblar las distintas piezas
del producto acabado.
Según sector de la actividad.
Las empresas pueden clasificarse, de acuerdo con la actividad que desarrollen, en:
 Empresas del sector primario.
 Empresas del sector secundario.
 Empresas del sector terciario.
 Empresas del sector cuaternario.
 Una clasificación alternativa es:
 Industriales. La actividad primordial de este tipo de empresas es la producción
de bienes mediante la transformación de la materia o extracción de materias
primas. Las industrias, a su vez, se clasifican en:
 Extractivas. Cuando se dedican a la explotación de recursos naturales, ya sea
renovables o no renovables. Ejemplos de este tipo de empresas son las
pesqueras, madereras, mineras, petroleras, etc.
 Manufactureras: Son empresas que transforman la materia prima en
productos terminados, y pueden ser:
 De consumo final. Producen bienes que satisfacen de manera directa las
necesidades del consumidor. Por ejemplo: prendas de vestir, muebles,
alimentos, aparatos eléctricos, etc.
 De producción. Estas satisfacen a las personas de uso de consumo final.
Ejemplo: maquinaria ligera, productos químicos, etc.
 Comerciales. Son intermediarias entre productor y consumidor; su función
primordial es la compra/venta de productos terminados. Pueden clasificarse
en:
 Mayoristas: Venden a gran escala o a grandes rasgos.
Minoristas (detallistas): Venden al por menor.
Comisionistas: Venden de lo que no es suyo, dan a consignación.
Servicio. Son aquellas que brindan servicio a la comunidad que a su vez se clasifican
en:
 Transporte
 Turismo
 Instituciones financieras
 Servicios públicos (energía, agua, comunicaciones)
 Servicios privados (asesoría, ventas, publicidad, contable, administrativo)
 Educación
 Finanzas
QUE SON LOS PRODUCTOS
En mercadotecnia, un producto es una opción elegible, viable y repetible que la oferta
pone a disposición de la demanda, para satisfacer una necesidad o atender un deseo
a través de su uso o consumo. El producto es uno de los componentes estructurales
de la mezcla de mercadotecnia (en inglés marketing mix). El caso más común de la
misma es también conocido como "Las cuatro P" de la mercadotecnia, junto al Precio,
Plaza y Promoción. Sin embargo, en un sentido más amplio, la mezcla está integrada
por Oferta, Términos de Intercambio, Accesibilidad y Simbolización (en sus iniciales
OTAS), haciendo este último concepto de utilidad general para cualquier tipo de
análisis sostenido entre oferta y demanda, y no solo aplicable al mercado de consumo
masivo. En un diseño apropiado, la oferta puede integrarse conformando una
propuesta de valor que atiende armónicamente los requisitos, diferenciadores y
generadores de preferencia de la demanda.
Los productos pueden presentar muy diversas combinaciones valiosas para generar
demanda, que pueden enfocarse hacia:
 Bienes o productos físicos: son todos los elementos tangibles.
 Servicios: son intangibles, son inseparables (se producen y consumen al mismo
tiempo), son variables.
 Personas: se aplica a los profesionales de distintas áreas, por ej: actores.
 Lugares: como ciudades, países; parques o determinadas áreas geográficas.
 Instituciones: por ejemplo universidades, fundaciones, empresas (no sus
bienes o servicios), etc.
 Ideas y conceptos: abarca a proyectos de negocios, proyectos sociales, hasta
proyectos internos dentro de una organización, también se comunican y
venden.
 Experiencias: por ejemplo: travesía por una selva virgen
Niveles de un producto
La teoría clásica de niveles de producto parte de identificar una necesidad o deseo
esencial, a partir de la cual se construyen elementos adicionales, haciendo
gradualmente la oferta más robusta:
 Producto esencial o sustancial: responde a una necesidad, deseo, bien de orden
o valor terminal solicitado por la demanda. Por ejemplo, al consumir café, la
persona busca una bebida energizante (beneficio sensorial-funcional).
 Producto genérico: versión mínima del producto que en atributos y beneficios
responde a la necesidad esencial de la demanda. Por ejemplo, envase de café
de 250 gramos.
 Producto esperado: conjunto de beneficios y atributos que la demanda busca
para adquirir un producto de modo voluntario, recurrente y sostenible. Por
ejemplo, que el envase posea fecha de vencimiento, que esté protegido de la
humedad, que sea fácil de disolver.
 Producto aumentado: incluye otros beneficios y atributos agregados al
producto, por encima de lo que brinda la competencia; puede ser un mejor
servicio o mejores características. Por ejemplo, un número telefónico y correo
electrónico para consultas y reclamaciones, que se coloquen en la etiqueta
distinta recetas y formas de preparar café.
 Producto potencial: consiste en anticipar los deseos y requerimientos de los
compradores, para la mejora o desarrollo de un nuevo producto. Por ejemplo,
los consumidores podrían requerir en el futuro que se le agreguen al café,
minerales y vitaminas, para un cuidado de la salud y que no sea sólo un
energizante.
QUE SON LOS SERVICIOS
Servicio (economía)
Este artículo trata sobre el concepto económico.
Un servicio es un conjunto de actividades que buscan responder a las necesidades de
la gente. Los servicios incluyen una diversidad de actividades desempeñadas por un
crecido número de funcionarios que trabajan para el estado (servicios públicos) o para
empresas particulares (servicios privados); entre estos pueden señalarse los servicios
de: electricidad, agua potable, aseo, teléfono, telégrafo, correo, transporte,
educación, cibercafés, sanidad y asistencia social. Se define un marco en donde las
actividades se desarrollarán con la idea de fijar una expectativa en el resultado de
éstas. Es el equivalente no material de un bien. Un servicio se diferencia de un bien
(físico o intangible) en que el primero se consume y se desgasta de manera brutal
puesto que la economía social nada tiene que ver con la política moderna; es muy
importante señalar que la economía nacional no existe siempre en el momento en que
es prestado.
Al proveer algún nivel de habilidad, ingenio y experiencia, los proveedores de un
servicio participan en una economía sin las restricciones de llevar inventario pesado o
preocuparse por voluminosas materias primas. Por otro lado, requiere constante
inversión en mercadotecnia, capacitaciones y actualización de cara a la competencia,
la cual tiene igualmente pocas restricciones físicas.
Tipos de servicios
Hay dos grandes maneras de clasificar los servicios. Una de ellas es clasificándola en
servicios públicos y privados.
Servicios públicos y privados
Servicio Público: Prestaciones reservadas en cada Estado a la órbita de las
administraciones públicas y que tienen como finalidad ayudar a las personas que lo
necesiten. Ej. Hospitales y Empresas Postales.
Servicio Privado: son aquellos servicios que entrega una empresa privada y que sirve
para satisfacen intereses o necesidades particulares de las personas con fin de lucro.
Ej. Empresas de comunicaciones y Gas ardiente
 Servicios de mantenimiento
Son aquellos que ofrecen mantener bajo un método preventivo los artículos
que requieren su cuidado. Ejemplo: los televisores, las enceradoras, las
bicicletas o a nivel industrial como las máquinas de uso diario, camiones,
carros, motocicletas.
 Servicios a domicilio
Son aquellos que el cliente utiliza sin moverse de su hogar y que contrata por
medio de vía telefónica o Internet, por ejemplo: alimentos como pizza,
películas…
 Servicios de alquiler
Son aquellos que la persona contrata para satisfacer una necesidad
momentánea o por algún tiempo, por ejemplo: arriendo de casa, arriendo de
automóviles…
 Servicios de talleres
Son los servicios que ofrecen personas individuales en el cuidado del
mantenimiento y reparación de algún artículo de necesidad. Normalmente
funcionan dentro de un taller.
Características de los servicios
Las características que poseen los servicios y que los distinguen de los productos son:
 Intangibilidad: esta es la característica más básica de los servicios, consiste en
que estos no pueden verse, probarse, sentirse, oírse ni olerse antes de la
compra. Esta característica dificulta una serie de acciones que pudieran ser
deseables de hacer: los servicios no se pueden inventariar ni patentar, ser
explicados o representados fácilmente, etc., o incluso medir su calidad antes
de la prestación.
 Heterogeneidad (o variabilidad): dos servicios similares nunca serán idénticos
o iguales. Esto por varios motivos: las entregas de un mismo servicio son
realizadas por personas a personas, en momentos y lugares distintos.
Cambiando uno solo de estos factores el servicio ya no es el mismo, incluso
cambiando sólo el estado de ánimo de la persona que entrega o la que recibe
el servicio. Por esto es necesario prestar atención a las personas que prestarán
los servicios a nombre de la empresa.
 Inseparabilidad: en los servicios la producción y el consumo son parcial o
totalmente simultáneos. A estas funciones muchas veces se puede agregar la
función de venta. Esta inseparabilidad también se da con la persona que presta
el servicio.
 Perecibilidad: los servicios no se pueden almacenar, por la simultaneidad entre
producción y consumo. La principal consecuencia de esto es que un servicio no
prestado, no se puede realizar en otro momento, por ejemplo un vuelo con un
asiento vacío en un vuelo comercial.
 Ausencia de propiedad: los compradores de servicios adquieren un derecho a
recibir una prestación, uso, acceso o arriendo de algo, pero no su propiedad.
Después de la prestación solo existen como experiencias vividas
Principios básicos del servicio
Los principios básicos del servicio es la filosofía subyacente de este, que sirven para
entenderlo y, a su vez, aplicarlo de la mejor manera para el aprovechamiento de sus
beneficios por la empresa.
 Actitud de servicio: Convicción íntima de que es un honor servir.
 Satisfacción del usuario: Intención de vender satisfacción más que productos.
 Dado el carácter transitorio, inmediatista y variable de los servicios, se requiere
una actitud positiva, dinámica y abierta: esto es, la filosofía de “todo problema
tiene una solución”, si se sabe buscar.
 Toda la actividad se sustenta sobre bases éticas: es inmoral cobrar cuando no
se ha dado nada ni se va a dar.
 El buen servidor es quien se encuentra satisfecho dentro de la empresa,
situación que lo estimula a servir con gusto a los clientes: no se puede esperar
buenos servicios a quien se siente esclavizado, frustrado, explotado y respira
hostilidad contra la propia empresa.
 Tratando de instituciones de autoridad, se plantea una continuidad que va
desde el polo autoritario (el poder) hacia el polo democrático (el servicio): en
el polo autoritario hay siempre el riesgo de la prepotencia y del mal servicio.
Cuanto más nos alejemos del primer polo, mejor estaremos.
EN QUE CONSISTE EL DESARROLLO WEB
El diseño web es una actividad que consiste en la planificación, diseño e
implementación de sitios web. No es simplemente una aplicación de diseño
convencional, ya que requiere tener en cuenta la navegabilidad, interactividad,
usabilidad, arquitectura de la información y la interacción de medios como el audio,
texto, imagen, enlaces y video.
La unión de un buen diseño con una jerarquía bien elaborada de contenidos, aumenta
la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda
posibilidades como el contacto directo entre el productor y el consumidor de
contenidos.
El diseño web ha visto amplia aplicación en los sectores comerciales de Internet
especialmente en la World Wide Web. A menudo la web se utiliza como medio de
expresión plástica en sí. Artistas y creadores hacen de las páginas en Internet un medio
más para ofrecer sus producciones y utilizarlas como un canal más de difusión de su
obra.
Diseño web aplicado
El diseño de páginas web se trata básicamente de realizar un documento con
información hiperenlazado con otros documentos y asignarle una presentación para
diferentes dispositivos de salida (en una pantalla de computador, en papel, en un
teléfono móvil.
Estos documentos o páginas web pueden ser creados
 creando archivos de texto en HTML, PHP, Asp, Aspx, JavaScript, JSP, Python,
Ruby.
 utilizando un programa WYSIWYG o WYSIWYM de creación de páginas.
 utilizando lenguajes de programación del lado servidor, para generar la página
web.
Etapas
Para el diseño de páginas web debemos tener en cuenta tres etapas:
 El diseño visual de la información que se desea editar. En esta etapa se trabaja
distribuyendo el texto, los gráficos, los vínculos a otros documentos y otros
objetos multimedia que se consideren pertinentes. Es importante que antes de
trabajar sobre el computador se realice un boceto o pre diseño sobre el papel.
Esto facilitará tener un orden claro sobre el diseño.
 Estructura y relación jerárquica de las páginas del sitio web. Una vez que se
tiene el boceto se pasa a 'escribir' la página web. Para esto, y
fundamentalmente para manejar los vínculos entre documentos, se creó el
lenguaje de marcación de hipertexto o HTML. Los enlaces que aparecen
subrayados en este documento y otros de Wikipedia son ejemplos de
hipertexto, puesto que al pulsar sobre ellos conducen a otras páginas con
información relacionada. La importancia de la estructura y arborescencia web
radica en que los visitantes no siempre entran por la página principal o inicial
y en ese caso el sitio debe darle la respuesta a lo que busca rápido, además
permitirle navegar por el sitio.
 Posicionamiento en buscadores o SEO. Ésta consiste en optimizar la estructura
del contenido para mejorar la posición en que aparece la página en
determinada búsqueda. Etapa no gustosa por los diseñadores gráficos, porque
a diferencia del texto, aún para el año 2014 no se pueden tener nuevos
resultados en los buscadores con sitios muy gráficos.
Fundamentos
Un correcto diseño web implica conocer cómo se deben utilizar cada uno de los
elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje
dentro de los estándares establecidos por la W3C y en lo referente a la web semántica.
Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta
premisa original se ha perdido. Por ejemplo, este navegador permite que no sea
necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide
que ese documento web sea universal e independiente del medio que se utilice para
ser mostrado.
La web semántica, por otra parte, aboga por un uso lógico de los elementos según el
significado para el que fueron concebidas. Por ejemplo se utilizará el elemento <P>
para marcar párrafos, y <TABLE> para tabular datos (nunca para disponer de manera
visual los diferentes elementos del documento). En su última instancia, esto ha
supuesto una auténtica revolución en el diseño web puesto que apuesta por separar
totalmente el contenido del documento de la visualización.
De esta forma se utiliza el documento HTML únicamente para contener, organizar y
estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha
información en los diferentes medios (como por ejemplo, una monitor de
computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz,
etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del
documento.
También existen páginas dinámicas, las cuales permiten interacción entre la web y el
visitante, proporcionándole herramientas tales como buscadores, chat, foros,
sistemas de encuestas, etc. y poseen de un panel de control de administración de
contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de
contenido en la misma.
Accesibilidad
El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que
haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de
personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas
como las del W3C: Pautas de accesibilidad al contenido Web 1.0 WCAG.
Historia
En un principio era sólo texto, pero a medida que ha evolucionado la tecnología, tanto
los ordenadores como las redes de telecomunicaciones, se ha generado nuevas formas
de desarrollar la web. La inclusión de imágenes fue la más significativa, pero también
debemos mencionar el vídeo y la animación, o los espacios 3D, lo que aporta valores
estilísticos, de diseño y de interactividad jamás imaginados antes.
El diseño de páginas web se ha desarrollado a medida que ha evolucionado Internet.
En 1992 sólo había alrededor de 50 sitios web. Estadísticas (2005) nos afirmaban que
la cantidad de sitios web ronda los 8.000 millones de sitios, a los que diariamente se
les suma a raíz de 4400 por día.
Rápidamente, su importancia alcanzará las mismas cuotas que la televisión o el
teléfono. Datos recientes estiman que hay alrededor de 2 mil millones de páginas
colgadas y se espera que en los próximos años llegue a los 8 mil millones, excediendo
el número de habitantes del planeta. Sin embargo, sólo una fracción de este número
es visitado habitualmente por la mayoría de los usuarios (sólo alrededor de 15.000
sitios webs, el 0,4% del total).
A partir de estos datos se puede entender la necesidad de concentrar los esfuerzos
para atraer y mantener la atención de los usuarios. Junto con un desarrollo efectivo
de la estructura web y del contenido, el diseño y el uso del color son la llave para atraer
y ser identificado, formando vínculos en el subconsciente del usuario y generar
esquemas para captar y fidelizar a nuevos visitantes.
Al mismo tiempo que la evolución de los aparatos y de su introducción en los hogares,
también ha aumentado la calidad de las transmisiones a través Internet y ha bajado
su precio. A medida que la tecnología ha solventado estas dificultades, ya no nos
encontramos con problemas de forma sino de contenido.
HTML
HTML, siglas de HyperText Markup Language («lenguaje de marcas de hipertexto»),
hace referencia al lenguaje de marcado para la elaboración de páginas web. Es un
estándar que sirve de referencia para la elaboración de páginas web en sus diferentes
versiones, define una estructura básica y un código (denominado código HTML) para
la definición de contenido de una página web, como texto, imágenes, etc. Es un
estándar a cargo de la W3C, organización dedicada a la estandarización de casi todas
las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e
interpretación. Es el lenguaje con el que se definen las páginas web.
El lenguaje HTML basa su filosofía de desarrollo en la referenciación. Para añadir un
elemento externo a la página (imagen, vídeo, script, etc.), este no se incrusta
directamente en el código de la página, sino que se hace una referencia a la ubicación
de dicho elemento mediante texto. De este modo, la página web contiene sólo texto
mientras que recae en el navegador web (interpretador del código) la tarea de unir
todos los elementos y visualizar la página final. Al ser un estándar, HTML busca ser un
lenguaje que permita que cualquier página web escrita en una determinada versión,
pueda ser interpretada de la misma forma (estándar) por cualquier navegador web
actualizado.
Sin embargo, a lo largo de sus diferentes versiones, se han incorporado y suprimido
diversas características, con el fin de hacerlo más eficiente y facilitar el desarrollo de
páginas web compatibles con distintos navegadores y plataformas (PC de escritorio,
portátiles, teléfonos inteligentes, tabletas, etc.). Sin embargo, para interpretar
correctamente una nueva versión de HTML, los desarrolladores de navegadores web
deben incorporar estos cambios y el usuario debe ser capaz de usar la nueva versión
del navegador con los cambios incorporados. Usualmente los cambios son aplicados
mediante parches de actualización automática (Firefox, Chrome) u ofreciendo una
nueva versión del navegador con todos los cambios incorporados, en un sitio web de
descarga oficial (Internet Explorer). Un navegador no actualizado no será capaz de
interpretar correctamente una página web escrita en una versión de HTML superior a
la que pueda interpretar, lo que obliga muchas veces a los desarrolladores a aplicar
técnicas y cambios que permitan corregir problemas de visualización e incluso de
interpretación de código HTML. Así mismo, las páginas escritas en una versión anterior
de HTML deberían ser actualizadas o reescritas, lo que no siempre se cumple. Es por
ello que ciertos navegadores aún mantienen la capacidad de interpretar páginas web
de versiones HTML anteriores. Por estas razones, aún existen diferencias entre
distintos navegadores y versiones al interpretar una misma página web.
Primeras especificaciones
Tim Berners-Lee en 1991 describe 22 elementos que incluyen 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 a 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. 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, que reflejaba la filosofía del IETF de basar
estándares en prototipos con éxito. De la misma manera, el boceto competidor de
Dave Raggett HTML+ (Hypertext Markup Format) (Formato de Marcaje de Hipertexto),
de finales de 1993, sugería estandarizar características ya implementadas, como las
tablas.
HTML
El 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 o hacer referencia a un tipo de programa llamado script, el cual puede
afectar el comportamiento de navegadores web y otros procesadores de HTML.
HTML también sirve 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).
HTML consta de varios componentes vitales, entre ellos los elementos y sus atributos,
tipos de data y la declaración de tipo de documento.
Códigos HTML básicos
<HTML>: 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, que significa la palabra
justo tras DOCTYPE el tag de raíz.
<Script>: incrusta un script en una web, o 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.
<Head>: 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 <head> es
posible encontrar:
<Title>: 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.
<Link>: para vincular el sitio a hojas de estilo o iconos. Por ejemplo :< link
rel="stylesheet" href="/style.css" type="text/css">.
<Style>: 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 <link>.
<Meta>: 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.
Historia del estándar
En 1989 existían dos técnicas que permitían vincular documentos electrónicos, por un
lado los hipervínculos (enlaces) y por otro lado un poderoso lenguaje de etiquetas
denominado SGML. Por entonces, Tim Berners-Lee, quien trabajaba en el Centro
Europeo de Investigaciones Nucleares CERN da a conocer a la prensa que estaba
trabajando en un sistema que permitirá acceder a ficheros en línea que funcionaba
sobre redes de computadoras o máquinas electrónicas basadas en el protocolo TCP/IP.
Inicialmente fue desarrollado para que se pueda compartir fácilmente información
entre científicos de distintas universidades e institutos de investigación de todo el
mundo.
A principios de 1990, define por fin el HTML como un subconjunto del conocido SGML
y crea algo más valioso aún, el World Wide Web.
Tim Berners-Lee, creó el proyecto World Wide Web (Tejido o Telaraña Mundial), así
como un sistema que facilitaba la lectura de información, mediante un programa de
navegación. Éste sería el primer navegador Web, llamado WorldWideWeb, y
desarrollado durante la segunda mitad del año 1990; siendo tiempo después
rebautizado como Nexus para evitar confusiones por su nombre que era igual al de la
tecnología que representaba. Le siguieron otros dos navegadores: el Line Mode
Browser y el ViolaWWW. Este último, desarrollado en 1992, fue el primer navegador
en popularizarse entre los primeros usuarios de la World Wide Web.
Pei-Yuan Wei presentó el ViolaWWW, 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 supe conjunto 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; por ejemplo, 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.
En 1997, HTML 4.0 se publicó como una recomendación del W3C. HTML 4.0 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
HTML 4.0 implementa características como XForms 1.0 que no necesitan implementar
motores de navegación que eran incompatibles con algunas páginas web HTML. En
2004 la W3C reabrió el debate de la evolución del HTML, y se dieron a conocer las
bases para la versión HTML5. No obstante, este trabajo fue rechazado por los
miembros del W3C y se daría preferencia al desarrollo del XML.
Apple, Mozilla y Opera anunciaron su interés en seguir trabajando en el proyecto bajo
el nombre de WHATWG, que se basa en la compatibilidad con tecnologías anteriores.
En 2006, el W3C se interesó en el desarrollo de HTML5, y en 2007 se unió al grupo de
trabajo del WHATWG para unificar el proyecto.
Entidades HTML
Los caracteres especiales como signo de puntuación, letras con tilde o diéresis o
símbolos de escritura 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:
CSS
CSS son las siglas de Cascading Style Sheets - Hojas de Estilo en Cascada - que es un
lenguaje que describe la presentación de los documentos estructurados en hojas de
estilo para diferentes métodos de interpretación, es decir, describe cómo se va a
mostrar un documento en pantalla, por impresora, por voz (cuando la información es
pronunciada a través de un dispositivo de lectura) o en dispositivos táctiles basados
en Braille.
¿Para qué sirve?
CSS es una especificación desarrollada por el W3C (World Wide Web Consortium) para
permitir la separación de los contenidos de los documentos escritos en HTML, XML,
XHTML, SVG, o XUL de la presentación del documento con las hojas de estilo,
incluyendo elementos tales como los colores, fondos, márgenes, bordes, tipos de
letra..., modificando as la apariencia de una página web de una forma más sencilla,
permitiendo a los desarrolladores controlar el estilo y formato de sus documentos.
¿Cómo funciona?
El lenguaje CSS se basa en una serie de reglas que rigen el estilo de los elementos en
los documentos estructurados, y que forman la sintaxis de las hojas de estilo. Cada
regla consiste en un selector y una declaración, esta última va entre corchetes y
consiste en una propiedad o atributo, y un valor separados por dos puntos.
Selector
El Selector especifica que elementos HTML van a estar afectados por esa declaración,
de manera que hace de enlace entre la estructura del documento y la regla estilística
en la hoja de estilo.
Declaración
La Declaración que va entre corchetes es la información de estilo que indica cómo se
va a ver el selector. En caso de que haya más de una declaración se usa punto y coma
para separarlas.
Propiedad o Atributo y Valor
Dentro de la declaración, la Propiedad o Atributo define la interpretación del
elemento asignándosele un cierto Valor, que puede ser color, alineación, tipo de
fuente, tamaño..., es decir, especifican qué aspecto del selector se va a cambiar.
Tres tipos de estilos
La información CSS se puede proporcionar por varias fuentes, ya sea adjunto como un
documento por separado o incorporado en el documento HTML, y dentro de estas
posibilidades destacan tres formas de dar estilo a un documento web:
 Hoja de Estilo Externa
 La Hoja de Estilo Externa se almacena en un archivo diferente al del archivo con
el código HTML al cal estar vinculado a través del elemento link, que debe ir
situado en la sección head. Es la manera de programar ms eficiente, ya que
separa completamente las reglas de formato para la página HTML de la
estructura básica de la página.
 Hoja de Estilo Interna
 La Hoja de Estilo Interna está incorporada a un documento HTML, a través del
elemento style dentro de la sección head, consiguiendo de esta manera separar
la información del estilo del código HTML.
 Estilo en Línea
 El Estilo en Línea sirve para insertar el lenguaje de estilo directamente dentro
de la sección body con el elemento style. Sin embargo, este tipo de estilo no se
recomienda pues se debe intentar siempre separar el contenido de la
presentación.
Versiones CSS
Existen varias versiones: CSS1 y CSS2, la CSS3 está todavía en desarrollo por el CSS WG
(Cascading Style Sheets Working Group).
Los navegadores actuales implementan bastante bien CSS1 desde 1999 (tres años
después de su lanzamiento) aunque dependiendo de la marca y versión del navegador
hay algunas pequeñas diferencias de implementación. El primer navegador en dar
soporte completo al CSS1 ha sido Internet Explorer 5.0 for the Macintosh en 2000,
anteriormente el que mejor soportaba CSS1 haba sido Opera, después otros
navegadores también lo han ido implementando.
Sin embargo, CSS2 (lanzado en 1998) sólo está parcialmente implementado en los
navegadores más recientes, variando en estos los niveles de implementación.
Ventajas de CSS
 La principal ventaja de CSS sobre el lenguaje HTML o similar, es que el estilo se
puede guardar completamente por separado del contenido siendo posible, por
ejemplo, almacenar todos los estilos de presentación para una web de 10.000
páginas en un sólo archivo de CSS.
 CSS permite un mejor control en la presentación de un sitio web que los
elementos de HTML, agilizando su actualización.
 Aumento de la accesibilidad de los usuarios gracias a que pueden especificar
su propia hoja de estilo, permitiéndoles modificar el formato de un sitio web
según sus necesidades, de manera que por ejemplo, personas con deficiencias
visuales puedan configurar su propia hoja de estilo para aumentar el tamaño
del texto.
 El ahorro global en el ancho de banda es notable, ya que la hoja de estilo se
almacena en cache después de la primera solicitud y se puede volver a usar
para cada página del sitio, no se tiene que descargar con cada página web. Por
otro lado, quitando todo lenguaje de marcado en la presentación en favor del
uso de CSS reduce su tamaño y ancho de banda hasta más del 50%, esto
beneficia al dueño del sitio web con menos ancho de banda y costes de
almacenamiento, así como a los visitantes para los cuales las páginas se van a
cargar más rápido.
 Una página puede tener diferentes hojas de estilo para mostrarse en diferentes
dispositivos, como pueden ser impresoras, lectores de voz, o móviles.
JAVASCRIPT
JavaScript (abreviado comúnmente "JS") es un lenguaje de programación
interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos,
basado en prototipos, imperativo, débilmente tipado y dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado
como parte de un navegador web permitiendo mejoras en la interfaz de usuario y
páginas web dinámicas4 aunque existe una forma de JavaScript del lado del servidor
(Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo
en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es
también significativo.
JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y
convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no
están relacionados y tienen semánticas y propósitos diferentes.
Todos los navegadores modernos interpretan el código JavaScript integrado en las
páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de
una implementación del Document Object Model (DOM).
Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones
y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor.
JavaScript se interpreta en el agente de usuario, al mismo tiempo que las sentencias
van descargándose junto con el código HTML.
JavaScript fue desarrollado originalmente por Brendan Eich de Netscape con el
nombre de Mocha, el cual fue renombrado posteriormente a LiveScript, para
finalmente quedar como JavaScript. El cambio de nombre coincidió aproximadamente
con el momento en que Netscape agregó soporte para la tecnología Java en su
navegador web Netscape Navigator en la versión 2.002 en diciembre de 1995. La
denominación produjo confusión, dando la impresión de que el lenguaje es una
prolongación de Java, y se ha caracterizado por muchos como una estrategia de
mercadotecnia de Netscape para obtener prestigio e innovar en lo que eran los nuevos
lenguajes de programación web.
«JAVASCRIPT» es una marca registrada de Oracle Corporation. Es usada con licencia
por los productos creados por Netscape Communications y entidades actuales como
la Fundación Mozilla
Microsoft dio como nombre a su dialecto de JavaScript «JScript», para evitar
problemas relacionados con la marca. JScript fue adoptado en la versión 3.0 de
Internet Explorer, liberado en agosto de 1996, e incluyó compatibilidad con el Efecto
2000 con las funciones de fecha, una diferencia de los que se basaban en ese
momento. Los dialectos pueden parecer tan similares que los términos «JavaScript» y
«JScript» a menudo se utilizan indistintamente, pero la especificación de JScript es
incompatible con la de ECMA en muchos aspectos.
Para evitar estas incompatibilidades, el World Wide Web Consortium diseñó el
estándar Document Object Model (DOM, o Modelo de Objetos del Documento en
español), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape
Navigator, Opera la versión 7, Mozilla Application Suite y Mozilla Firefox desde su
primera versión.
En 1997 los autores propusieron10 JavaScript para que fuera adoptado como estándar
de la European Computer Manufacturers 'Association ECMA, que a pesar de su
nombre no es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue
adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después
también como un estándar ISO.
Netscape introdujo una implementación de script del lado del servidor con Netscape
Enterprise Server, lanzada en diciembre de 1994 (poco después del lanzamiento de
JavaScript para navegadores web). A partir de mediados de la década de los 2000, ha
habido una proliferación de implementaciones de JavaScript para el lado servidor.
Node.js es uno de los notables ejemplos de JavaScript en el lado del servidor, siendo
usado en proyectos importantes.
JavaScript se ha convertido en uno de los lenguajes de programación más populares
en internet. Al principio, sin embargo, muchos desarrolladores renegaban del lenguaje
porque el público al que va dirigido lo formaban publicadores de artículos y demás
aficionados, entre otras razones. La llegada de Ajax devolvió JavaScript a la fama y
atrajo la atención de muchos otros programadores. Como resultado de esto hubo una
proliferación de un conjunto de frameworks y librerías de ámbito general, mejorando
las prácticas de programación con JavaScript, y aumentado el uso de JavaScript fuera
de los navegadores web, como se ha visto con la proliferación de entornos JavaScript
del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado con el
objetivo de especificar una librería para uso de tareas comunes principalmente para
el desarrollo fuera del navegador web.
Características
Las siguientes características son comunes a todas las implementaciones que se
ajustan al estándar ECMAScript, a menos que especifique explícitamente en caso
contrario.
Imperativo y estructurado
JavaScript soporta gran parte de la estructura de programación de C (por ejemplo,
sentencias if, bucles for, sentencias switch, etc.). Con una salvedad, en parte: en C, el
ámbito de las variables alcanza al bloque en el cual fueron definidas; sin embargo en
JavaScript esto no es soportado, puesto que el ámbito de las variables es el de la
función en la cual fueron declaradas. Esto cambia con la versión de JavaScript 1.7, ya
que soporta block scoping por medio de la palabra clave let. Como en C, JavaScript
hace distinción entre expresiones y sentencias. Una diferencia sintáctica con respecto
a C es la inserción automática de punto y coma, es decir, en JavaScript los puntos y
coma que finalizan una sentencia pueden ser omitidos
Dinámico
Tipado dinámico
Como en la mayoría de lenguajes de scripting, el tipo está asociado al valor, no a la
variable. Por ejemplo, una variable x en un momento dado puede estar ligada a un
número y más adelante, religada a una cadena. JavaScript soporta varias formas de
comprobar el tipo de un objeto, incluyendo duck typing. Una forma de saberlo es por
medio de la palabra clave typeof.
Objetual
JavaScript está formado casi en su totalidad por objetos. Los objetos en JavaScript son
arrays asociativos, mejorados con la inclusión de prototipos (ver más adelante). Los
nombres de las propiedades de los objetos son claves de tipo cadena: obj.x = 10 y obj
['x'] = 10 son equivalentes, siendo la notación con punto azúcar sintáctico. Las
propiedades y sus valores pueden ser creados, cambiados o eliminados en tiempo de
ejecución. La mayoría de propiedades de un objeto (y aquellas que son incluidas por
la cadena de la herencia prototípica) pueden ser enumeradas a por medio de la
instrucción de bucle for... in. JavaScript tiene un pequeño número de objetos
predefinidos como son Function y Date.
Evaluación en tiempo de ejecución
JavaScript incluye la función eval que permite evaluar expresiones como expresadas
como cadenas en tiempo de ejecución. Por ello se recomienda que eval sea utilizado
con precaución y que se opte por utilizar la función JSON. Parse () en la medida de lo
posible, pues resulta mucho más segura.
Funcional
Funciones de primera clase
A las funciones se les suele llamar ciudadanos de primera clase; son objetos en sí
mismos. Como tal, poseen propiedades y métodos, como .call () y .bind (). Una función
anidada es una función definida dentro de otra. Esta es creada cada vez que la función
externa es invocada. Además, cada función creada forma una clausura; es el resultado
de evaluar un ámbito conteniendo en una o más variables dependientes de otro
ámbito externo, incluyendo constantes, variables locales y argumentos de la función
externa llamante. El resultado de la evaluación de dicha clausura forma parte del
estado interno de cada objeto función, incluso después de que la función exterior
concluya su evaluación.
Prototípico
Prototipos
JavaScript usa prototipos en vez de clases para el uso de herencia. Es posible llegar a
emular muchas de las características que proporcionan las clases en lenguajes
orientados a objetos tradicionales por medio de prototipos en JavaScript.
Funciones como constructores de objetos
Las funciones también se comportan como constructores. Prefijar una llamada a la
función con la palabra clave new crear una nueva instancia de un prototipo, que
heredan propiedades y métodos del constructor (incluidas las propiedades del
prototipo de Object). ECMAScript ofrece el método Object.create, permitiendo la
creación explícita de una instancia sin tener que heredar automáticamente del
prototipo de Object (en entornos antiguos puede aparecer el prototipo del objeto
creado como null). La propiedad prototype del constructor determina el objeto usado
para el prototipo interno de los nuevos objetos creados. Se pueden añadir nuevos
métodos modificando el prototipo del objeto usado como constructor. Constructores
predefinidos en JavaScript, como Array u Object, también tienen prototipos que
pueden ser modificados. Aunque esto sea posible se considera una mala práctica
modificar el prototipo de Object ya que la mayoría de los objetos en Javascript
heredan los métodos y propiedades del objeto prototype, objetos los cuales pueden
esperar que estos no hayan sido modificados.
Extensiones específicas del fabricante
JavaScript se encuentra oficialmente bajo la organización de Mozilla Foundation, y
nuevas características del lenguaje son añadidas periódicamente. Sin embargo, sólo
algunos motores JavaScript soportan estas características:
 Las propiedades get y set (también soportadas por WebKit, Opera, ActionScript
y Rhino).
 Cláusulas catch condicionales.
 Protocolo iterador adoptado de Python.
 Corrutinas también adoptadas de Python.
 Generación de listas y expresiones por comprensión también adoptada de
Python.
 Establecer el ámbito a bloque a través de la palabra clave let.
 Desestructuración de arrays y objetos (forma limita de emparejamiento de
patrones).
 Expresiones concretas en funciones (function (args) expr).
 ECMAScript para XML (E4X), una extensión que añade soporte nativo XML a
ECMAScript.
Sintaxis y semántica
A partir del 2011, la última versión del lenguaje es JavaScript 1.8.5. Es un
superconjunto de la especificación ECMAScript (ECMA-262). Extensiones del lenguaje,
que incluyen parcialmente soporte para ECMAScript para XML (E4X) (ECMA-357) y
características experimentales consideradas para ser incluidas en futuras ediciones del
ECMAScript, documentadas aquí
El uso más común de JavaScript es escribir funciones embebidas o incluidas en páginas
HTML y que interactúan con el Document Object Model (DOM o Modelo de Objetos
del Documento) de la página. Algunos ejemplos sencillos de este uso son:
 Cargar nuevo contenido para la página o enviar datos al servidor a través de
AJAX sin necesidad de recargar la página (por ejemplo, una red social puede
permitir al usuario enviar actualizaciones de estado sin salir de la página).
 Animación de los elementos de página, hacerlos desaparecer, cambiar su
tamaño, moverlos, etc.
 Contenido interactivo, por ejemplo, juegos y reproducción de audio y vídeo.
 Validación de los valores de entrada de un formulario web para asegurarse de
que son aceptables antes de ser enviado al servidor.
 Transmisión de información sobre los hábitos de lectura de los usuarios y las
actividades de navegación a varios sitios web. Las páginas Web con frecuencia
lo hacen para hacer análisis web, seguimiento de anuncios, la personalización
o para otros fines.
Dado que el código JavaScript puede ejecutarse localmente en el navegador del
usuario (en lugar de en un servidor remoto), el navegador puede responder a las
acciones del usuario con rapidez, haciendo una aplicación más sensible. Por otra parte,
el código JavaScript puede detectar acciones de los usuarios que HTML por sí sola no
puede, como pulsaciones de teclado. Las aplicaciones como Gmail se aprovechan de
esto: la mayor parte de la lógica de la interfaz de usuario está escrita en JavaScript,
enviando peticiones al servidor (por ejemplo, el contenido de un mensaje de correo
electrónico). La tendencia cada vez mayor por el uso de la programación Ajax explota
de manera similar esta técnica.
Un motor de JavaScript (también conocido como intérprete de JavaScript o
implementación JavaScript) es un intérprete que interpreta el código fuente de
JavaScript y ejecuta la secuencia de comandos en consecuencia. El primer motor de
JavaScript fue creado por Brendan Eich en Netscape Communications Corporation,
para el navegador web Netscape Navigator. El motor, denominado SpiderMonkey,
está implementado en C. Desde entonces, ha sido actualizado (en JavaScript 1.5) para
cumplir con el ECMA-262. El motor Rhino, creado principalmente por Norris Boyd
(antes de Netscape, ahora en Google) es una implementación de JavaScript en Java.
Rhino, como SpiderMonkey, es compatible con el ECMA-262
Un navegador web es, con mucho, el entorno de acogida más común para JavaScript.
Los navegadores web suelen crear objetos no nativos, dependientes del entorno de
ejecución, para representar el Document Object Model (DOM) en JavaScript. El
servidor web es otro entorno común de servicios. Un servidor web JavaScript suele
exponer sus propios objetos para representar objetos de petición y respuesta HTTP,
que un programa JavaScript podría entonces interrogar y manipular para generar
dinámicamente páginas web.
Debido a que JavaScript es el único lenguaje por el que los más populares navegadores
comparten su apoyo, se ha convertido en un lenguaje al que muchos frameworks en
otros lenguajes compilan, a pesar de que JavaScript no fue diseñado para tales
propósitos. A pesar de las limitaciones de rendimiento inherentes a su naturaleza
dinámica, el aumento de la velocidad de los motores de JavaScript ha hecho de este
lenguaje un entorno para la compilación sorprendentemente factible.
Consideraciones acerca de la compatibilidad
Debido a que JavaScript se ejecuta en entornos muy variados, una parte importante
de las pruebas y la depuración es probar y verificar que el código JavaScript funciona
correctamente en múltiples navegadores. La interfaz DOM para acceder y manipular
páginas web no es parte del estándar ECMAScript, o de la propia JavaScript. El DOM
es definido por los esfuerzos de estandarización del W3C, una organización
independiente. En la práctica, las implementaciones que hacen de JavaScript los
distintos navegadores difieren tanto entre ellos mismos como de las normas del
estándar.
Para hacer frente a estas diferencias, los autores de JavaScript pudieron ser capaces
de escribir código compatible con los estándares que también fuera capaz de
ejecutarse correctamente en la mayoría de los navegadores, o en su defecto, que al
menos se pudiera escribir código capaz de comprobar la presencia de ciertas
funcionalidades del navegador y que se comportase de manera diferente si no se
dispusiese de dicha funcionalidad.35 Existen casos en los que dos navegadores pueden
llegar a implementar la misma característica, pero con un comportamiento diferente,
hecho que a los programadores les puede resultar de ayuda para detectar qué
navegador se está ejecutando en ese instante y así cambiar el comportamiento de su
escritura para que coincida. Los programadores también suelen utilizar bibliotecas o
herramientas que tengan en cuenta las diferencias entre navegadores.
Además, los scripts pueden no funcionar para algunos usuarios. Por ejemplo, un
usuario puede:
 utilizar un navegador antiguo el cual tenga soporte de la API DOM incompleto,
 utilizar un navegador PDA o teléfono móvil que no puede ejecutar JavaScript
 tener la ejecución de JavaScript deshabilitada, como precaución de seguridad,
 utilizar un navegador de voz debido a, por ejemplo, una discapacidad visual.
Accesibilidad
Suponiendo que el usuario no haya desactivado la ejecución de código JavaScript, en
el lado del cliente JavaScript debe ser escrito tanto con el propósito de mejorar las
experiencias de los visitantes con discapacidad visual o física, como el de evitar ocultar
información a estos visitantes.
Los lectores de pantalla, utilizados por los ciegos y deficientes visuales, pueden ser
tenidos en cuenta por JavaScript y así poder acceder y leer los elementos DOM de la
página. El código HTML escrito debe ser lo más conciso, navegable y semánticamente
rico posible, tanto si JavaScript se ejecuta como si no.
JavaScript no debería de ser totalmente dependiente de los eventos de ratón del
navegador y debería dar soporte para aquellos usuarios que quieran no hacer uso del
ratón (informática) para navegar o que opten por utilizar solamente el teclado. Hay
eventos independientes del dispositivo, tales como onfocus y onchange que son
preferibles en la mayoría de los casos.
JavaScript no debe ser utilizado para crear confusión o desorientación al usuario web.
Por ejemplo, modificar o desactivar la funcionalidad normal del navegador, como
cambiar la forma en que el botón de navegar hacia atrás o el evento de actualización
se comportan, son prácticas que generalmente son mejores evitar. Igualmente,
desencadenar eventos que el usuario puede no tener en cuenta reduce la sensación
de control del usuario y provoca cambios inesperados al contenido de la página.
A menudo, el proceso de dotar a una página web compleja el mayor grado
accesibilidad posible, se convierte en un problema no trivial donde muchos temas se
acaban llevando al debate y a la opinión, siendo necesario el compromiso de todos
hasta el final. Sin embargo, los agentes de usuario y las tecnologías de apoyo a
personas con discapacidad están en constante evolución y nuevas directrices e
información al respecto siguen publicándose en la web.
Herramientas de desarrollo
En JavaScript, disponer de un depurador se convierte en necesario cuando se
desarrollan grandes aplicaciones, no triviales. Dado que puede haber diferencias de
implementación entre los diferentes navegadores (especialmente en cuanto al DOM),
es útil tener acceso a un depurador para cada uno de los navegadores a los cuales
nuestra aplicación web irá dirigido
Los depuradores web están disponibles para Internet Explorer, Firefox, Safari, Google
Chrome y Opera.
Existen tres depuradores disponibles para Internet Explorer: Microsoft Visual Studio
es el más avanzado de los tres, seguido de cerca por Microsoft Script Editor (un
componente de Microsoft Office) y, finalmente, Microsoft Script Debugger, que es
mucho más básico que el otro dos, aunque es gratuito. El IDE gratuito Microsoft Visual
Web Developer Express ofrece una versión limitada de la funcionalidad de depuración
de JavaScript en el Microsoft Visual Studio. Internet Explorer ha incluido herramientas
de desarrollo desde la versión 8 (se muestra pulsando la tecla F12). Las aplicaciones
web dentro de Firefox se pueden depurar usando el Firebug add-on o el antiguo
depurador Venkman. Firefox también tiene integrada una consola de errores básica,
que registra y evalúa JavaScript. También registra errores de CSS y advertencias. Opera
incluye un conjunto de herramientas llamado Dragonfly. El Inspector Web de WebKit
incluye un depurador de JavaScript utilizado en Safari, junto con una versión
modificada de Google Chrome.
Existen algunas herramientas de ayuda a la depuración, también escritas en JavaScript
y construidas para ejecutarse en la Web. Un ejemplo es el programa JSLint,
desarrollado por Douglas Crockford, quien ha escrito extensamente sobre el lenguaje.
JSLint analiza el código JavaScript para que este quede conforme con un conjunto de
normas y directrices y que aseguran su correcto funcionamiento y mantenibilidad.
PHP
PHP es un lenguaje de programación de uso general de código del lado del servidor
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. El código es interpretado por un servidor web con un módulo de
procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo
que ahora incluye también una interfaz de línea de comandos que puede ser usada en
aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores
web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.
Fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue
siendo desarrollado con nuevas funciones por el grupo PHP. Este lenguaje forma parte
del software libre publicado bajo la licencia PHP, que es incompatible con la Licencia
Pública General de GNU debido a las restricciones del uso del término PHP.
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; 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.
PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los
sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra
instalado en más de 20 millones de sitios web y en un millón de servidores. El enorme
número de sitios en PHP ha visto reducida su cantidad a favor de otros nuevos
lenguajes no tan poderosos desde agosto de 2005. El 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.
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 sitios webs, es
posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando alguna
extensión como puede ser PHP-Qt, PHP-GTK, WxPHP, WinBinder, Roadsend PHP,
Phalanger, Phc o HiP Hop VM. También puede ser usado desde la línea de comandos,
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 tanto SQL como
NoSQL tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server,
Firebird, SQLite o MongoDB
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 Microsoft
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# y
Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java,
CGI/Perl y a Node.js/Javascript. Aunque su creación y desarrollo se da en el ámbito de
los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo
integrado comercial llamado Zend Studio. CodeGear (la división de lenguajes de
programación de Borland) ha sacado al mercado un entorno de desarrollo integrado
para PHP, denominado 'Delphi for PHP. También existen al menos un par de módulos
para Eclipse, uno de los entornos 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.
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 por PHP: Hypertext Preprocessor. Inmediatamente
comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en
junio de 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.
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend 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, 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.12 Según esta noticia se le dio soporte a fallos críticos hasta el 9
de agosto de 2008.
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend
Engine 2).2 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.
Características
 Orientado al desarrollo de aplicaciones web dinámicas con acceso a
información almacenada en una base de datos.
 Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se
simplificaron distintas especificaciones, como es el caso de la definición de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
 El código fuente escrito en PHP es invisible al navegador web 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 módulos (llamados ext's o
extensiones).
 Posee una amplia documentación en su sitio web oficial, 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. Incluso
aplicaciones como Zend framework, empresa que desarrolla PHP, están
totalmente desarrolladas mediante esta metodología.
 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, aun haciéndolo, el programador puede aplicar en su
trabajo cualquier técnica de programación o de 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 (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.
 Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para
las aplicaciones WEB de manejo de contenido, y es su uso principal.
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
necesariamente impide que el código sea examinado.
 Debido a que es un lenguaje interpretado, un script en PHP suele funcionar
considerablemente más lento que su equivalente en un lenguaje de bajo nivel,
sin embargo este inconveniente se puede minimizar con técnicas de caché
tanto en archivos como en memoria.
 Las variables al no ser tipificadas dificulta a los diferentes IDEs para ofrecer
asistencias para el tipificado del código, aunque esto no es realmente un
inconveniente del lenguaje en sí. Esto es solventado por Zend Studio
añadiendo un comentario con el tipo a la declaración de la variable.
XAMPP, LAMP, WAMP, MAMP, UWAMP
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 está disponible
para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.
LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, y
WAMP lo hace enfocado en Windows.
Se utiliza PHP en millones de sitios; entre los más destacados se encuentran
Wikipedia.org, Facebook.com y Wordpress.com.
RESPONSIVE WEB DESIGN
El diseño web adaptable o adaptativo (Responsive Web Design) es una filosofía de
diseño y desarrollo web que mediante el uso de estructuras e imágenes fluidas, así
como de media-queries en la hoja de estilo CSS, consigue adaptar el sitio web al
entorno del usuario.
El diseñador y autor norteamericano Ethan Marcotte creó y difundió esta técnica a
partir de una serie de artículos en A List Apart, 1 una publicación en línea especializada
en diseño y desarrollo web, idea que luego extendería en su libro Responsive Web
Design.
Origen
Tanto la idea como el propósito del diseño web adaptable fueron previamente
discutidos y descritos por el consorcio W3C en julio de 2008 en su recomendación
"Mobile Web Best Practices" bajo el subtítulo "One Web".
Dicha recomendación, aunque específica para dispositivos móviles, puntualiza que
está hecha en el contexto de "One Web", y que por lo tanto engloba no solo la
experiencia de navegación en dispositivos móviles sino también en dispositivos de
mayor resolución de pantalla como dispositivos de sobremesa.
El concepto de "One Web" hace referencia a la idea de construir una Web para todos
(Web for All) y accesible desde cualquier tipo de dispositivo (Web on Everything).
Hoy en día, la variedad de dispositivos existentes en el mercado ha provocado que la
información disponible no sea accesible desde todos los dispositivos, o bien es
accesible pero la experiencia de navegación es muy pobre.
Ventajas
El uso de dispositivos móviles está creciendo a un ritmo increíble, dispositivos como
tablets y smartphones han incrementado sus ventas en los últimos años y la
navegación en Internet mediante estos dispositivos es cada vez más común. Ese es el
motivo por el que el diseño web adaptable se ha vuelto tan popular, pues es una
técnica que proporciona una solución web que puede manejar la visualización web
tanto de escritorio como de dispositivos.
Con una sola versión en HTML y CSS se cubren todas las resoluciones de pantalla, es
decir, el sitio web creado estará optimizado para todo tipo de dispositivos: PCs,
tabletas, teléfonos móviles, etc. Esto mejora la experiencia de usuario a diferencia de
lo que ocurre, por ejemplo, con sitios web de ancho fijo cuando se acceden desde
dispositivos móviles.
De esta forma se reducen los costes de creación y mantenimiento cuando el diseño de
las pantallas es similar entre dispositivos de distintos tamaños.
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan
Logan

Más contenido relacionado

La actualidad más candente

Diseño de una Base de Datos
Diseño de una Base de DatosDiseño de una Base de Datos
Diseño de una Base de DatosVannesa Salazar
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Base de datos slideshare
Base de datos slideshareBase de datos slideshare
Base de datos slideshareunefacams
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionaldoc-92
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..chovialbi
 
Base de datos
Base de datosBase de datos
Base de datosleimy11
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionalchabbeine
 
La estructura de una bd (base de
La estructura de una bd (base deLa estructura de una bd (base de
La estructura de una bd (base dejlgc987654321
 
Base de datos
Base de datosBase de datos
Base de datosleimy11
 
Introducción a las base de datos
Introducción a las base de datosIntroducción a las base de datos
Introducción a las base de datosJuan Soubervielle
 
Diapositivas de base de datos
Diapositivas de base de datosDiapositivas de base de datos
Diapositivas de base de datosestibenzon
 
Diapositivas Base De Datos
Diapositivas Base De DatosDiapositivas Base De Datos
Diapositivas Base De DatosDigno Yunga
 
Presentacion de Creacion de una base de datos con Access
Presentacion de Creacion de una base de datos con AccessPresentacion de Creacion de una base de datos con Access
Presentacion de Creacion de una base de datos con AccessSegundo Alucho
 

La actualidad más candente (18)

Diseño de una Base de Datos
Diseño de una Base de DatosDiseño de una Base de Datos
Diseño de una Base de Datos
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Base de datos slideshare
Base de datos slideshareBase de datos slideshare
Base de datos slideshare
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
DISEÑO DE UNA BASE DE DATOS
DISEÑO DE UNA BASE DE DATOSDISEÑO DE UNA BASE DE DATOS
DISEÑO DE UNA BASE DE DATOS
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos pres..
Base de datos pres..Base de datos pres..
Base de datos pres..
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
La estructura de una bd (base de
La estructura de una bd (base deLa estructura de una bd (base de
La estructura de una bd (base de
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introducción a las base de datos
Introducción a las base de datosIntroducción a las base de datos
Introducción a las base de datos
 
Access
AccessAccess
Access
 
Base de datos teoria
Base de datos teoriaBase de datos teoria
Base de datos teoria
 
Diapositivas de base de datos
Diapositivas de base de datosDiapositivas de base de datos
Diapositivas de base de datos
 
Diapositivas Base De Datos
Diapositivas Base De DatosDiapositivas Base De Datos
Diapositivas Base De Datos
 
Presentacion de Creacion de una base de datos con Access
Presentacion de Creacion de una base de datos con AccessPresentacion de Creacion de una base de datos con Access
Presentacion de Creacion de una base de datos con Access
 

Similar a Logan (20)

Bases de Datos
Bases de DatosBases de Datos
Bases de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Continuacion Tallere.
Continuacion Tallere.Continuacion Tallere.
Continuacion Tallere.
 
Cristian
CristianCristian
Cristian
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Ensayo p
Ensayo pEnsayo p
Ensayo p
 
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
 
Presentación1
Presentación1Presentación1
Presentación1
 
Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.Base de Datos, información sobre ellas, etc.
Base de Datos, información sobre ellas, etc.
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos.
Base de datos.Base de datos.
Base de datos.
 
Base de datos douglas
Base de datos douglasBase de datos douglas
Base de datos douglas
 
Módulo de Herramientas case
Módulo de Herramientas caseMódulo de Herramientas case
Módulo de Herramientas case
 
Pteg g-grupo7-lista8-9-13-20-49 visita3-expo cap 9 tema sistema de bases de d...
Pteg g-grupo7-lista8-9-13-20-49 visita3-expo cap 9 tema sistema de bases de d...Pteg g-grupo7-lista8-9-13-20-49 visita3-expo cap 9 tema sistema de bases de d...
Pteg g-grupo7-lista8-9-13-20-49 visita3-expo cap 9 tema sistema de bases de d...
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
base de datos
base de datosbase de datos
base de datos
 

Último

COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAOCarlosAlbertoVillafu3
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHkarlinda198328
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4hassanbadredun
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptxkarlagonzalez159945
 
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESAS
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESASCONSTITUCIÓN, CREACION Y GESTION DE EMPRESAS
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESASJorgeLuisEspinolaMar
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxCONSTRUCTORAEINVERSI3
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxDanielFerreiraDuran1
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxJaredmoisesCarrillo
 
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESAS
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESASLOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESAS
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESASemilyacurio2005
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...antonellamujica
 
Evaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalEvaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalssuser4a0361
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGAndresGEscobar
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 

Último (20)

COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETHMARKETING SENSORIAL CONTENIDO, KARLA JANETH
MARKETING SENSORIAL CONTENIDO, KARLA JANETH
 
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptx
 
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESAS
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESASCONSTITUCIÓN, CREACION Y GESTION DE EMPRESAS
CONSTITUCIÓN, CREACION Y GESTION DE EMPRESAS
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptx
 
Presentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptxPresentación La mujer en la Esperanza AC.pptx
Presentación La mujer en la Esperanza AC.pptx
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptx
 
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESAS
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESASLOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESAS
LOS MODELOS DE LA COMUNICACIÓN HUMANA 1° ADM. DE EMPRESAS
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
 
Evaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo finalEvaluacion Final de logistica - trabajo final
Evaluacion Final de logistica - trabajo final
 
instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 

Logan

  • 1. NOMBRE DE LA INSTITUCION INSTITUTO REGIONAL DE COMPUTACION Y ADMINISTRACION (I.R.C.A) TRABAJO DE BASE DE DATOS NOMBRE DEL ALUMNO JOSE EFRAIN PEREZ CHICAS NOMBRE DEL DOCENTE LIC: JUAN FECHA DE ENTREGA VIERNES 20 DE JUNIO DEL 2014
  • 2. BASE DE DATOS MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. MySQL es usado por muchos sitios web grandes y populares, como Wikipedia, Google (aunque no para búsquedas), Facebook, Twitter, Flickr, y YouTube. MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que
  • 3. va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación. Uno de los objetivos fundamentales de un sistema de información es contar no sólo con recursos de información, sino también con los mecanismos necesarios para poder encontrar y recuperar estos recursos. De esta forma, las bases de datos se han convertido en un elemento indispensable no sólo para el funcionamiento de los
  • 4. grandes motores de búsqueda y la recuperación de información a lo largo y ancho de la Web, sino también para la creación de sedes web, Intranets y otros sistemas de información en los que se precisa manejar grandes o pequeños volúmenes de información. La creación de una base de datos a la que puedan acudir los usuarios para hacer consultas y acceder a la información que les interese es, pues, una herramienta imprescindible de cualquier sistema informativo sea en red o fuera de ella.
  • 5. QUE ES UNA TABLA Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo. Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y columnas de celdas que se pueden rellenar con textos y gráficos Las tablas se componen de dos estructuras: Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones, cada fila contendrá un nombre y una dirección. Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de datos único, como una dirección, o un número de teléfono, un nombre, etc. A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincreméntale, lo cual permite que los datos de ese campo cambien solos o sea el principal indicar a la hora de ordenar los datos contenidos. Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida) La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar. Además de la función estándar de las tablas básicas definidas por el usuario, SQL Server proporciona los siguientes tipos de tabla, que permiten llevar a cabo objetivos especiales en una base de datos que se utiliza para acomodar los datos. Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por más de un grupo de archivos de una base de datos. Las particiones facilitan la administración de las tablas y los índices grandes porque permiten obtener acceso y administrar subconjuntos de datos con rapidez y eficacia al mismo tiempo que mantienen la integridad del conjunto. En un escenario
  • 6. de broadway, las operaciones como, por ejemplo, la carga de datos de un sistema OLTP a un sistema OLAP, pueden realizarse en cuestión de segundos en lugar de minutos u horas en otras versiones. Las operaciones de mantenimiento que se realizan en los subconjuntos de datos también se realizan de forma más eficaz porque sólo afectan a los datos necesarios en lugar de a toda la tabla. Tiene sentido crear una tabla con particiones si la tabla es muy grande o se espera que crezca mucho, y si alguna de las dos condiciones siguientes es verdadera: La tabla contiene, o se espera que contenga, muchos datos que se utilizan de manera diferente. Las consultas o las actualizaciones de la tabla no se realizan como se esperaba o los costos de mantenimiento son superiores a los períodos de mantenimiento predefinidos. Las tablas con particiones admiten todas las proiedades y características asociadas con el diseño y consulta de tablas estándar, incluidas las restricciones, los valores predeterminados, los valores de identidad y marca de tiempo, los desencadenadores y los índices. Por lo tanto, si desea implementar una vista con particiones que sea local respecto a un servidor, debe implementar una tabla con particiones. Para obtener información para comprender, diseñar e implementar tablas con particiones, vea Tablas e índices con particiones. Hay dos tipos de tablas temporales: locales y globales. Las tablas temporales locales son visibles sólo para sus creadores durante la misma conexión a una instancia de SQL Server como cuando se crearon o cuando se hizo referencia a ellas por primera vez. Las tablas temporales locales se eliminan cuando el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales están visibles para cualquier usuario y conexión una vez creadas, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server. SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar ni actualizar directamente las tablas del sistema si no es a través de una conexión de administrador dedicada (DAC) que sólo debería utilizarse bajo la supervisión de los servicios de atención al cliente de Microsoft. Para obtener más información, vea Usar una conexión de administrador dedicada. Las tablas de
  • 7. sistema se cambian normalmente en cada versión nueva de SQL Server. Puede que las aplicaciones que hacen referencia directamente a las tablas del sistema tengan que escribirse de nuevo para poder actualizarlas a una versión nueva de SQL Server con una versión diferente de las tablas de sistema. Con las tablas anchas, puede crear esquemas flexibles dentro de una aplicación. Puede agregar o quitar columnas siempre que lo desee. EN BASE DE DATOS QUE SON LOS METADATOS El término «metadatos» no tiene una definición única. Según la definición más difundida de metadatos es que son «datos sobre datos». También hay muchas declaraciones como «informaciones sobre datos <<datos sobre informaciones>> e «informaciones sobre informaciones>> Otra clase de definiciones trata de precisar el término como «descripciones estructuradas y opcionales que están disponibles de forma pública para ayudar a localizar objetos»7 o «datos estructurados y codificados que describen características de instancias conteniendo informaciones para ayudar a identificar, descubrir, valorar y administrar las instancias descritas».8 Esta clase surgió de la crítica de que las declaraciones más simples son tan difusas y generales que dificultarán la tarea de acordar estándares, pero estas definiciones no son muy comunes. Podemos también considerar los metadatos, en las áreas de telecomunicaciones e informática, como información no relevante para el usuario final pero sí de suma importancia para el sistema que maneja la data. Los metadatos son enviados junto a la información cuando se realiza alguna petición o actualización de la misma. En el campo biológico los metadatos se han convertido en una herramienta fundamental para el descubrimiento de datos e información. En este contexto se pueden definir los metadatos como «una descripción estandarizada de las características de un conjunto de datos» con esto se incluye la descripción del contexto en el cual los datos fueron coleccionados y además se refiere al uso de estándares para describirlos.
  • 8. El uso de los metadatos mencionado más frecuentemente es la refinación de consultas a buscadores. Usando información adicional los resultados son más precisos, y el usuario se ahorra filtraciones manuales complementarias. El intervalo semántico plantea el problema de que el usuario y el ordenador no se entiendan porque este último no comprenda el significado de los datos. Es posible que los metadatos posibiliten la comunicación declarando cómo están relacionados los datos. Por eso la representación del conocimiento usa metadatos para categorizar informaciones. La misma idea facilita la inteligencia artificial al deducir conclusiones automáticamente. Los metadatos facilitan el flujo de trabajo convirtiendo datos automáticamente de un formato a otro. Para eso es necesario que los metadatos describan contenido y estructura de los datos. Algunos metadatos hacen posible una compresión de datos más eficaz. Por ejemplo, si en un vídeo el software sabe distinguir el primer plano del fondo puede usar algoritmos de compresión diferentes y así mejorar la cuota de compresión. Otra idea de aplicación es la presentación variable de datos. Si hay metadatos señalando los detalles más importantes, un programa puede seleccionar la forma de presentación más adecuada. Por ejemplo, si un teléfono móvil sabe dónde está localizada una persona en una imagen, tiene la posibilidad de reducirlo a las dimensiones de su pantalla. Del mismo modo un navegador puede decidir presentar un diagrama a su usuario ciego en forma táctil o leída. Los metadatos se clasifican usando tres criterios:  Contenido. Subdividir metadatos por su contenido es lo más común. Se puede separar los metadatos que describen el recurso mismo de los que describen el contenido del recurso. Es posible subdividir estos dos grupos más veces, por ejemplo para separar los metadatos que describen el sentido del contenido de los que describen la estructura del contenido o los que describen el recurso mismo de los que describen el ciclo vital del recurso.
  • 9.  Variabilidad. Según la variabilidad se puede distinguir metadatos mutables e inmutables. Los inmutables no cambian, no importa qué parte del recurso se vea, por ejemplo el nombre de un fichero. Los mutables difieren de parte a parte, por ejemplo el contenido de un vídeo.  Función. Los datos pueden ser parte de una de las tres capas de funciones: subsimbólicos, simbólicos o lógicos. Los datos subsimbólicos no contienen información sobre su significado. Los simbólicos describen datos subsimbólicos, es decir añaden sentido. Que son los Registro En informática, o concretamente en el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura. Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda. Una Base de Datos Relacional, es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.  Una Base de Datos se compone de varias tablas o relaciones.  No pueden existir dos tablas con el mismo nombre ni registro.
  • 10.  Cada tabla es a su vez un conjunto de registros (filas y columnas).  La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas).  Las claves primarias son la clave principal de un registro dentro de una tabla y éstas deben cumplir con la integridad de datos.  Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de éstas se hacen las formas relacionales La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia). El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos:  El nombre de cada tabla  El nombre de cada columna  El tipo de dato de cada columna Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o RDBMS (del inglés Relational Database Management System). Entre los gestores o manejadores actuales más populares encontramos:  MySQL  PostgreSQL  Oracle  DB2  INFORMIX  Interbas  FireBird  Sybase  Microsoft SQL Server
  • 11.
  • 12. QUE ES UN PROGRAMA Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital. En informática, se los denomina comúnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones; posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un determinado lenguaje de programación, han sido traducidas al único idioma que la máquina comprende, combinaciones de ceros y unos llamado código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario una vez que es compilado. Generalmente el código fuente lo escriben profesionales conocidos como programadores. Este código se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido en una imagen ejecutable a través de un programa-compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instrucción por instrucción. De acuerdo a sus funciones, los programas informáticos se clasifican en software de sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar varios programas de forma simultánea y eficiente, se le conoce como multitarea. La programación de computadoras es el proceso iterativo de escribir o editar código fuente. Dicha edición de código fuente implica probar, analizar y perfeccionar, y, a veces, coordinar con otros programadores, en el caso de un programa desarrollado en
  • 13. Conjunto. Una persona que practica esta técnica se la conoce como programador de computadoras, desarrollador de software, o codificador. El proceso, a veces a largo plazo, de programación de computadoras normalmente se lo conoce como desarrollo de software. El término ingeniería de software se está convirtiendo en muy popular, ya que esta actividad es vista como una disciplina de ingeniería.
  • 14. Categorías funcionales: Los programas se pueden categorizar según líneas funcionales. Estas categorías funcionales son software de sistema y software de aplicación. El software de sistema incluye al sistema operativo el cual acopla el hardware con el software de aplicación. El propósito del sistema operativo es proveer un ambiente en el cual el software de aplicación se ejecuta de una manera conveniente y eficiente. Además del sistema operativo, el software de sistema incluye programas utilitarios que ayudan a manejar y configurar la computadora. Si un programa no es software de sistema entonces es software de aplicación. El middleware también es un software de aplicación que acopla el software de sistema con la interfaz de usuario. También son software de aplicación los programas utilitarios que ayudan a los usuarios a resolver problemas de aplicaciones, como por ejemplo la necesidad de ordenamiento.
  • 15. QUE ES UN SOFTWARE Software (pronunciación AFI: es una palabra proveniente del inglés (literalmente: partes blandas o suaves), que en español no posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y así fue admitida por la Real Academia Española (RAE).Aunque puede no ser estrictamente lo mismo, suele sustituirse por expresiones tales como programas (informáticos) o aplicaciones (informáticas) o soportes lógicos. Se conoce como software1 al equipamiento lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware. Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistema, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario. El anglicismo "software" es el más ampliamente difundido al referirse a este concepto, especialmente en la jerga técnica; en tanto que el término sinónimo «logicial», derivado del término francés logiciel, es utilizado mayormente en países y zonas de influencia francesa. Existen varias definiciones similares aceptadas para software, pero probablemente la más formal sea la siguiente: Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación. Considerando esta definición, el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente, binario o ejecutable; también
  • 16. su documentación, los datos a procesar e incluso la información de usuario forman parte del software: es decir, abarca todo lo intangible, todo lo «no físico» relacionado. El término «software» fue usado por primera vez en este sentido por John W. Tukey en 1957. En la ingeniería de software y las ciencias de la computación, el software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936, «Los números computables», con una aplicación al problema de decisión. Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:  Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programadores adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:  Sistemas operativos  Controladores de dispositivos  Herramientas de diagnóstico  Herramientas de Corrección y Optimización  Servidores  Utilidades  Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes
  • 17. alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:  Editores de texto  Compiladores  Intérpretes  Enlazadores  Depuradores  Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).  Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:  Aplicaciones para Control de sistemas y automatización industrial  Aplicaciones ofimáticas  Software educativo  Software empresarial  Bases de datos  Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)  Videojuegos  Software médico  Software de cálculo numérico y simbólico.  Software de diseño asistido (CAD)  Software de control numérico (CAM) Etapas en el desarrollo del software Captura, análisis y especificación de requisitos Al inicio de un desarrollo (no de un proyecto), esta es la primera fase que se realiza, y, según el modelo de proceso adoptado, puede casi terminar para pasar a la próxima
  • 18. etapa (caso de Modelo Cascada Realimentado) o puede hacerse parcialmente para luego retomarla (caso Modelo Iterativo Incremental u otros de carácter evolutivo). En simple palabras y básicamente, durante esta fase, se adquieren, reúnen y especifican las características funcionales y no funcionales que deberá cumplir el futuro programa o sistema a desarrollar. Las bondades de las características, tanto del sistema o programa a desarrollar, como de su entorno, parámetros no funcionales y arquitectura dependen enormemente de lo bien lograda que esté esta etapa. Esta es, probablemente, la de mayor importancia y una de las fases más difíciles de lograr certeramente, pues no es automatizable, no es muy técnica y depende en gran medida de la habilidad y experiencia del analista que la realice. Involucra fuertemente al usuario o cliente del sistema, por tanto tiene matices muy subjetivos y es difícil de modelar con certeza o aplicar una técnica que sea «la más cercana a la adecuada» (de hecho no existe «la estrictamente adecuada»). Si bien se han ideado varias metodologías, incluso software de apoyo, para captura, elicitación y registro de requisitos, no existe una forma infalible o absolutamente confiable, y deben aplicarse conjuntamente buenos criterios y mucho sentido común por parte del o los analistas encargados de la tarea; es fundamental también lograr una fluida y adecuada comunicación y comprensión con el usuario final o cliente del sistema. El artefacto más importante resultado de la culminación de esta etapa es lo que se conoce como especificación de requisitos software o simplemente documento ERS. Como se dijo, la habilidad del analista para interactuar con el cliente es fundamental; lo común es que el cliente tenga un objetivo general o problema que resolver, no conoce en absoluto el área (informática), ni su jerga, ni siquiera sabe con precisión qué debería hacer el producto software (qué y cuantas funciones) ni, mucho menos, cómo debe operar. En otros casos menos frecuentes, el cliente «piensa» que sabe precisamente lo que el software tiene que hacer, y generalmente acierta muy parcialmente, pero su empecinamiento entorpece la tarea de elicitación. El analista debe tener la capacidad para lidiar con este tipo de problemas, que incluyen relaciones humanas; tiene que saber ponerse al nivel del usuario para permitir una adecuada
  • 19. comunicación y comprensión. Es bien conocida la presión que sufren los desarrolladores de sistemas informáticos para comprender y rescatar las necesidades de los clientes/usuarios. Cuanto más complejo es el contexto del problema más difícil es lograrlo, a veces se fuerza a los desarrolladores a tener que convertirse en casi expertos de los dominios que analizan. QUE ES UNA EMPRESA Se puede considerar que una definición de uso común en círculos comerciales es la siguiente: “Una empresa es un sistema con su entorno materializa una idea, de forma planificada, dando satisfacción a demandas y deseos de clientes, a través de una actividad comercial". Requiere de una razón de ser, una misión, una estrategia, objetivos, tácticas y políticas de actuación. Se necesita de una visión previa, y de una formulación y desarrollo estratégico de la empresa. Se debe partir de una buena definición de la misión. La planificación posterior está condicionada por dicha definición. La Comisión de la Unión Europea sugiere la siguiente definición: «Se considerará empresa toda entidad, independientemente de su forma jurídica, que ejerza una
  • 20. actividad económica. En particular, se considerarán empresas las entidades que ejerzan una actividad artesanal u otras actividades a título individual o familiar, las sociedades de personas, y las asociaciones que ejerzan una actividad económica de forma regular». De acuerdo al Derecho internacional, la empresa es el conjunto de capital, administración y trabajo dedicados a satisfacer una necesidad en el mercado. Un diccionario legal de EE. UU. Las define como: “an economic organization or activity; especially: a business organization” (una organización o actividad económica; especialmente una organización de negocios). Otra definición -con un sentido más académico y de uso general entre sociólogos- es: “Grupo social en el que a través de la administración de sus recursos, del capital y del trabajo, se producen bienes o servicios tendientes a la satisfacción de las necesidades de una comunidad. Conjunto de actividades humanas organizadas con el fin de producir bienes o servicios” Adam Smith se encuentra entre los primeros en teorizar al respecto. Para él una empresa es la organización que permite la "internacionalización" de las formas de producción: por un lado permite que los factores de producción (capital, trabajo, recursos) se encuentren y por el otro permite la división del trabajo. Aun cuando para Smith la forma "natural" y eficiente de tal organización era aquella motivada por el interés privado -por ejemplo: «Es así que el interés privado y las pasiones de los individuos los disponen naturalmente a volver sus posesiones (stock en el original) hacia el empleo que en el caso ordinario son más ventajosos para la comunidad» - Smith propone que hay también una necesidad o área que demanda acción pública: «De acuerdo al sistema de Libertad Natural, el Soberano sólo tiene tres deberes que atender, tercero, la obligación de realizar y conservar determinadas obras públicas y determinadas instituciones públicas, cuya realización y mantenimiento no pueden ser nunca de interés para un individuo particular o para un pequeño número de individuos, porque el beneficio de las mismas no podría nunca reembolsar de su gasto a ningún individuo particular o a ningún pequeño grupo de individuos, aunque con
  • 21. frecuencia reembolsan con mucho exceso a una gran sociedad» - estableciendo así las bases de lo que algunos han llamado la “Teoría de la empresas públicas”  Finalidad económica externa, que es la producción de bienes o servicios para satisfacer necesidades de la sociedad.  Finalidad económica interna, que es la obtención de un valor agregado para remunerar a los integrantes de la empresa. A unos en forma de utilidades o dividendos y a otros en forma de sueldos, salarios y prestaciones. Esta finalidad incluye la de abrir oportunidades de inversión para inversionistas y de empleo para trabajadores. Se ha discutido mucho si una de estas dos finalidades está por encima de la otra. Ambas son fundamentales, están estrechamente vinculadas y se debe tratar de alcanzarlas simultáneamente. La empresa está para servir a los hombres de afuera (la sociedad) y a los hombres de adentro (sus integrantes).  Finalidad social externa, que es contribuir al pleno desarrollo de la sociedad, tratando que en su desempeño económico no solamente no se vulneren los valores sociales y personales fundamentales, sino que en lo posible se promuevan.  Finalidad social interna, que es contribuir, en el seno de la empresa, al pleno desarrollo de sus integrantes, tratando de no vulnerar valores humanos fundamentales, sino también promoviéndolos. Según las relaciones que mantengan con otras empresas y con los clientes: Empresas aisladas o de lazo cerrado: se trata de un conjunto de empresas que son independientes del resto del mercado, por lo que solo dependen de sí mismas (Este hecho implica que todo el producto ha sido realizado por ellas mismas, desde la materia prima hasta el producto elaborado, sin utilizar ningún producto semielaborado). En la actualidad este modelo de empresa es prácticamente inexistente. Redes de empresas o empresas de lazo abierto: Unión temporal de empresas con unos objetivos comunes, en la que cada una aporta sus competencias principales para
  • 22. Poder a las necesidades del mercado y mejorar la situación de competencia. En la actualidad, debido a la globalización es muy común encontrar empresas especializadas en un subproducto concreto que forma parte de un producto elaborado. De esta forma también existen empresas especializadas en comprar y ensamblar las distintas piezas del producto acabado. Según sector de la actividad. Las empresas pueden clasificarse, de acuerdo con la actividad que desarrollen, en:  Empresas del sector primario.  Empresas del sector secundario.  Empresas del sector terciario.  Empresas del sector cuaternario.  Una clasificación alternativa es:  Industriales. La actividad primordial de este tipo de empresas es la producción de bienes mediante la transformación de la materia o extracción de materias primas. Las industrias, a su vez, se clasifican en:  Extractivas. Cuando se dedican a la explotación de recursos naturales, ya sea renovables o no renovables. Ejemplos de este tipo de empresas son las pesqueras, madereras, mineras, petroleras, etc.  Manufactureras: Son empresas que transforman la materia prima en productos terminados, y pueden ser:  De consumo final. Producen bienes que satisfacen de manera directa las necesidades del consumidor. Por ejemplo: prendas de vestir, muebles, alimentos, aparatos eléctricos, etc.  De producción. Estas satisfacen a las personas de uso de consumo final. Ejemplo: maquinaria ligera, productos químicos, etc.  Comerciales. Son intermediarias entre productor y consumidor; su función primordial es la compra/venta de productos terminados. Pueden clasificarse en:
  • 23.  Mayoristas: Venden a gran escala o a grandes rasgos. Minoristas (detallistas): Venden al por menor. Comisionistas: Venden de lo que no es suyo, dan a consignación. Servicio. Son aquellas que brindan servicio a la comunidad que a su vez se clasifican en:  Transporte  Turismo  Instituciones financieras  Servicios públicos (energía, agua, comunicaciones)  Servicios privados (asesoría, ventas, publicidad, contable, administrativo)  Educación  Finanzas
  • 24. QUE SON LOS PRODUCTOS En mercadotecnia, un producto es una opción elegible, viable y repetible que la oferta pone a disposición de la demanda, para satisfacer una necesidad o atender un deseo a través de su uso o consumo. El producto es uno de los componentes estructurales de la mezcla de mercadotecnia (en inglés marketing mix). El caso más común de la misma es también conocido como "Las cuatro P" de la mercadotecnia, junto al Precio, Plaza y Promoción. Sin embargo, en un sentido más amplio, la mezcla está integrada por Oferta, Términos de Intercambio, Accesibilidad y Simbolización (en sus iniciales OTAS), haciendo este último concepto de utilidad general para cualquier tipo de análisis sostenido entre oferta y demanda, y no solo aplicable al mercado de consumo masivo. En un diseño apropiado, la oferta puede integrarse conformando una propuesta de valor que atiende armónicamente los requisitos, diferenciadores y generadores de preferencia de la demanda. Los productos pueden presentar muy diversas combinaciones valiosas para generar demanda, que pueden enfocarse hacia:  Bienes o productos físicos: son todos los elementos tangibles.  Servicios: son intangibles, son inseparables (se producen y consumen al mismo tiempo), son variables.  Personas: se aplica a los profesionales de distintas áreas, por ej: actores.  Lugares: como ciudades, países; parques o determinadas áreas geográficas.  Instituciones: por ejemplo universidades, fundaciones, empresas (no sus bienes o servicios), etc.  Ideas y conceptos: abarca a proyectos de negocios, proyectos sociales, hasta proyectos internos dentro de una organización, también se comunican y venden.  Experiencias: por ejemplo: travesía por una selva virgen Niveles de un producto
  • 25. La teoría clásica de niveles de producto parte de identificar una necesidad o deseo esencial, a partir de la cual se construyen elementos adicionales, haciendo gradualmente la oferta más robusta:  Producto esencial o sustancial: responde a una necesidad, deseo, bien de orden o valor terminal solicitado por la demanda. Por ejemplo, al consumir café, la persona busca una bebida energizante (beneficio sensorial-funcional).  Producto genérico: versión mínima del producto que en atributos y beneficios responde a la necesidad esencial de la demanda. Por ejemplo, envase de café de 250 gramos.  Producto esperado: conjunto de beneficios y atributos que la demanda busca para adquirir un producto de modo voluntario, recurrente y sostenible. Por ejemplo, que el envase posea fecha de vencimiento, que esté protegido de la humedad, que sea fácil de disolver.  Producto aumentado: incluye otros beneficios y atributos agregados al producto, por encima de lo que brinda la competencia; puede ser un mejor servicio o mejores características. Por ejemplo, un número telefónico y correo electrónico para consultas y reclamaciones, que se coloquen en la etiqueta distinta recetas y formas de preparar café.  Producto potencial: consiste en anticipar los deseos y requerimientos de los compradores, para la mejora o desarrollo de un nuevo producto. Por ejemplo, los consumidores podrían requerir en el futuro que se le agreguen al café, minerales y vitaminas, para un cuidado de la salud y que no sea sólo un energizante.
  • 26. QUE SON LOS SERVICIOS Servicio (economía) Este artículo trata sobre el concepto económico. Un servicio es un conjunto de actividades que buscan responder a las necesidades de la gente. Los servicios incluyen una diversidad de actividades desempeñadas por un crecido número de funcionarios que trabajan para el estado (servicios públicos) o para empresas particulares (servicios privados); entre estos pueden señalarse los servicios de: electricidad, agua potable, aseo, teléfono, telégrafo, correo, transporte, educación, cibercafés, sanidad y asistencia social. Se define un marco en donde las actividades se desarrollarán con la idea de fijar una expectativa en el resultado de éstas. Es el equivalente no material de un bien. Un servicio se diferencia de un bien (físico o intangible) en que el primero se consume y se desgasta de manera brutal puesto que la economía social nada tiene que ver con la política moderna; es muy importante señalar que la economía nacional no existe siempre en el momento en que es prestado. Al proveer algún nivel de habilidad, ingenio y experiencia, los proveedores de un servicio participan en una economía sin las restricciones de llevar inventario pesado o preocuparse por voluminosas materias primas. Por otro lado, requiere constante inversión en mercadotecnia, capacitaciones y actualización de cara a la competencia, la cual tiene igualmente pocas restricciones físicas. Tipos de servicios Hay dos grandes maneras de clasificar los servicios. Una de ellas es clasificándola en servicios públicos y privados. Servicios públicos y privados Servicio Público: Prestaciones reservadas en cada Estado a la órbita de las administraciones públicas y que tienen como finalidad ayudar a las personas que lo necesiten. Ej. Hospitales y Empresas Postales.
  • 27. Servicio Privado: son aquellos servicios que entrega una empresa privada y que sirve para satisfacen intereses o necesidades particulares de las personas con fin de lucro. Ej. Empresas de comunicaciones y Gas ardiente
  • 28.  Servicios de mantenimiento Son aquellos que ofrecen mantener bajo un método preventivo los artículos que requieren su cuidado. Ejemplo: los televisores, las enceradoras, las bicicletas o a nivel industrial como las máquinas de uso diario, camiones, carros, motocicletas.  Servicios a domicilio Son aquellos que el cliente utiliza sin moverse de su hogar y que contrata por medio de vía telefónica o Internet, por ejemplo: alimentos como pizza, películas…  Servicios de alquiler Son aquellos que la persona contrata para satisfacer una necesidad momentánea o por algún tiempo, por ejemplo: arriendo de casa, arriendo de automóviles…  Servicios de talleres Son los servicios que ofrecen personas individuales en el cuidado del mantenimiento y reparación de algún artículo de necesidad. Normalmente funcionan dentro de un taller. Características de los servicios Las características que poseen los servicios y que los distinguen de los productos son:  Intangibilidad: esta es la característica más básica de los servicios, consiste en que estos no pueden verse, probarse, sentirse, oírse ni olerse antes de la compra. Esta característica dificulta una serie de acciones que pudieran ser deseables de hacer: los servicios no se pueden inventariar ni patentar, ser explicados o representados fácilmente, etc., o incluso medir su calidad antes de la prestación.  Heterogeneidad (o variabilidad): dos servicios similares nunca serán idénticos o iguales. Esto por varios motivos: las entregas de un mismo servicio son realizadas por personas a personas, en momentos y lugares distintos. Cambiando uno solo de estos factores el servicio ya no es el mismo, incluso
  • 29. cambiando sólo el estado de ánimo de la persona que entrega o la que recibe el servicio. Por esto es necesario prestar atención a las personas que prestarán los servicios a nombre de la empresa.  Inseparabilidad: en los servicios la producción y el consumo son parcial o totalmente simultáneos. A estas funciones muchas veces se puede agregar la función de venta. Esta inseparabilidad también se da con la persona que presta el servicio.  Perecibilidad: los servicios no se pueden almacenar, por la simultaneidad entre producción y consumo. La principal consecuencia de esto es que un servicio no prestado, no se puede realizar en otro momento, por ejemplo un vuelo con un asiento vacío en un vuelo comercial.  Ausencia de propiedad: los compradores de servicios adquieren un derecho a recibir una prestación, uso, acceso o arriendo de algo, pero no su propiedad. Después de la prestación solo existen como experiencias vividas Principios básicos del servicio Los principios básicos del servicio es la filosofía subyacente de este, que sirven para entenderlo y, a su vez, aplicarlo de la mejor manera para el aprovechamiento de sus beneficios por la empresa.  Actitud de servicio: Convicción íntima de que es un honor servir.  Satisfacción del usuario: Intención de vender satisfacción más que productos.  Dado el carácter transitorio, inmediatista y variable de los servicios, se requiere una actitud positiva, dinámica y abierta: esto es, la filosofía de “todo problema tiene una solución”, si se sabe buscar.  Toda la actividad se sustenta sobre bases éticas: es inmoral cobrar cuando no se ha dado nada ni se va a dar.  El buen servidor es quien se encuentra satisfecho dentro de la empresa, situación que lo estimula a servir con gusto a los clientes: no se puede esperar
  • 30. buenos servicios a quien se siente esclavizado, frustrado, explotado y respira hostilidad contra la propia empresa.  Tratando de instituciones de autoridad, se plantea una continuidad que va desde el polo autoritario (el poder) hacia el polo democrático (el servicio): en el polo autoritario hay siempre el riesgo de la prepotencia y del mal servicio. Cuanto más nos alejemos del primer polo, mejor estaremos. EN QUE CONSISTE EL DESARROLLO WEB El diseño web es una actividad que consiste en la planificación, diseño e implementación de sitios web. No es simplemente una aplicación de diseño convencional, ya que requiere tener en cuenta la navegabilidad, interactividad, usabilidad, arquitectura de la información y la interacción de medios como el audio, texto, imagen, enlaces y video. La unión de un buen diseño con una jerarquía bien elaborada de contenidos, aumenta la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos. El diseño web ha visto amplia aplicación en los sectores comerciales de Internet especialmente en la World Wide Web. A menudo la web se utiliza como medio de expresión plástica en sí. Artistas y creadores hacen de las páginas en Internet un medio más para ofrecer sus producciones y utilizarlas como un canal más de difusión de su obra. Diseño web aplicado El diseño de páginas web se trata básicamente de realizar un documento con información hiperenlazado con otros documentos y asignarle una presentación para
  • 31. diferentes dispositivos de salida (en una pantalla de computador, en papel, en un teléfono móvil. Estos documentos o páginas web pueden ser creados  creando archivos de texto en HTML, PHP, Asp, Aspx, JavaScript, JSP, Python, Ruby.  utilizando un programa WYSIWYG o WYSIWYM de creación de páginas.  utilizando lenguajes de programación del lado servidor, para generar la página web. Etapas Para el diseño de páginas web debemos tener en cuenta tres etapas:  El diseño visual de la información que se desea editar. En esta etapa se trabaja distribuyendo el texto, los gráficos, los vínculos a otros documentos y otros objetos multimedia que se consideren pertinentes. Es importante que antes de trabajar sobre el computador se realice un boceto o pre diseño sobre el papel. Esto facilitará tener un orden claro sobre el diseño.  Estructura y relación jerárquica de las páginas del sitio web. Una vez que se tiene el boceto se pasa a 'escribir' la página web. Para esto, y fundamentalmente para manejar los vínculos entre documentos, se creó el lenguaje de marcación de hipertexto o HTML. Los enlaces que aparecen subrayados en este documento y otros de Wikipedia son ejemplos de hipertexto, puesto que al pulsar sobre ellos conducen a otras páginas con información relacionada. La importancia de la estructura y arborescencia web radica en que los visitantes no siempre entran por la página principal o inicial y en ese caso el sitio debe darle la respuesta a lo que busca rápido, además permitirle navegar por el sitio.  Posicionamiento en buscadores o SEO. Ésta consiste en optimizar la estructura del contenido para mejorar la posición en que aparece la página en determinada búsqueda. Etapa no gustosa por los diseñadores gráficos, porque
  • 32. a diferencia del texto, aún para el año 2014 no se pueden tener nuevos resultados en los buscadores con sitios muy gráficos. Fundamentos Un correcto diseño web implica conocer cómo se deben utilizar cada uno de los elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje dentro de los estándares establecidos por la W3C y en lo referente a la web semántica. Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta premisa original se ha perdido. Por ejemplo, este navegador permite que no sea necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide que ese documento web sea universal e independiente del medio que se utilice para ser mostrado. La web semántica, por otra parte, aboga por un uso lógico de los elementos según el significado para el que fueron concebidas. Por ejemplo se utilizará el elemento <P> para marcar párrafos, y <TABLE> para tabular datos (nunca para disponer de manera visual los diferentes elementos del documento). En su última instancia, esto ha supuesto una auténtica revolución en el diseño web puesto que apuesta por separar totalmente el contenido del documento de la visualización. De esta forma se utiliza el documento HTML únicamente para contener, organizar y estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha información en los diferentes medios (como por ejemplo, una monitor de computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz, etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del documento. También existen páginas dinámicas, las cuales permiten interacción entre la web y el visitante, proporcionándole herramientas tales como buscadores, chat, foros, sistemas de encuestas, etc. y poseen de un panel de control de administración de contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de contenido en la misma. Accesibilidad
  • 33. El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas como las del W3C: Pautas de accesibilidad al contenido Web 1.0 WCAG. Historia En un principio era sólo texto, pero a medida que ha evolucionado la tecnología, tanto los ordenadores como las redes de telecomunicaciones, se ha generado nuevas formas de desarrollar la web. La inclusión de imágenes fue la más significativa, pero también debemos mencionar el vídeo y la animación, o los espacios 3D, lo que aporta valores estilísticos, de diseño y de interactividad jamás imaginados antes. El diseño de páginas web se ha desarrollado a medida que ha evolucionado Internet. En 1992 sólo había alrededor de 50 sitios web. Estadísticas (2005) nos afirmaban que la cantidad de sitios web ronda los 8.000 millones de sitios, a los que diariamente se les suma a raíz de 4400 por día. Rápidamente, su importancia alcanzará las mismas cuotas que la televisión o el teléfono. Datos recientes estiman que hay alrededor de 2 mil millones de páginas colgadas y se espera que en los próximos años llegue a los 8 mil millones, excediendo el número de habitantes del planeta. Sin embargo, sólo una fracción de este número es visitado habitualmente por la mayoría de los usuarios (sólo alrededor de 15.000 sitios webs, el 0,4% del total). A partir de estos datos se puede entender la necesidad de concentrar los esfuerzos para atraer y mantener la atención de los usuarios. Junto con un desarrollo efectivo de la estructura web y del contenido, el diseño y el uso del color son la llave para atraer y ser identificado, formando vínculos en el subconsciente del usuario y generar esquemas para captar y fidelizar a nuevos visitantes. Al mismo tiempo que la evolución de los aparatos y de su introducción en los hogares, también ha aumentado la calidad de las transmisiones a través Internet y ha bajado su precio. A medida que la tecnología ha solventado estas dificultades, ya no nos encontramos con problemas de forma sino de contenido.
  • 34. HTML HTML, siglas de HyperText Markup Language («lenguaje de marcas de hipertexto»), hace referencia al lenguaje de marcado para la elaboración de páginas web. Es un estándar que sirve de referencia para la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, etc. Es un estándar a cargo de la W3C, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación. Es el lenguaje con el que se definen las páginas web. El lenguaje HTML basa su filosofía de desarrollo en la referenciación. Para añadir un elemento externo a la página (imagen, vídeo, script, etc.), este no se incrusta directamente en el código de la página, sino que se hace una referencia a la ubicación de dicho elemento mediante texto. De este modo, la página web contiene sólo texto mientras que recae en el navegador web (interpretador del código) la tarea de unir todos los elementos y visualizar la página final. Al ser un estándar, HTML busca ser un lenguaje que permita que cualquier página web escrita en una determinada versión, pueda ser interpretada de la misma forma (estándar) por cualquier navegador web actualizado. Sin embargo, a lo largo de sus diferentes versiones, se han incorporado y suprimido diversas características, con el fin de hacerlo más eficiente y facilitar el desarrollo de páginas web compatibles con distintos navegadores y plataformas (PC de escritorio, portátiles, teléfonos inteligentes, tabletas, etc.). Sin embargo, para interpretar correctamente una nueva versión de HTML, los desarrolladores de navegadores web deben incorporar estos cambios y el usuario debe ser capaz de usar la nueva versión del navegador con los cambios incorporados. Usualmente los cambios son aplicados mediante parches de actualización automática (Firefox, Chrome) u ofreciendo una nueva versión del navegador con todos los cambios incorporados, en un sitio web de descarga oficial (Internet Explorer). Un navegador no actualizado no será capaz de interpretar correctamente una página web escrita en una versión de HTML superior a la que pueda interpretar, lo que obliga muchas veces a los desarrolladores a aplicar técnicas y cambios que permitan corregir problemas de visualización e incluso de
  • 35. interpretación de código HTML. Así mismo, las páginas escritas en una versión anterior de HTML deberían ser actualizadas o reescritas, lo que no siempre se cumple. Es por ello que ciertos navegadores aún mantienen la capacidad de interpretar páginas web de versiones HTML anteriores. Por estas razones, aún existen diferencias entre distintos navegadores y versiones al interpretar una misma página web. Primeras especificaciones Tim Berners-Lee en 1991 describe 22 elementos que incluyen 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 a 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. 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, que reflejaba la filosofía del IETF de basar estándares en prototipos con éxito. De la misma manera, el boceto competidor de Dave Raggett HTML+ (Hypertext Markup Format) (Formato de Marcaje de Hipertexto), de finales de 1993, sugería estandarizar características ya implementadas, como las tablas. HTML El 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 o hacer referencia a un tipo de programa llamado script, el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML. HTML también sirve 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).
  • 36. HTML consta de varios componentes vitales, entre ellos los elementos y sus atributos, tipos de data y la declaración de tipo de documento. Códigos HTML básicos <HTML>: 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, que significa la palabra justo tras DOCTYPE el tag de raíz. <Script>: incrusta un script en una web, o 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. <Head>: 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 <head> es posible encontrar: <Title>: 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. <Link>: para vincular el sitio a hojas de estilo o iconos. Por ejemplo :< link rel="stylesheet" href="/style.css" type="text/css">. <Style>: 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 <link>. <Meta>: 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. Historia del estándar En 1989 existían dos técnicas que permitían vincular documentos electrónicos, por un lado los hipervínculos (enlaces) y por otro lado un poderoso lenguaje de etiquetas denominado SGML. Por entonces, Tim Berners-Lee, quien trabajaba en el Centro
  • 37. Europeo de Investigaciones Nucleares CERN da a conocer a la prensa que estaba trabajando en un sistema que permitirá acceder a ficheros en línea que funcionaba sobre redes de computadoras o máquinas electrónicas basadas en el protocolo TCP/IP. Inicialmente fue desarrollado para que se pueda compartir fácilmente información entre científicos de distintas universidades e institutos de investigación de todo el mundo. A principios de 1990, define por fin el HTML como un subconjunto del conocido SGML y crea algo más valioso aún, el World Wide Web. Tim Berners-Lee, creó el proyecto World Wide Web (Tejido o Telaraña Mundial), así como un sistema que facilitaba la lectura de información, mediante un programa de navegación. Éste sería el primer navegador Web, llamado WorldWideWeb, y desarrollado durante la segunda mitad del año 1990; siendo tiempo después rebautizado como Nexus para evitar confusiones por su nombre que era igual al de la tecnología que representaba. Le siguieron otros dos navegadores: el Line Mode Browser y el ViolaWWW. Este último, desarrollado en 1992, fue el primer navegador en popularizarse entre los primeros usuarios de la World Wide Web. Pei-Yuan Wei presentó el ViolaWWW, 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 supe conjunto 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; por ejemplo, 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
  • 38. 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. En 1997, HTML 4.0 se publicó como una recomendación del W3C. HTML 4.0 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 HTML 4.0 implementa características como XForms 1.0 que no necesitan implementar motores de navegación que eran incompatibles con algunas páginas web HTML. En 2004 la W3C reabrió el debate de la evolución del HTML, y se dieron a conocer las bases para la versión HTML5. No obstante, este trabajo fue rechazado por los miembros del W3C y se daría preferencia al desarrollo del XML. Apple, Mozilla y Opera anunciaron su interés en seguir trabajando en el proyecto bajo el nombre de WHATWG, que se basa en la compatibilidad con tecnologías anteriores. En 2006, el W3C se interesó en el desarrollo de HTML5, y en 2007 se unió al grupo de trabajo del WHATWG para unificar el proyecto. Entidades HTML Los caracteres especiales como signo de puntuación, letras con tilde o diéresis o símbolos de escritura 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:
  • 39.
  • 40. CSS CSS son las siglas de Cascading Style Sheets - Hojas de Estilo en Cascada - que es un lenguaje que describe la presentación de los documentos estructurados en hojas de estilo para diferentes métodos de interpretación, es decir, describe cómo se va a mostrar un documento en pantalla, por impresora, por voz (cuando la información es pronunciada a través de un dispositivo de lectura) o en dispositivos táctiles basados en Braille. ¿Para qué sirve? CSS es una especificación desarrollada por el W3C (World Wide Web Consortium) para permitir la separación de los contenidos de los documentos escritos en HTML, XML, XHTML, SVG, o XUL de la presentación del documento con las hojas de estilo, incluyendo elementos tales como los colores, fondos, márgenes, bordes, tipos de letra..., modificando as la apariencia de una página web de una forma más sencilla, permitiendo a los desarrolladores controlar el estilo y formato de sus documentos. ¿Cómo funciona? El lenguaje CSS se basa en una serie de reglas que rigen el estilo de los elementos en los documentos estructurados, y que forman la sintaxis de las hojas de estilo. Cada regla consiste en un selector y una declaración, esta última va entre corchetes y consiste en una propiedad o atributo, y un valor separados por dos puntos. Selector El Selector especifica que elementos HTML van a estar afectados por esa declaración, de manera que hace de enlace entre la estructura del documento y la regla estilística en la hoja de estilo. Declaración
  • 41. La Declaración que va entre corchetes es la información de estilo que indica cómo se va a ver el selector. En caso de que haya más de una declaración se usa punto y coma para separarlas. Propiedad o Atributo y Valor Dentro de la declaración, la Propiedad o Atributo define la interpretación del elemento asignándosele un cierto Valor, que puede ser color, alineación, tipo de fuente, tamaño..., es decir, especifican qué aspecto del selector se va a cambiar. Tres tipos de estilos La información CSS se puede proporcionar por varias fuentes, ya sea adjunto como un documento por separado o incorporado en el documento HTML, y dentro de estas posibilidades destacan tres formas de dar estilo a un documento web:  Hoja de Estilo Externa  La Hoja de Estilo Externa se almacena en un archivo diferente al del archivo con el código HTML al cal estar vinculado a través del elemento link, que debe ir situado en la sección head. Es la manera de programar ms eficiente, ya que separa completamente las reglas de formato para la página HTML de la estructura básica de la página.  Hoja de Estilo Interna  La Hoja de Estilo Interna está incorporada a un documento HTML, a través del elemento style dentro de la sección head, consiguiendo de esta manera separar la información del estilo del código HTML.  Estilo en Línea  El Estilo en Línea sirve para insertar el lenguaje de estilo directamente dentro de la sección body con el elemento style. Sin embargo, este tipo de estilo no se recomienda pues se debe intentar siempre separar el contenido de la presentación. Versiones CSS Existen varias versiones: CSS1 y CSS2, la CSS3 está todavía en desarrollo por el CSS WG (Cascading Style Sheets Working Group).
  • 42. Los navegadores actuales implementan bastante bien CSS1 desde 1999 (tres años después de su lanzamiento) aunque dependiendo de la marca y versión del navegador hay algunas pequeñas diferencias de implementación. El primer navegador en dar soporte completo al CSS1 ha sido Internet Explorer 5.0 for the Macintosh en 2000, anteriormente el que mejor soportaba CSS1 haba sido Opera, después otros navegadores también lo han ido implementando. Sin embargo, CSS2 (lanzado en 1998) sólo está parcialmente implementado en los navegadores más recientes, variando en estos los niveles de implementación. Ventajas de CSS  La principal ventaja de CSS sobre el lenguaje HTML o similar, es que el estilo se puede guardar completamente por separado del contenido siendo posible, por ejemplo, almacenar todos los estilos de presentación para una web de 10.000 páginas en un sólo archivo de CSS.  CSS permite un mejor control en la presentación de un sitio web que los elementos de HTML, agilizando su actualización.  Aumento de la accesibilidad de los usuarios gracias a que pueden especificar su propia hoja de estilo, permitiéndoles modificar el formato de un sitio web según sus necesidades, de manera que por ejemplo, personas con deficiencias visuales puedan configurar su propia hoja de estilo para aumentar el tamaño del texto.  El ahorro global en el ancho de banda es notable, ya que la hoja de estilo se almacena en cache después de la primera solicitud y se puede volver a usar para cada página del sitio, no se tiene que descargar con cada página web. Por otro lado, quitando todo lenguaje de marcado en la presentación en favor del uso de CSS reduce su tamaño y ancho de banda hasta más del 50%, esto beneficia al dueño del sitio web con menos ancho de banda y costes de almacenamiento, así como a los visitantes para los cuales las páginas se van a cargar más rápido.  Una página puede tener diferentes hojas de estilo para mostrarse en diferentes dispositivos, como pueden ser impresoras, lectores de voz, o móviles.
  • 43.
  • 44. JAVASCRIPT JavaScript (abreviado comúnmente "JS") es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas4 aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo. JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no están relacionados y tienen semánticas y propósitos diferentes. Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM). Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. JavaScript se interpreta en el agente de usuario, al mismo tiempo que las sentencias van descargándose junto con el código HTML. JavaScript fue desarrollado originalmente por Brendan Eich de Netscape con el nombre de Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente quedar como JavaScript. El cambio de nombre coincidió aproximadamente con el momento en que Netscape agregó soporte para la tecnología Java en su navegador web Netscape Navigator en la versión 2.002 en diciembre de 1995. La
  • 45. denominación produjo confusión, dando la impresión de que el lenguaje es una prolongación de Java, y se ha caracterizado por muchos como una estrategia de mercadotecnia de Netscape para obtener prestigio e innovar en lo que eran los nuevos lenguajes de programación web. «JAVASCRIPT» es una marca registrada de Oracle Corporation. Es usada con licencia por los productos creados por Netscape Communications y entidades actuales como la Fundación Mozilla Microsoft dio como nombre a su dialecto de JavaScript «JScript», para evitar problemas relacionados con la marca. JScript fue adoptado en la versión 3.0 de Internet Explorer, liberado en agosto de 1996, e incluyó compatibilidad con el Efecto 2000 con las funciones de fecha, una diferencia de los que se basaban en ese momento. Los dialectos pueden parecer tan similares que los términos «JavaScript» y «JScript» a menudo se utilizan indistintamente, pero la especificación de JScript es incompatible con la de ECMA en muchos aspectos. Para evitar estas incompatibilidades, el World Wide Web Consortium diseñó el estándar Document Object Model (DOM, o Modelo de Objetos del Documento en español), que incorporan Konqueror, las versiones 6 de Internet Explorer y Netscape Navigator, Opera la versión 7, Mozilla Application Suite y Mozilla Firefox desde su primera versión. En 1997 los autores propusieron10 JavaScript para que fuera adoptado como estándar de la European Computer Manufacturers 'Association ECMA, que a pesar de su nombre no es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después también como un estándar ISO. Netscape introdujo una implementación de script del lado del servidor con Netscape Enterprise Server, lanzada en diciembre de 1994 (poco después del lanzamiento de JavaScript para navegadores web). A partir de mediados de la década de los 2000, ha habido una proliferación de implementaciones de JavaScript para el lado servidor. Node.js es uno de los notables ejemplos de JavaScript en el lado del servidor, siendo usado en proyectos importantes.
  • 46. JavaScript se ha convertido en uno de los lenguajes de programación más populares en internet. Al principio, sin embargo, muchos desarrolladores renegaban del lenguaje porque el público al que va dirigido lo formaban publicadores de artículos y demás aficionados, entre otras razones. La llegada de Ajax devolvió JavaScript a la fama y atrajo la atención de muchos otros programadores. Como resultado de esto hubo una proliferación de un conjunto de frameworks y librerías de ámbito general, mejorando las prácticas de programación con JavaScript, y aumentado el uso de JavaScript fuera de los navegadores web, como se ha visto con la proliferación de entornos JavaScript del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado con el objetivo de especificar una librería para uso de tareas comunes principalmente para el desarrollo fuera del navegador web. Características Las siguientes características son comunes a todas las implementaciones que se ajustan al estándar ECMAScript, a menos que especifique explícitamente en caso contrario. Imperativo y estructurado JavaScript soporta gran parte de la estructura de programación de C (por ejemplo, sentencias if, bucles for, sentencias switch, etc.). Con una salvedad, en parte: en C, el ámbito de las variables alcanza al bloque en el cual fueron definidas; sin embargo en JavaScript esto no es soportado, puesto que el ámbito de las variables es el de la función en la cual fueron declaradas. Esto cambia con la versión de JavaScript 1.7, ya que soporta block scoping por medio de la palabra clave let. Como en C, JavaScript hace distinción entre expresiones y sentencias. Una diferencia sintáctica con respecto a C es la inserción automática de punto y coma, es decir, en JavaScript los puntos y coma que finalizan una sentencia pueden ser omitidos Dinámico Tipado dinámico Como en la mayoría de lenguajes de scripting, el tipo está asociado al valor, no a la variable. Por ejemplo, una variable x en un momento dado puede estar ligada a un
  • 47. número y más adelante, religada a una cadena. JavaScript soporta varias formas de comprobar el tipo de un objeto, incluyendo duck typing. Una forma de saberlo es por medio de la palabra clave typeof. Objetual JavaScript está formado casi en su totalidad por objetos. Los objetos en JavaScript son arrays asociativos, mejorados con la inclusión de prototipos (ver más adelante). Los nombres de las propiedades de los objetos son claves de tipo cadena: obj.x = 10 y obj ['x'] = 10 son equivalentes, siendo la notación con punto azúcar sintáctico. Las propiedades y sus valores pueden ser creados, cambiados o eliminados en tiempo de ejecución. La mayoría de propiedades de un objeto (y aquellas que son incluidas por la cadena de la herencia prototípica) pueden ser enumeradas a por medio de la instrucción de bucle for... in. JavaScript tiene un pequeño número de objetos predefinidos como son Function y Date. Evaluación en tiempo de ejecución JavaScript incluye la función eval que permite evaluar expresiones como expresadas como cadenas en tiempo de ejecución. Por ello se recomienda que eval sea utilizado con precaución y que se opte por utilizar la función JSON. Parse () en la medida de lo posible, pues resulta mucho más segura. Funcional Funciones de primera clase A las funciones se les suele llamar ciudadanos de primera clase; son objetos en sí mismos. Como tal, poseen propiedades y métodos, como .call () y .bind (). Una función anidada es una función definida dentro de otra. Esta es creada cada vez que la función externa es invocada. Además, cada función creada forma una clausura; es el resultado de evaluar un ámbito conteniendo en una o más variables dependientes de otro ámbito externo, incluyendo constantes, variables locales y argumentos de la función externa llamante. El resultado de la evaluación de dicha clausura forma parte del estado interno de cada objeto función, incluso después de que la función exterior concluya su evaluación.
  • 48. Prototípico Prototipos JavaScript usa prototipos en vez de clases para el uso de herencia. Es posible llegar a emular muchas de las características que proporcionan las clases en lenguajes orientados a objetos tradicionales por medio de prototipos en JavaScript. Funciones como constructores de objetos Las funciones también se comportan como constructores. Prefijar una llamada a la función con la palabra clave new crear una nueva instancia de un prototipo, que heredan propiedades y métodos del constructor (incluidas las propiedades del prototipo de Object). ECMAScript ofrece el método Object.create, permitiendo la creación explícita de una instancia sin tener que heredar automáticamente del prototipo de Object (en entornos antiguos puede aparecer el prototipo del objeto creado como null). La propiedad prototype del constructor determina el objeto usado para el prototipo interno de los nuevos objetos creados. Se pueden añadir nuevos métodos modificando el prototipo del objeto usado como constructor. Constructores predefinidos en JavaScript, como Array u Object, también tienen prototipos que pueden ser modificados. Aunque esto sea posible se considera una mala práctica modificar el prototipo de Object ya que la mayoría de los objetos en Javascript heredan los métodos y propiedades del objeto prototype, objetos los cuales pueden esperar que estos no hayan sido modificados. Extensiones específicas del fabricante JavaScript se encuentra oficialmente bajo la organización de Mozilla Foundation, y nuevas características del lenguaje son añadidas periódicamente. Sin embargo, sólo algunos motores JavaScript soportan estas características:  Las propiedades get y set (también soportadas por WebKit, Opera, ActionScript y Rhino).  Cláusulas catch condicionales.  Protocolo iterador adoptado de Python.  Corrutinas también adoptadas de Python.
  • 49.  Generación de listas y expresiones por comprensión también adoptada de Python.  Establecer el ámbito a bloque a través de la palabra clave let.  Desestructuración de arrays y objetos (forma limita de emparejamiento de patrones).  Expresiones concretas en funciones (function (args) expr).  ECMAScript para XML (E4X), una extensión que añade soporte nativo XML a ECMAScript. Sintaxis y semántica A partir del 2011, la última versión del lenguaje es JavaScript 1.8.5. Es un superconjunto de la especificación ECMAScript (ECMA-262). Extensiones del lenguaje, que incluyen parcialmente soporte para ECMAScript para XML (E4X) (ECMA-357) y características experimentales consideradas para ser incluidas en futuras ediciones del ECMAScript, documentadas aquí El uso más común de JavaScript es escribir funciones embebidas o incluidas en páginas HTML y que interactúan con el Document Object Model (DOM o Modelo de Objetos del Documento) de la página. Algunos ejemplos sencillos de este uso son:  Cargar nuevo contenido para la página o enviar datos al servidor a través de AJAX sin necesidad de recargar la página (por ejemplo, una red social puede permitir al usuario enviar actualizaciones de estado sin salir de la página).  Animación de los elementos de página, hacerlos desaparecer, cambiar su tamaño, moverlos, etc.  Contenido interactivo, por ejemplo, juegos y reproducción de audio y vídeo.  Validación de los valores de entrada de un formulario web para asegurarse de que son aceptables antes de ser enviado al servidor.  Transmisión de información sobre los hábitos de lectura de los usuarios y las actividades de navegación a varios sitios web. Las páginas Web con frecuencia lo hacen para hacer análisis web, seguimiento de anuncios, la personalización o para otros fines.
  • 50. Dado que el código JavaScript puede ejecutarse localmente en el navegador del usuario (en lugar de en un servidor remoto), el navegador puede responder a las acciones del usuario con rapidez, haciendo una aplicación más sensible. Por otra parte, el código JavaScript puede detectar acciones de los usuarios que HTML por sí sola no puede, como pulsaciones de teclado. Las aplicaciones como Gmail se aprovechan de esto: la mayor parte de la lógica de la interfaz de usuario está escrita en JavaScript, enviando peticiones al servidor (por ejemplo, el contenido de un mensaje de correo electrónico). La tendencia cada vez mayor por el uso de la programación Ajax explota de manera similar esta técnica. Un motor de JavaScript (también conocido como intérprete de JavaScript o implementación JavaScript) es un intérprete que interpreta el código fuente de JavaScript y ejecuta la secuencia de comandos en consecuencia. El primer motor de JavaScript fue creado por Brendan Eich en Netscape Communications Corporation, para el navegador web Netscape Navigator. El motor, denominado SpiderMonkey, está implementado en C. Desde entonces, ha sido actualizado (en JavaScript 1.5) para cumplir con el ECMA-262. El motor Rhino, creado principalmente por Norris Boyd (antes de Netscape, ahora en Google) es una implementación de JavaScript en Java. Rhino, como SpiderMonkey, es compatible con el ECMA-262 Un navegador web es, con mucho, el entorno de acogida más común para JavaScript. Los navegadores web suelen crear objetos no nativos, dependientes del entorno de ejecución, para representar el Document Object Model (DOM) en JavaScript. El servidor web es otro entorno común de servicios. Un servidor web JavaScript suele exponer sus propios objetos para representar objetos de petición y respuesta HTTP, que un programa JavaScript podría entonces interrogar y manipular para generar dinámicamente páginas web. Debido a que JavaScript es el único lenguaje por el que los más populares navegadores comparten su apoyo, se ha convertido en un lenguaje al que muchos frameworks en otros lenguajes compilan, a pesar de que JavaScript no fue diseñado para tales propósitos. A pesar de las limitaciones de rendimiento inherentes a su naturaleza dinámica, el aumento de la velocidad de los motores de JavaScript ha hecho de este lenguaje un entorno para la compilación sorprendentemente factible.
  • 51. Consideraciones acerca de la compatibilidad Debido a que JavaScript se ejecuta en entornos muy variados, una parte importante de las pruebas y la depuración es probar y verificar que el código JavaScript funciona correctamente en múltiples navegadores. La interfaz DOM para acceder y manipular páginas web no es parte del estándar ECMAScript, o de la propia JavaScript. El DOM es definido por los esfuerzos de estandarización del W3C, una organización independiente. En la práctica, las implementaciones que hacen de JavaScript los distintos navegadores difieren tanto entre ellos mismos como de las normas del estándar. Para hacer frente a estas diferencias, los autores de JavaScript pudieron ser capaces de escribir código compatible con los estándares que también fuera capaz de ejecutarse correctamente en la mayoría de los navegadores, o en su defecto, que al menos se pudiera escribir código capaz de comprobar la presencia de ciertas funcionalidades del navegador y que se comportase de manera diferente si no se dispusiese de dicha funcionalidad.35 Existen casos en los que dos navegadores pueden llegar a implementar la misma característica, pero con un comportamiento diferente, hecho que a los programadores les puede resultar de ayuda para detectar qué navegador se está ejecutando en ese instante y así cambiar el comportamiento de su escritura para que coincida. Los programadores también suelen utilizar bibliotecas o herramientas que tengan en cuenta las diferencias entre navegadores. Además, los scripts pueden no funcionar para algunos usuarios. Por ejemplo, un usuario puede:  utilizar un navegador antiguo el cual tenga soporte de la API DOM incompleto,  utilizar un navegador PDA o teléfono móvil que no puede ejecutar JavaScript  tener la ejecución de JavaScript deshabilitada, como precaución de seguridad,  utilizar un navegador de voz debido a, por ejemplo, una discapacidad visual. Accesibilidad Suponiendo que el usuario no haya desactivado la ejecución de código JavaScript, en el lado del cliente JavaScript debe ser escrito tanto con el propósito de mejorar las
  • 52. experiencias de los visitantes con discapacidad visual o física, como el de evitar ocultar información a estos visitantes. Los lectores de pantalla, utilizados por los ciegos y deficientes visuales, pueden ser tenidos en cuenta por JavaScript y así poder acceder y leer los elementos DOM de la página. El código HTML escrito debe ser lo más conciso, navegable y semánticamente rico posible, tanto si JavaScript se ejecuta como si no. JavaScript no debería de ser totalmente dependiente de los eventos de ratón del navegador y debería dar soporte para aquellos usuarios que quieran no hacer uso del ratón (informática) para navegar o que opten por utilizar solamente el teclado. Hay eventos independientes del dispositivo, tales como onfocus y onchange que son preferibles en la mayoría de los casos. JavaScript no debe ser utilizado para crear confusión o desorientación al usuario web. Por ejemplo, modificar o desactivar la funcionalidad normal del navegador, como cambiar la forma en que el botón de navegar hacia atrás o el evento de actualización se comportan, son prácticas que generalmente son mejores evitar. Igualmente, desencadenar eventos que el usuario puede no tener en cuenta reduce la sensación de control del usuario y provoca cambios inesperados al contenido de la página. A menudo, el proceso de dotar a una página web compleja el mayor grado accesibilidad posible, se convierte en un problema no trivial donde muchos temas se acaban llevando al debate y a la opinión, siendo necesario el compromiso de todos hasta el final. Sin embargo, los agentes de usuario y las tecnologías de apoyo a personas con discapacidad están en constante evolución y nuevas directrices e información al respecto siguen publicándose en la web. Herramientas de desarrollo En JavaScript, disponer de un depurador se convierte en necesario cuando se desarrollan grandes aplicaciones, no triviales. Dado que puede haber diferencias de implementación entre los diferentes navegadores (especialmente en cuanto al DOM),
  • 53. es útil tener acceso a un depurador para cada uno de los navegadores a los cuales nuestra aplicación web irá dirigido Los depuradores web están disponibles para Internet Explorer, Firefox, Safari, Google Chrome y Opera. Existen tres depuradores disponibles para Internet Explorer: Microsoft Visual Studio es el más avanzado de los tres, seguido de cerca por Microsoft Script Editor (un componente de Microsoft Office) y, finalmente, Microsoft Script Debugger, que es mucho más básico que el otro dos, aunque es gratuito. El IDE gratuito Microsoft Visual Web Developer Express ofrece una versión limitada de la funcionalidad de depuración de JavaScript en el Microsoft Visual Studio. Internet Explorer ha incluido herramientas de desarrollo desde la versión 8 (se muestra pulsando la tecla F12). Las aplicaciones web dentro de Firefox se pueden depurar usando el Firebug add-on o el antiguo depurador Venkman. Firefox también tiene integrada una consola de errores básica, que registra y evalúa JavaScript. También registra errores de CSS y advertencias. Opera incluye un conjunto de herramientas llamado Dragonfly. El Inspector Web de WebKit incluye un depurador de JavaScript utilizado en Safari, junto con una versión modificada de Google Chrome. Existen algunas herramientas de ayuda a la depuración, también escritas en JavaScript y construidas para ejecutarse en la Web. Un ejemplo es el programa JSLint, desarrollado por Douglas Crockford, quien ha escrito extensamente sobre el lenguaje. JSLint analiza el código JavaScript para que este quede conforme con un conjunto de normas y directrices y que aseguran su correcto funcionamiento y mantenibilidad.
  • 54. PHP PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo. Fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo desarrollado con nuevas funciones por el grupo PHP. Este lenguaje forma parte del software libre publicado bajo la licencia PHP, que es incompatible con la Licencia Pública General de GNU debido a las restricciones del uso del término PHP. 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; 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. PHP puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores. El enorme número de sitios en PHP ha visto reducida su cantidad a favor de otros nuevos lenguajes no tan poderosos desde agosto de 2005. El 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. 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
  • 55. 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 sitios webs, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando alguna extensión como puede ser PHP-Qt, PHP-GTK, WxPHP, WinBinder, Roadsend PHP, Phalanger, Phc o HiP Hop VM. También puede ser usado desde la línea de comandos, 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 tanto SQL como NoSQL tales como MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird, SQLite o MongoDB 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 Microsoft 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# y Visual Basic .NET como lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java, CGI/Perl y a Node.js/Javascript. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo integrado comercial llamado Zend Studio. CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. También existen al menos un par de módulos para Eclipse, uno de los entornos más populares.
  • 56. 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. 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 por PHP: Hypertext Preprocessor. Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en junio de 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. En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend 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, 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.12 Según esta noticia se le dio soporte a fallos críticos hasta el 9 de agosto de 2008. El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2).2 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.
  • 57.  Manejo de excepciones.  Mejoras con la implementación con Oracle. Características  Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.  Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.  El código fuente escrito en PHP es invisible al navegador web 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 módulos (llamados ext's o extensiones).  Posee una amplia documentación en su sitio web oficial, 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. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología.  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, aun haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de 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
  • 58. Controlador (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.  Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal. 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 necesariamente impide que el código sea examinado.  Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente más lento que su equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con técnicas de caché tanto en archivos como en memoria.  Las variables al no ser tipificadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipificado del código, aunque esto no es realmente un inconveniente del lenguaje en sí. Esto es solventado por Zend Studio añadiendo un comentario con el tipo a la declaración de la variable. XAMPP, LAMP, WAMP, MAMP, UWAMP 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 está disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, y WAMP lo hace enfocado en Windows.
  • 59. Se utiliza PHP en millones de sitios; entre los más destacados se encuentran Wikipedia.org, Facebook.com y Wordpress.com. RESPONSIVE WEB DESIGN El diseño web adaptable o adaptativo (Responsive Web Design) es una filosofía de diseño y desarrollo web que mediante el uso de estructuras e imágenes fluidas, así como de media-queries en la hoja de estilo CSS, consigue adaptar el sitio web al entorno del usuario. El diseñador y autor norteamericano Ethan Marcotte creó y difundió esta técnica a partir de una serie de artículos en A List Apart, 1 una publicación en línea especializada en diseño y desarrollo web, idea que luego extendería en su libro Responsive Web Design.
  • 60. Origen Tanto la idea como el propósito del diseño web adaptable fueron previamente discutidos y descritos por el consorcio W3C en julio de 2008 en su recomendación "Mobile Web Best Practices" bajo el subtítulo "One Web". Dicha recomendación, aunque específica para dispositivos móviles, puntualiza que está hecha en el contexto de "One Web", y que por lo tanto engloba no solo la experiencia de navegación en dispositivos móviles sino también en dispositivos de mayor resolución de pantalla como dispositivos de sobremesa. El concepto de "One Web" hace referencia a la idea de construir una Web para todos (Web for All) y accesible desde cualquier tipo de dispositivo (Web on Everything). Hoy en día, la variedad de dispositivos existentes en el mercado ha provocado que la información disponible no sea accesible desde todos los dispositivos, o bien es accesible pero la experiencia de navegación es muy pobre. Ventajas El uso de dispositivos móviles está creciendo a un ritmo increíble, dispositivos como tablets y smartphones han incrementado sus ventas en los últimos años y la navegación en Internet mediante estos dispositivos es cada vez más común. Ese es el motivo por el que el diseño web adaptable se ha vuelto tan popular, pues es una técnica que proporciona una solución web que puede manejar la visualización web tanto de escritorio como de dispositivos. Con una sola versión en HTML y CSS se cubren todas las resoluciones de pantalla, es decir, el sitio web creado estará optimizado para todo tipo de dispositivos: PCs, tabletas, teléfonos móviles, etc. Esto mejora la experiencia de usuario a diferencia de lo que ocurre, por ejemplo, con sitios web de ancho fijo cuando se acceden desde dispositivos móviles. De esta forma se reducen los costes de creación y mantenimiento cuando el diseño de las pantallas es similar entre dispositivos de distintos tamaños.