jueves, 24 de mayo de 2018

APLICACIONES

“AÑO DEL DIÁLOGO Y LA RECONCILIACIÓN NACIONAL”



INGENIERÍA DE SISTEMAS Y TELEMÁTICA

ELECTIVO

APLICACIONES


AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin


DOCENTE
ING. PORRO CHULLI, Marco Aurelio


BAGUA GRANDE - AMAZONAS
2018



***********************************************************

DEFINICIÓN
Una aplicación (también llamada app) es simplemente un programa informático creado para llevar a cabo o facilitar una tarea en un dispositivo informático. Cabe destacar que aunque todas las aplicaciones son programas, no todos los programas son aplicaciones. Existe multitud de software en el mercado, pero sólo se denomina así a aquel que ha sido creado con un fin determinado, para realizar tareas concretas. No se consideraría una aplicación, por ejemplo, un sistema operativo, ni una suite, pues su propósito es general.

Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador ha detectado una cierta necesidad. Pero las aplicaciones también pueden responder a necesidades lúdicas, además de laborales (todos los juegos, por ejemplo, son considerados aplicaciones). Se suele decir que para cada problema hay una solución, y en informática, para cada problema hay una aplicación.

Naturalmente, el campo de las aplicaciones es tan extenso, y las funciones tan dispares, que se han creado numerosas clasificaciones, según varios criterios. Así, por ejemplo, dependiendo del uso que se le vaya a dar, podemos tener aplicaciones profesionales o personales. También podemos hablar de aplicaciones para Windows, Linux, Android, Apple, PC, móvil, según el sistema operativo o la plataforma que vayamos a usar. Según su finalidad, pueden ser de entretenimiento, de negocios, empresariales, de sonido, gráficas, de edición, web, didácticas... e incluso según la rama de las ciencias en el que se usen podemos decir que hay aplicaciones de ingeniería, de telecomunicaciones, matemáticas... y un largo etcétera.

En general, una aplicación se diseña para ser usada con uno o varios sistemas operativos, siendo hasta cierto punto dependiente de estos. Pero también existen aplicaciones diseñadas en exclusiva para el uso con un programa o tipo de programas (ej: barras de los navegadores web). Hablamos en este caso de addons, pequeñas aplicaciones que añaden nuevas funcionalidades a ese programa concreto. El primer paso siempre es detectar una necesidad en los usuarios que pueda ser cubierta, para eso se suele hacer un estudio previo en el mercado. Si se ve la oportunidad entran en juego los programadores, quienes realizan la propia aplicación, diseñándola y codificándola... El siguiente y último paso será la distribución de esa aplicación. Como veis el proceso no difiere de cualquier otro producto: investigación de mercado, fabricación y distribución.

Las aplicaciones pueden ser desde pequeñísimos programas de apenas unas líneas de código, hasta grandes obras de ingeniería informática, con miles de horas de trabajo detrás. El tamaño, sin embargo, no define el éxito de una aplicación, sino justamente que cubra las necesidades del usuario. La historia de las aplicaciones está llena de miles de grandes aplicaciones que han sido substituidas por otras a priori mucho menos elaboradas, simplemente porque eran más rápidas, más intuitivas, más estables o cumplían mejor su función.

CARACTERÍSTICAS
  • Código abierto.
  • Núcleo basado en el Kernel de Linux.
  • Adaptable a muchas pantallas y resoluciones.
  • Utiliza SQLite para el almacenamiento de datos.
  • Ofrece diferentes formas de mensajería.
  • Navegador web basado en WebKit incluido.
  • Soporte de Java y muchos formatos multimedia.
  • Soporte de HTML, HTML5, Adobe Flash Player, etc.
  • Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software.
  • Catálogo de aplicaciones gratuitas o pagas en el que pueden ser descargadas e instaladas (Google Play).
  • Bluetooth.
  • Google Talk desde su versión HoneyComb, para realizar videollamadas.
  • Multitarea real de aplicaciones.
PROCESO DE DISEÑO Y DESARROLLO

1. Conceptualización


