Crear la primera aplicación de la Tienda Windows con Blend, parte 1: la página maestra (HTML y JavaScript)
Puedes desarrollar una aplicación de la Tienda Windows de forma más rápida y eficaz con la colección de herramientas HTML y CSS de Blend para Visual Studio. En este tutorial, crearás una aplicación sencilla, PickaFlick, en la que puedes examinar una lista de películas nuevas. La lista se genera con una API de Rotten Tomatoes y debes registrarla para obtener una clave de API que pegarás en el código.
La página principal de la aplicación PickaFlick
En la primera parte de este tutorial, crearás la página principal de la aplicación. Durante el proceso aprenderás a:
Ver cómo la interfaz de usuario de Blend refleja los cambios en la aplicación
Agregarás una referencia a la API de JavaScript para Windows
Al descargar este proyecto de la galería de ejemplos, no solo puedes consultar el código, sino también todos sus activos para que puedas seguir el tutorial y crear el proyecto sobre la marcha.
No es necesario tener experiencia con HTML, CSS o JavaScript para completar este tutorial. Sin embargo, para poder usar Blend de forma eficaz, es útil contar con experiencia de nivel medio en HTML, CSS y JavaScript.
Crear un proyecto a partir de una plantilla de proyecto
Blend y Visual Studio proporcionan las mismas plantillas de proyecto que te ayudan a empezar a desarrollar tu aplicación de la Tienda Windows. Para obtener más información sobre las plantillas que Blend y Visual Studio proporcionan para desarrollar otros tipos de aplicaciones, consulta Plantillas para acelerar el desarrollo de tu aplicación.
Para crear un proyecto
En Blend, en el menú Archivo, haz clic en Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto, aparece a la izquierda una lista de tipos de proyecto. Cuando hagas clic en un tipo de proyecto, las plantillas de proyecto asociadas a ese tipo aparecerán a la derecha.
En la lista de tipos de proyecto, haz clic en HTML (Tienda Windows).
En la lista de plantillas de proyecto, haz clic en Aplicación vacía.
En el cuadro de texto Nombre, escribe PickaFlick.
En el cuadro de texto Ubicación, comprueba la ubicación del proyecto.
En la lista Lenguaje, JavaScript es la única opción.
Ver cómo la interfaz de usuario de Blend refleja los cambios en la aplicación
El área de trabajo predeterminada de Blend proporciona una interfaz visual para crear aplicaciones de la Tienda Windows: la superficie de diseño, paneles, opciones de configuración del área de trabajo, vistas de creación de documentos y menús. Para obtener más información, consulta Área de trabajo de aplicación de Blend (HTML).
Cuando trabajes en un proyecto, los cambios realizados en un área de la aplicación se reflejarán en la interfaz.
En la parte superior izquierda, haz clic en la pestaña Proyectos para ver las carpetas y los archivos que se generan automáticamente cuando se crea un proyecto a partir de la plantilla Aplicación vacía:
References Contiene las bibliotecas de solo lectura de CSS y Windows para JavaScript.
css Contiene el archivo .css de la aplicación.
images Contiene los activos de imagen predeterminados de la aplicación.
js Contiene el archivo .js predeterminado de la aplicación.
default.html Página de inicio predeterminada de la aplicación.
package.appxmanifest Muestra el contenido de la aplicación y describe sus funciones (por ejemplo, si la aplicación puede acceder a la cámara web del usuario). Este archivo especifica también la página de inicio de la aplicación.
Para obtener más información, consulta Panel Proyectos (HTML).
Debajo del panel Proyectos, en la parte inferior izquierda de la interfaz, está el panel DOM dinámico. El panel DOM dinámico muestra la estructura de default.html. Si expandes body, aparece el elemento p.
El panel DOM dinámico proporciona una vista de la jerarquía de objetos de la página HTML en la que estás trabajando. Si trabajas directamente en el panel DOM dinámico, podrás modificar rápida y fácilmente la jerarquía de objetos sobre la marcha.
Para obtener más información, consulta Panel DOM dinámico (HTML).
El elemento p contiene el texto "Content goes here" que se muestra en la superficie de diseño.
En la vista de documentos relacionados se muestra el código de default.html y default.css. Cuando cambias los elementos que aparecen en la superficie de diseño, los documentos relacionados se actualizan automáticamente. Cuando realices cambios en el código JavaScript, se te avisará de que necesitas actualizar la vista. Haz clic en Actualizar en la esquina superior derecha de la aplicación para ver los cambios en la superficie de diseño.
Para obtener más información, consulta Vista de documentos relacionados (HTML).
Si no aparecen default.html y default.css, haz clic en el icono de vista Dos paneles en la esquina superior derecha de la superficie de diseño.
En este procedimiento, quitarás el elemento p predeterminado de default.html, agregarás un color de fondo a body y comprobarás que el código se actualiza mientras trabajas.
Para modificar la presentación de default.html
En el panel DOM dinámico, haz clic con el botón secundario en p y haz clic en Eliminar.
En el panel Reglas de estilo, expande default.css y, a continuación, haz clic en body.
Observa que el selector body también se selecciona en default.css en la vista de documentos relacionados.
En el panel Propiedades de CSS, expande la categoría Fondo.
Junto a background-color, haz clic en Sin establecer.
En el cuadro de texto Valor hexadecimal, escribe #D5BF9A y presiona Entrar.
El selector body en default.css ahora contiene la regla de estilo background-color: #D5BF9A.
Agregar una plantilla de elementos al proyecto
Además de las plantillas de proyecto, Blend y Visual Studio proporcionan plantillas de elementos, que contienen código de uso general. Puedes agregar fácilmente una a un proyecto para ayudar a acelerar el desarrollo de la aplicación. Consulta Plantillas para acelerar el desarrollo de tu aplicación.
Para la aplicación PickaFlick, agregarás una plantilla de elementos de una página HTML al proyecto existente. La página contendrá el código HTML de la página principal de la aplicación.
Para agregar una plantilla de elementos de una página HTML
En el menú Archivo, haz clic en Nuevo elemento.
Se abrirá el cuadro de diálogo Nuevo elemento.
En la lista de plantillas de elementos, haz clic en Página HTML.
En el cuadro de texto Nombre, escribe homepage.html y haz clic en Aceptar para agregar la plantilla de elementos.
En la vista de documentos relacionados, observa que el marcado de homepage.html es mínimo.
Como homepage.html se mostrará como un fragmento dentro de default.html, homepage.html heredará el estilo de default.html, por lo que no necesitas agregar referencias de CSS o HTML a homepage.html.
A continuación, agregarás un elemento div a la página y después cambiarás el nombre del elemento div. Al cambiar el nombre del elemento div se aplica un atributo id a dicho elemento, lo que simplifica la identificación del elemento div de otros elementos div de la página y de la aplicación.
Puedes agregar elementos a la página HTML:
Escribiéndolos directamente en el editor de código
Insertando el elemento mediante el panel Activos
Insertando el elemento directamente en el panel DOM dinámico
En el siguiente procedimiento se muestran los tres métodos para agregar un elemento a la página HTML. Después de agregar el elemento div, agregarás un atributo id a div con un nuevo nombre en el panel DOM dinámico.
Para agregar un elemento div a homepage.html
En el panel DOM dinámico, haz clic con el botón secundario en body, haz clic en Insertar elemento y después haz clic en div o presiona Ctrl+Mayús+=.
Sugerencia Las otras maneras de agregar un elemento a la superficie de diseño de Blend son:
En la vista de documentos relacionados, en homepage.html, coloca el cursor entre las etiquetas body de apertura y cierre y escribe <div>.La etiqueta de cierre se agrega automáticamente.
En el panel DOM dinámico, haz clic en body y, a continuación, en el panel Activos, busca el elemento div escribiendo div en el cuadro de texto Buscar y realiza una de las operaciones siguientes:
Haz doble clic en div para agregar un elemento div a la página.
Arrastra el elemento div del panel Activos a la superficie de diseño.
Arrastra el elemento div del panel Activos al panel DOM dinámico.
Dibuja un elemento div directamente en la superficie de diseño.
Aparece un nuevo elemento div en el panel DOM dinámico y en el código HTML de homepage.html.
En el panel DOM dinámico, sigue uno de estos procedimientos para aplicar un id al nuevo elemento div:
Haz doble clic en div y escribe homepageContainer en el campo de texto.
Haz clic con el botón secundario en el elemento div, haz clic en Editar identificador y escribe homepageContainer.
En el panel Atributos HTML, en el campo id, escribe homepageContainer.
En la vista de documentos relacionados, en homepage.html, se ha agregado un atributo id con el valor homepageContainer al elemento div.
Implementar el modelo de navegación de una sola página
En esta sección aprenderás a:
Implementar el modelo de navegación de una sola página
Cambiar entre Blend y Visual Studio para modificar el código JavaScript
Para la aplicación PickaFlick, usarás el modelo de navegación de una sola página, lo que significa que usarás una sola página para mostrar tu aplicación y cargarás datos en esa página de otras páginas según sea necesario. Dividirás tu aplicación en varios archivos, pero en lugar de desplazarte de una página a otra (navegación por varias páginas), tu aplicación cargará otras páginas como fragmentos de página en la página predeterminada. Consulta Inicio rápido: usar la navegación de una página (aplicaciones de la Tienda Windows con JavaScript y HTML).
Cambiar y volver a Visual Studio
Para cargar el contenido de homepage.html en default.html, necesitarás llamar al espacio de nombres UI.Fragment de Win.JS para presentar el fragmento de página en default.html. Puedes modificar los archivos .js en Blend, pero puedes agregar, modificar y depurar el código JavaScript más fácilmente utilizando las herramientas integradas en Visual Studio. Para obtener más información sobre estas herramientas, consulta JavaScript IntelliSense.
Puedes alternar fácilmente entre Blend y Visual Studio mientras trabajas en un proyecto. Incluso puedes tener el mismo archivo de proyecto abierto en Blend y en Visual Studio al mismo tiempo en el mismo equipo. Cuando guardes un cambio en un archivo en una herramienta y cambies a la otra, solo tendrás que recargar el archivo para actualizar la vista del proyecto.
Nota |
---|
Puedes copiar y pegar código en Blend o en Visual Studio.Sin embargo, Visual Studio es la herramienta recomendada para escribir o editar JavaScript.En este paso se muestra cómo cambiar fácilmente entre Blend y Visual Studio, incluso cuando trabajas en un solo proyecto. Si agregas nuevos archivos al proyecto mientras trabajas en Visual Studio, debes guardar el proyecto mediante Guardar todo (Ctrl+Mayús+S) o compilar y ejecutar la aplicación antes de cambiar a Blend.Al cambiar a Blend, recibirás un mensaje en el que se te pregunta si deseas volver a cargar el proyecto.Haz clic en Sí. Los nuevos archivos se agregarán al proyecto en Blend. |
Agregarás una referencia a la API de JavaScript para Windows
Ahora ya puedes agregar una referencia al espacio de nombres Fragment de Windows JavaScript.
Para agregar una referencia en default.js al espacio de nombres WinJS.UI.Fragments
En el panel Proyectos, haz clic con el botón secundario en PickaFlick y, a continuación, haz clic en Editar en Visual Studio.
Visual Studio abrirá el proyecto PickaFlick.
En Visual Studio, en el Explorador de soluciones, expande la carpeta js y haz doble clic en default.js para abrirlo.
Pega el código siguiente inmediatamente detrás de app.start();:
//add DOMContentLoaded event document.addEventListener("DOMContentLoaded", loadInitialPage, false);
Pega el siguiente código al final del script:
//When initial page is loaded, use WinJS.UI.Fragments Namespace to load homePage.html into the body element of default.html var target; function loadInitialPage() { target = document.querySelector("body"); WinJS.UI.Fragments.renderCopy("/homePage.html", target).done(); }
Presiona Ctrl+Mayús+S para guardar todos los cambios y después cambia a Blend.
Si se te pide confirmación para recargar el proyecto, haz clic en Recargar. Blend reflejará en Visual Studio los cambios que acabas de hacer en el proyecto.
Observa que ahora aparece homepageContainer en el panel DOM dinámico. Haz clic en la pestaña default.html en la parte superior de la aplicación. Observa que el color de fondo de homepageContainer en el panel DOM dinámico es diferente del resto del panel DOM dinámico, lo que indica que procede de una página diferente. A la derecha de homepageContainer está el icono del fragmento .
Si haces clic en homepageContainer en el panel DOM dinámico, verás el archivo homepage.html abierto en la vista de documentos relacionados. Además de estas pistas, cuando seleccionas un elemento procedente de homepage.html mientras trabajas en default.html, en la parte superior de la aplicación, en la pestaña default.html, aparece la notificación "The selected content is part of homepage.html". Este mensaje te ayuda a identificar el origen de los objetos o elementos que aparecen en la superficie de diseño cuando trabajas en default.html, la base del modelo de navegación de una sola página.
Agregar las imágenes al proyecto
La aplicación PickaFlick se crea con imágenes confeccionadas por un diseñador gráfico. Además de hacer que la aplicación sea más interesante visualmente, la imagen de un pollo sirve también de botón, en el que el usuario hace clic para iniciar la aplicación.
Puedes agregar las imágenes al proyecto:
Con el comando Agregar elemento existente del menú Proyecto
Copiando y pegando
Arrastrando y colocando
En este ejemplo copiarás y pegarás las imágenes.
Para agregar las imágenes al proyecto
Las imágenes siguientes se incluyen con el proyecto de ejemplo:
ChickenSprite
FilmStrip
MainLogo
SmallLogo-Chicken
TempBoxArt
Si descargaste el proyecto de ejemplo, abre la carpeta Assets, presiona Ctrl+A y presiona Ctrl+C.
En Blend, en el panel Proyectos, haz clic con el botón secundario en la carpeta Images y después haz clic en Pegar.
Ahora puedes agregar las imágenes a la superficie de diseño mientras diseñas la aplicación.
Definir reglas de estilo CSS
El aspecto de la aplicación se modifica principalmente aplicando estilos CSS. Puedes modificar sus estilos con cualquier editor de texto, pero podrás crearlos y editarlos más fácilmente si usas el conjunto de herramientas CSS avanzadas de Blend.
Puedes establecer propiedades de CSS específicas en Blend:
Escribiéndolas directamente en el editor de código
Buscando la propiedad que deseas modificar en el panel Propiedades de CSS, visualmente o escribiendo el nombre de propiedad en el cuadro de texto Buscar o establecer, y escribiendo el valor que desees en el editor de valores para esa propiedad
Escribiendo la declaración de propiedad directamente en el cuadro de texto Buscar o establecer y usando la sintaxis correcta de CSS Por ejemplo, puedes establecer la propiedad background-repeat en repeat-x escribiendo background-repeat: repeat-x en el cuadro de texto Buscar o establecer y presionando Entrar.
También puedes especificar varias propiedades para el mismo elemento escribiendo los nombres y los valores de propiedad directamente en el cuadro de texto Buscar o Establecer. Usa la sintaxis de CSS correcta e incluye un punto y coma (;) entre cada definición de estilo. Por ejemplo, puedes establecer la propiedad background-repeat en repeat-x y la propiedad position-y en center escribiendo background-repeat: repeat-x; position-y: center en el cuadro de texto Buscar o establecer y presionando Entrar.
Puedes organizar las propiedades del panel Propiedades de CSS de dos maneras: por categoría o por nombre.
Si organizas las propiedades por categoría, las propiedades de CSS aparecen agrupadas por categoría, con las categorías organizadas alfabéticamente. Si organizas las propiedades por nombre, verás una lista alfabética de todas las propiedades disponibles de CSS.
A continuación, aplicarás una propiedad height a homepageContainer y después agregarás las imágenes y les aplicarás estilo.
Para modificar el alto de homepageContainer
En el panel DOM dinámico, haz clic con el botón secundario en homepageContainer y después haz clic en Crear regla de estilo desde id. de elemento.
Observa que ahora aparece #homepageContainer en el panel Reglas de estilo. Un contorno verde indica que este es el estilo seleccionado actualmente. El indicador amarillo debajo de #homepageContainer es el punto de inserción para nuevos estilos. Puedes arrastrar el punto de inserción si quieres insertar nuevos estilos en una ubicación diferente. En el panel Propiedades de CSS, observa también que #homepageContainer (default.css) aparece ahora en la ventana Estilos aplicados.
En el panel Propiedades de CSS, busca la propiedad height escribiendo height en el cuadro de texto Buscar o establecer.
En el editor de valores height, escribe 100 %.
Si las propiedades están organizadas por categoría, line-height aparecerá en primer lugar en la lista. Si las propiedades están organizadas por nombre, height aparecerá en primer lugar en la lista.
Para agregar la imagen de fondo y aplicarle estilo
En el cuadro de texto Buscar o establecer, haz clic en la x para borrar la selección del procedimiento anterior.
En la categoría Fondo del panel Propiedades de CSS, busca la casilla Capas y haz clic en Agregar y después en el botón de recursos de la imagen .
En la lista de origen, haz clic en FilmStrip.png.
Establece position-y en center y repeat en repeat-x.
Para agregar el logotipo principal y aplicarle estilo
En el cuadro Capas, haz clic en Agregar y después en el botón de recursos de la imagen .
En la lista de origen, haz clic en MainLogo.png.
Observa que MainLogo.png aparece detrás de filmstrip.png.
Cambia z-index (el orden de las capas) haciendo clic en MainLogo.png en el cuadro Capas y después en la flecha arriba para mover MainLogo.png encima de filmstrip.png en la lista de imágenes.
MainLogo.png aparecerá ahora encima de filmstrip.png.
Establece position-x y posición-y en center y repeat en no-repeat.
Crear un contenedor de diseño de caja flexible
En esta sección, agregarás la imagen del pollo y le aplicarás estilo. La imagen del pollo aparece en el centro de la página maestra, pero cambia de posición cuando se coloca el puntero en ella. Este efecto no es en realidad una animación, sino una pseudoclase hover aplicada a la imagen. De forma predeterminada, solo aparece la mitad de la imagen. Cuando colocas el puntero en ella, la parte oculta de la imagen se vuelve visible, reemplazando la vista predeterminada y simulando una animación.
Para colocar más fácilmente la imagen, crearás un contenedor de diseño flexbox modificando la propiedad display de homepageContainer. Consulta Diseño de cajas flexibles (“Flexbox”).
Para agregar el contenedor de caja flexible y aplicarle estilo
En el panel DOM dinámico, haz clic en homepageContainer.
En el panel Proyectos, abre la carpeta images y haz doble clic en ChickenSprite.png para agregar la imagen del pollo a la superficie de diseño.
Al hacer clic en homepageContainer, se agrega ChickenSprite.png como elemento secundario de homepageContainer. El elemento img se activa y la imagen del pollo aparece en la superficie de diseño.
En el panel DOM dinámico, haz clic en homepageContainer.
En el panel Propiedades de CSS, busca la categoría Diseño y haz clic en flex en la lista display.
En la categoría FlexBox, establece align-items y justify-content en center.
En el panel DOM dinámico, haz clic con el botón secundario en el elemento img, haz clic en Agrupar en y haz clic en div o presiona Ctrl+G.
Sugerencia También puedes arrastrar el elemento img al elemento div.
El elemento de imagen se incluye ahora en un contenedor div.
Haz clic en div y escribe spriteContainer en el cuadro de texto.
Haz doble clic en spriteContainer y haz clic en Crear regla de estilo desde id. de elemento.
En el panel Propiedades de CSS, establece height en 180px y overflow-y en hidden.
Haz clic en img en el panel DOM dinámico y escribe chickenButton en el cuadro de texto.
Sugerencia Expande spriteContainer si el elemento img no está visible.
En el panel Reglas de estilo, a la derecha de default.css, haz clic en Agregar .
En el panel Reglas de estilo, haz clic en .newStyle y, a continuación, escribe #chickenButton:hover para crear un pseudoselector para chickenButton.
Observa que a medida que escribes, CSS Intellisense proporciona las referencias de CSS disponibles para facilitar el desarrollo de reglas de estilo.
En el panel Propiedades de CSS, en la categoría Margen, establece margin-top en -180px.
Presiona F5 para compilar y ejecutar la aplicación o presiona Ctrl+I para obtener una vista previa de la aplicación en modo interactivo. Coloca el puntero en la imagen del pollo para confirmar que la imagen cambia de estado. Presiona Alt+F4 para cerrar la aplicación.
Ahora puedes crear la página de detalles. Para continuar, consulta Crear la primera aplicación de la Tienda Windows con Blend, parte 2: la página de detalles (HTML y JavaScript).