El resultado de esta etapa es una idea de aplicación, que tiene en cuenta las necesidades y problemas de los usuarios. La idea responde a una investigación preliminar y a la posterior comprobación de la viabilidad del concepto.

Ideación
Investigación
Formalización de la idea

2. Definición


En este paso del proceso se describe con detalle a los usuarios para quienes se diseñará la aplicación, usando metodologías como «Personas» y «Viaje del usuario». También aquí se sientan las bases de la funcionalidad, lo cual determinará el alcance del proyecto y la complejidad de diseño y programación de la app.

Definición de usuarios
Definición funcional

3. Diseño

En la etapa de diseño se llevan a un plano tangible los conceptos y definiciones anteriores, primero en forma de wireframes, que permiten crear los primeros prototipos para ser probados con usuarios, y posteriormente, en un diseño visual acabado que será provisto al desarrollador, en forma de archivos separados y pantallas modelo, para la programación del código.

Wireframes
Prototipos
Test con usuarios
Diseño visual

4. Desarrollo

El programador se encarga de dar vida a los diseños y crear la estructura sobre la cual se apoyará el funcionamiento de la aplicación. Una vez que existe la versión inicial, dedica gran parte del tiempo a corregir errores funcionales para asegurar el correcto desempeño de la app y la prepara para su aprobación en las tiendas.


Programación del código
Corrección de bugs


5. Aplicación

La aplicación es finalmente puesta a disposición de los usuarios en las tiendas. Luego de este paso trascendental se realiza un seguimiento a través de analíticas, estadísticas y comentarios de usuarios, para evaluar el comportamiento y desempeño de la app, corregir errores, realizar mejoras y actualizarla en futuras versiones.

Lanzamiento
Seguimiento
Actualización

TIPOS DE APLICACIONES

A nivel de programación, existen varias formas de desarrollar una aplicación. Cada una de ellas tiene diferentes características y limitaciones, especialmente desde el punto de vista técnico.
Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el tipo de aplicación que se elija, condicionará el diseño visual y la interacción.

1. Nativas

Las aplicaciones nativas son aquellas que han sido desarrolladas con el software que ofrece cada sistema operativo a los programadores, llamado genéricamente Software Development Kit o SDK. Así, Android, iOS y Windows Phone tienen uno diferente y las aplicaciones nativas se diseñan y programan específicamente para cada plataforma, en el lenguaje utilizado por el SDK.
Este tipo de apps se descarga e instala desde las tiendas de aplicaciones —con ciertas excepciones en el caso de Android, que veremos en el capítulo «Lanzando la app»— sacando buen partido de las diferentes herramientas de promoción y marketing de cada una de ellas.
Las aplicaciones nativas se actualizan frecuentemente y en esos casos, el usuario debe volver a descargarlas para obtener la última versión, que a veces corrige errores o añade mejoras.
Una característica generalmente menospreciada de las apps nativas, es que pueden hacer uso de las notificaciones del sistema operativo para mostrar avisos importantes al usuario, aun cuando no se esté usando la aplicación, como los mensajes de Whatsapp, por ejemplo.


Además, no requieren Internet para funcionar, por lo que ofrecen una experiencia de uso más fluida y están realmente integradas al teléfono, lo cual les permite utilizar todas las características de hardware del terminal, como la cámara y los sensores (GPS, acelerómetro, giróscopo, entre otros).
A nivel de diseño, esta clase de aplicaciones tiene una interfaz basada en las guías de cada sistema operativo, logrando mayor coherencia y consistencia con el resto de aplicaciones y con el propio SO. Esto favorece la usabilidad y beneficia directamente al usuario que encuentra interfaces familiares.

2. Web

La base de programación de las aplicaciones web —también llamadas webapps— es el HTML, conjuntamente con JavaScript y CSS, herramientas ya conocidas para los programadores web.
En este caso no se emplea un SDK, lo cual permite programar de forma independiente al sistema operativo en el cual se usará la aplicación. Por eso, estas aplicaciones pueden ser fácilmente utilizadas en diferentes plataformas sin mayores inconvenientes y sin necesidad de desarrollar un código diferente para cada caso particular.
Las aplicaciones web no necesitan instalarse, ya que se visualizan usando el navegador del teléfono como un sitio web normal. Por esta misma razón, no se distribuyen en una tienda de aplicaciones, sino que se comercializan y promocionan de forma independiente.
Al tratarse de aplicaciones que funcionan sobre la web, no es necesario que el usuario reciba actualizaciones, ya que siempre va a estar viendo la última versión. Pero, a diferencia de las apps nativas, requieren de una conexión a Internet para funcionar correctamente.

Adicionalmente, tienen algunas restricciones e inconvenientes en factores importantes como gestión de memoria y no permiten aprovechar al máximo la potencia de los diferentes componentes de hardware del teléfono.
Las aplicaciones web suelen tener una interfaz más genérica e independiente de la apariencia del sistema operativo, por lo que la experiencia de identificación del usuario con los elementos de navegación e interacción, suele ser menor que en el caso de las nativas.

3. Híbridas

Este tipo de aplicaciones es una especie de combinación entre las dos anteriores. La forma de desarrollarlas es parecida a la de una aplicación web —usando HTML, CSS y JavaScript—, y una vez que la aplicación está terminada, se compila o empaqueta de forma tal, que el resultado final es como si se tratara de una aplicación nativa.
Esto permite casi con un mismo código obtener diferentes aplicaciones, por ejemplo, para Android y iOS, y distribuirlas en cada una de sus tiendas.
A diferencia de las aplicaciones web, estas permiten acceder, usando librerías, a las capacidades del teléfono, tal como lo haría una app nativa.


Las aplicaciones híbridas, también tienen un diseño visual que no se identifica en gran medida con el del sistema operativo. Sin embargo, hay formas de usar controles y botones nativos de cada plataforma para apegarse más a la estética propia de cada una.
Existen algunas herramientas para desarrollar este tipo de aplicaciones. Apache Córdova es una de las más populares, pero hay otras, como Icenium, que tienen la misma finalidad.

RESUMEN

Una aplicación (también llamada app) es simplemente un programa informático creado para llevar a cabo o facilitar una tarea en un dispositivo informático. Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y se usan para facilitar o permitir la ejecución de ciertas tareas en las que un analista o un programador han detectado una cierta necesidad. También podemos hablar de aplicaciones para Windows, Linux, Android, Apple, PC, móvil, según el sistema operativo o la plataforma que vayamos a usar. En general, una aplicación se diseña para ser usada con uno o varios sistemas operativos, siendo hasta cierto punto dependiente de estos. Pero también existen aplicaciones diseñadas en exclusiva para el uso con un programa o tipo de programas (ej: barras de los navegadores web). Hablamos en este caso de addons, pequeñas aplicaciones que añaden nuevas funcionalidades a ese programa concreto. Las aplicaciones pueden ser desde pequeñísimos programas de apenas unas líneas de código, hasta grandes obras de ingeniería informática, con miles de horas de trabajo detrás. Aunque a primera vista esto no parezca incumbencia del diseñador, la realidad es que el tipo de aplicación que se elija, condicionará el diseño visual y la interacción.


SUMMARY

An application (also called an app) is simply a computer program created to carry out or facilitate a task on a computing device. The applications arise from some concrete need of the users, and are used to facilitate or allow the execution of certain tasks in which an analyst or a programmer have detected a certain need. We can also talk about applications for Windows, Linux, Android, Apple, PC, mobile, depending on the operating system or the platform that we are going to use. In general, an application is designed to be used with one or several operating systems, being to some extent dependent on them. But there are also applications designed exclusively for use with a program or type of programs (eg web browser bars). We speak in this case of addons, small applications that add new features to that specific program. The applications can range from very small programs of just a few lines of code, to large works of computer engineering, with thousands of hours of work behind. Although at first sight this does not seem to concern the designer, the reality is that the type of application that is chosen, will condition the visual design and interaction.


RECOMENDACIONES

  • Las aplicaciones nativas son las que ofrecen una mejor experiencia de uso y sobre todo, rendimiento. Algunas apps como Facebook o LinkedIn, que antes eran híbridas, han pasado a ser nativas por este motivo. Adicionalmente, ellas responden más a las guías de diseño de cada sistema operativo.
  • Diseñar una aplicación web, si es que ya se dispone del conocimiento para ello, heredado del desarrollo de sitios web. En este caso, el costo de desarrollo es más bajo y la forma de trabajar un poco más ágil.
  • Cuando la disponibilidad de la app sin Internet, la posibilidad de usar notificaciones y el acceso a los recursos de hardware del teléfono sean importantes, una aplicación nativa será la opción más indicada.



Ejemplo de aplicaciones en Android


Link de nuestras diapositivas



sábado, 12 de mayo de 2018

JAVA Y XML


“AÑO DEL DIÁLOGO Y LA RECONCILIACIÓN NACIONAL”



INGENIERÍA DE SISTEMAS Y TELEMÁTICA

ELECTIVO

JAVA Y XML


AUTORES
MARCHENA HUANUIRE, Greinder Alexis
VASQUEZ VENTURA, Liz Evelin


DOCENTE
PORRO CHULLI, Marco Aurelio


BAGUA GRANDE - AMAZONAS
2018





¿QUÉ ES JAVA?


Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos diez millones de usuarios reportados.


¿QUÉ ES XML?

XML es un lenguaje de marcas que ofrece un formato para la descripción de datos estructurados, el cual conserva todas las propiedades importantes del antes mencionado SGML. Es decir, XML es un metalenguaje, dado que con él podemos definir nuestro propio lenguaje de presentación y, a diferencia del HTML, que se centra en la representación de la información, XML se centra en la información en sí misma. La particularidad más importante del XML es que no posee etiquetas prefijadas con anterioridad, ya que es el propio diseñador el que las crea a su antojo, dependiendo del contenido del documento. De esta forma, los documentos XML con información sobre libros deberían tener etiquetas como <AUTOR>, <EDITORIAL>, <Nº_DE_PÁGINAS>, <PRECIO>, etc., mientras que los documentos XML relacionados con educación incluyen etiquetas del tipo de <ASIGNATURA>, <ALUMNO>, <CURSO>, <NOTA>, etc.


TIPO DE DATOS

Java


Xml
Tipo de datos
Facets
Descripción 
string
length, pattern, maxLength, minLength, enumeration, whiteSpace
Representa cadenas de caracteres.
boolean
pattern, whiteSpace
Representa valores booleanos, que son true o false.
decimal
enumeration, pattern, totalDigits, fractionDigits, minInclusive, maxInclusive, maxExclusive, whiteSpace
Representa números de precisión arbitraria.
float
pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa números de punto flotante de 32 bits de precisión simple.
double
pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa números de punto flotante de 64 bits de doble precisión.
duration
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa una duración de tiempo.
El patrón de duration es PnYnMnDTnHnMnS, donde nY representa el número de años, nM el número de meses, nD el número de días, T el separador de fecha y hora, nH el número de horas, nM el número de minutos y nS el número de segundos.
dateTime
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa una instancia específica de tiempo.
El patrón de dateTime es CCYY-MM-DDThh:mm:ss donde CC representa el siglo, YY el año, MM el mes y DD el día, precedido por un carácter negativo (-) inicial opcional para indicar un número negativo. Si se omite el carácter negativo, se supone positivo (+). La T es el separador de fecha y hora, y hhmm y ss representan la hora, minutos y segundos, respectivamente. Se pueden utilizar dígitos adicionales para aumentar la precisión de los segundos decimales, si se desea. Por ejemplo, se admite el formato ss.ss... con cualquier número de dígitos después del separador decimal. Es opcional la parte de segundos decimales.
Esta representación puede estar seguida inmediatamente por una "Z" para indicar el horario universal coordinado (UTC) o la zona horaria. Por ejemplo, la diferencia entre la hora local y el horario universal coordinado, seguido por un signo, + o -, seguido por la diferencia con respecto a UTC representada como hh:mm (se requieren los minutos). Si se incluye la zona horaria, tanto las horas como los minutos deben estar presentes.
time
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa una instancia de tiempo que se repite cada día.
El patrón de time es hh:mm:ss.sss con un indicador opcional de zona horaria.
date
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa una fecha de calendario.
El patrón de date es CCYY-MM-DD con un indicador opcional de zona horaria como el de dateTime.
gYearMonth
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa un mes gregoriano específico de un año gregoriano específico. Conjunto de instancias no periódicas de un mes de duración.
El patrón de gYearMonth es CCYY-MM con un indicador opcional de zona horaria.
gYear
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa un año gregoriano. Conjunto de instancias no periódicas de un año de duración.
El patrón de gYear es CCYY con un indicador opcional de zona horaria como el de dateTime.
gMonthDay
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa una fecha gregoriana determinada que se repite, específicamente un día del año, por ejemplo el tres de mayo. Un gMonthDay es el conjunto de fechas de calendario. Específicamente, es un conjunto de instancias de periodicidad anual y de un día de duración.
El patrón de gMonthDay es --MM-DD con un indicador opcional de zona horaria como el de date.
gDay
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa un día gregoriano que se repite, específicamente un día del mes, por ejemplo el quinto.Un gDay es el espacio de un conjunto de fechas del calendario. Específicamente, es un conjunto de instancias de periodicidad mensual y de un día de duración.
El patrón de gDay es ---DD con un indicador opcional de zona horaria como el de date.
gMonth
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace
Representa un mes gregoriano que se repite cada año. Un gMonth es el espacio de un conjunto de meses del calendario. Específicamente, es un conjunto de instancias periódicas anuales de un mes de duración.
El patrón de gMonth es --MM-- con un indicador opcional de zona horaria como el de date.
hexBinary
length, pattern, maxLength, minLength, enumeration, whiteSpace
Representa datos binarios arbitrarios codificados en hexadecimal. hexBinary es el conjunto de secuencias de longitud finita de octetos binarios. Cada octeto binario se codifica como una tupla de caracteres que se compone de dos dígitos hexadecimales ([0-9a-fA-F]) y representa el código del octeto.
base64Binary
length, pattern, maxLength, minLength, enumeration, whiteSpace
Representa datos binarios arbitrarios codificados en Base64. base64Binary es el conjunto de secuencias de longitud finita de octetos binarios.
anyURI
length, pattern, maxLength, minLength, enumeration, whiteSpace
Representa un URI tal como se define en RFC 2396. Un valor anyURI puede ser absoluto o relativo, y puede tener un identificador de fragmento opcional.
QName
length, enumeration, pattern, maxLength, minLength, whiteSpace
Representa un nombre completo, que se compone de un prefijo y un nombre local separados por un signo de dos puntos. Tanto el prefijo como los nombres locales deben ser un NCName. El prefijo debe estar asociado con una referencia a un identificador URI de espacio de nombres, mediante una declaración de espacio de nombres.
NOTATION
length, enumeration, pattern, maxLength, minLength, whiteSpace
Representa un tipo de atributo NOTATION. Conjunto de QNames.
OPERADORES DE JAVA

1. ASIGNACIÓN

El operador asignación =, es un operador binario que asigna el valor del término de la derecha al operando de la izquierda. El operando de la izquierda suele ser el identificador de una variable.
El término de la derecha es, en general, una expresión de un tipo de dato compatible; en particular puede ser una constante u otra variable. Como caso particular, y a diferencia de los demás operadores, este operador no se evalúa devolviendo un determinado valor.


2. ARITMÉTICOS

Java tiene varios operadores aritméticos para los datos numéricos enteros y reales. En la siguiente tabla se resumen los diferentes operadores de esta categoría.


3. ARITMÉTICOS INCREMENTALES

Son operadores unarios (un único operando). El operando puede ser numérico o de tipo char y el resultado es del mismo tipo que el operando. Estos operadores pueden emplearse de dos formas dependiendo de su posición con respecto al operando.



4. ARITMÉTICOS COMBINADOS

Combinan un operador aritmético con el operador asignación. Como en el caso de los operadores aritméticos pueden tener operandos numéricos enteros o reales y el tipo específico de resultado numérico dependerá del tipo de éstos.
En la siguiente tabla se resumen los diferentes operadores de esta categoría.


5. RELACIÓN

Realizan comparaciones entre datos compatibles de tipos primitivos (numéricos, carácter y booleanos) teniendo siempre un resultado booleano. Los operandos booleanos sólo pueden emplear los operadores de igualdad y desigualdad.



6. LÓGICOS O BOOLEANOS

Realizan operaciones sobre datos booleanos y tienen como resultado un valor booleano. En la siguiente tabla se resumen los diferentes operadores de esta categoría.



7. DE BIT

Tienen operandos de tipo entero (o char) y un resultado de tipo entero. Realizan operaciones con dígitos (ceros y unos) de la representación binaria de los operandos. Exceptuando al operador negación, los demás operadores son binarios. En la siguiente tabla se resumen los diferentes operadores de esta categoría.



8. CONCATENACIÓN DE CADENAS

El operador concatenación +, es un operador binario que devuelve una cadena resultado de concatenar las dos cadenas que actúan como operandos. Si sólo uno de los operandos es de tipo cadena, el otro operando se convierte implícitamente en tipo cadena.


9. SEPARADORES

Existen algunos caracteres que tienen un significado especial en el lenguaje Java. En la siguiente tabla se resumen los diferentes separadores que pueden encontrarse en el código fuente de un programa.




VARIABLES Y CONSTANTES DE JAVA

VARIABLE
Una variable es una zona de memoria donde se almacena un valor dado, asignándole un nombre para su posterior referencia.
Hablando llanamente: para poder guardar ciertos valores en un ordenador necesitamos un espacio en memoria para ellos. Posteriormente, necesitamos acceder a dichos datos pero, ¿cómo? Dándole un nombre a la zona de memoria que contiene nuestros valores. Por lo tanto, estamos relacionando un par clave-valor, siendo la clave el nombre de la variable y el valor los datos a guardar.
Vamos a ver un ejemplo bien sencillo. Queremos calcular el área y el perímetro de  un círculo de radio 1,298373 m. Sabemos que la fórmula del área es πr² y el perímetro es 2πr. Entonces, para calcular dichos valores en un ordenador introduciríamos lo siguiente (en el siguiente tema veremos como se hace esto en Java, específicamente):
3.14159265359 * 1,298373^2
2 * 3.14159265359 * 1,298373

CONSTANTE
Una constante es una variable a la que no se le puede modificar el valor después de su declaración. Para declarar una constante en Java se utiliza la palabra final delante de la declaración de la variable. Siguiendo con nuestro ejemplo:

final numero pi =  3.14159265359

Ahora, pi apunta a una dirección que contiene el número 3.14159265359 y que no se podrá cambiar en el curso del programa. Si se intenta asignar otro valor a la constante, el copilador de Java nos dará un error.


CARACTERÍSTICAS DE XML



  • Permite la exportabilidad a otros formatos de publicación de datos (HTML, PDF, texto enriquecido RTF,entre otros).
  • XML es un estándar abierto no sujeto a ningún tipo de licencia.
  • XML permite la internacionalización, es decir puede trabajar con cualquier conjunto de caracteres, entre ellos el juego de caracteres UNICODE (utf-8).
  • Cada documento incluye metadatos sobre sí mismo, lo cual facilita la tarea de los motores de búsquedas en la web, ya que devolverán respuestas más adecuadas y precisas.
  • Permite la creación de etiquetas propias y permite asignar atributos a las etiquetas.
  • En un documento XML la estructura y el diseño están completamente separados.
  • XML se almacena en formato texto (no binario) lo cual hace que los documentos sean directamente entendibles. Es decir, los documentos tienen una estructura entendible tanto por los ordenadores como por las personas.
  • XML permite compartir información entre sistemas o fuentes de datos heterogéneas, por ejemplo, páginas web, distintas bases de datos, entre otras.




EJEMPLO DE OPERADORES Y TIPOS DE DATOS EN JAVA