Desarrollo de apps de escritorio vs apps de Windows 8* Store

Al desarrollar aplicaciones para Windows 8 y dispositivos Intel, tienes una oportunidad única para decidir que tipo de aplicación con Windows 8 te gustaría desarrollar. El siguiente artículo te ayuda a definir los recursos que te ayudarán a decidir que tipo de desarrollo de aplicaciones es para ti.

Desarrollando aplicaciones desktop

Los dispositivos Ultrabook permiten a los usuarios ejecutar aplicaciones de escritorio y de Windows Store (conocida como estilo "moderno"). Las nuevas APIs de Windows Run Time  (WinRT) ofrecen a los desarrolladores los medios para crear aplicaciones de Windows Store. Además se puede sacar provecho de algunas APIs WinRT para desarrollar aplicaciones de escritorio en Windows 8. Esto significa que los desarrolladores pueden portar fácilmente sus aplicaciones heredadas de Windows a las aplicaciones de escritorio de Windows 8.

Las aplicaciones de escritorio se pueden ejecutar en el modo escritorio en Windows 8. Este modo es similar al del entorno heredado de Windows, sin embargo, no es completamente una experiencia de legado. Existe un concepto erróneo generalizado que no se pueden desarrollar aplicaciones basadas en el sensor y el sistema táctil de Windows 8 para el modo escritorio o que no se pueden obtener aplicaciones de escritorio que aparezcan en el Windows Store 8. Ambos conceptos son falsos. Puedes desarrollar aplicaciones para escritorio con sistema táctil o sensor y agregarlas al Windows Store. Además, algunos controladores de hardware y funciones de dispositivo como el Intel® Wireless Display (Intel® WiDi) y el OpenGL* están disponibles solo para aplicaciones que utilizan el modo escritorio. Los desarrolladores deben tener presente que algunas tecnologías y funciones de dispositivos podrían estar aun expuestas o desarrolladas para el entorno de la interfaz de usuario en Windows 8.

Ventajas del desarrollo de aplicaciones de escritorio:

  • Los formularios tradicionales WinForm o las aplicaciones MFC son llamados ahora “Aplicaciones de escritorio” porque se ejecutan en un entorno de escritorio de Windows Manager. Las aplicaciones de escritorio pueden utilizar la nativa Win32/COM API o la NET-style API.
  • Las aplicaciones de escritorio de Windows 8 mantienen la misma flexibilidad que las aplicaciones de escritorio tradicionales de Windows ofreciendo una interfaz de usuario similar a la de una portátil con Windows junto con capacidades táctiles. Salvo por el botón de inicio, la interfaz de usuario de la Ultrabook de escritorio con Windows 8 es muy similar al entorno de la portátil tradicional.  
  • Acceso ilimitado a herramientas y aplicaciones x86. El modo escritorio Ultrabook le permite acceder a los contadores hardware y a las herramientas de seguimiento. Estas funciones ayudan a optimizar la aplicación de escritorio para la versión de hardware Ultrabook más reciente. Las aplicaciones de escritorio todavía tienen acceso a los controladores de bajo nivel y pueden comunicarse con los controladores para obtener un rendimiento de baja latencia.
  • Nivel básico de móvil API expuesto al lenguaje de programación C++ y C#.
  • Controladores heredados y soporte para dispositivos. Windows 8 es compatible con USB 3.0 lo que permite una transferencia de datos más rápida con dispositivos compatibles y una administración de energía mejorada. El escritorio también es compatible con controladores de dispositivo para sistema táctil y sensores.
  • Las diferencias que hay entre los sensores de escritorio y los sensores WinRT las puede encontrar en este link: Guía de desarrollo de sensores para Ultrabook y Tableta con Windows 8
  • Es compatible con gráficos de plataforma múltiple (OpenGL)
  • Las aplicaciones se pueden distribuir a través de el Intel AppUp store
  • Las aplicaciones se pueden encontrar en el Windows Store
  • Portabilidad a las aplicaciones de Windows Store: las nuevas APIs WinRT de Microsoft ofrecen a los desarrolladores los medios para crear aplicaciones de Windows Store. Además se puede sacar provecho de algunas APIs WinRT para desarrollar aplicaciones de escritorio en Windows 8. Esto significa que los desarrolladores puede portar fácilmente sus aplicaciones heredadas de Windows hacia las aplicaciones de escritorio de Windows 8.
  • Portabilidad de baja fricción/ optimización para aplicaciones heredadas de Windows. Todas las aplicaciones que funcionan en Windows 7 pueden funcionar en Windows 8 sin cambio alguno.
  • Las extensiones del kit de desarrollo de software (SDK) de la tecnología WiDi de Intel son un paquete de desarrollo que permite a los desarrolladores mejorar la experiencia visual con una TV HD utilizando la tecnología WiDi de Intel. Al utilizar este SDK, los desarrolladores pueden crear aplicaciones que escaneen y se conecten automáticamente a los adaptadores de TV con la tecnología WiDi de Intel desde sus aplicaciones. En este momento, solo las aplicaciones de escritorio de Windows 8 son compatibles (no las aplicaciones de Windows Store)

Los lenguajes compartibles con el modo escritorio son: C++, C#, HTML5/JavaScript*, Unity*, Python*, QT, Flash/AIR, Java*, cualquiera que se pueda crear y compilar para ser ejecutado en Windows 7/8.

Funciones compatibles:

 

·         NFC

o   Ultrabooks con tecnología Windows 8 son compatibles con NFC entre dos dispositivos Ultrabook.

·         Tecnología antirrobo Intel® (Intel® AT)

o   Este hardware de seguridad inteligente le ayuda a proteger sus datos desactivando la Ultrabook en caso de robo o pérdida en cualquier lugar del mundo. Al recuperar la Ultrabook puedes reactivarla fácilmente sin dañar los datos almacenados o cualquier contenido digital. (Disponible como opción en algunos sistemas equipados con procesadores Intel® Core™).

·         Tecnología Intel® de Protección de Identidad (Intel® IPT)

o   Ayuda a proteger tu identidad y activos en Internet gracias a que ofrece un enlace de confianza a tu sistema, tus cuentas y tus sitios web favoritos. (Disponible solo en algunos sistemas).

·         Tecnología Intel® Rapid Start

o   Esta tecnología devuelve tu Ultrabook™ al estado de funcionamiento en segundos. Esta característica ultra-rápida proporciona a tu dispositivo la potencia necesaria para reanudarlo en un instante lo que permite un consumo muy bajo de energía aun cuando el dispositivo se encuentra en el estado de reposo.

·         Tecnología Intel® de respuesta inteligente

o   Reconoce y almacena rápidamente tus aplicaciones y archivos más utilizados en un lugar al que puedas acceder directamente.

·         Multitoque

o   Las aplicaciones de escritorio en Windows 8 también pueden ser compatibles con el sistema táctil. Los movimientos como dar uno o dos golpecitos con los dedos, arrastrar, deslizar, rotar y pellizcar/expandir pueden mejorar la utilidad de una aplicación de escritorio existente.

·         Sensores de orientación

o   Para las aplicaciones de escritorio que utilizan el Windows nativo, la interfaz del sensor es la misma que en Windows 7 – exponen la funcionalidad de los sensores a través de un conjunto de interfaces COM. Al utilizar estas interfaces, una aplicación puede comunicarse con el administrador de sensores y con los propios sensores. El administrador de sensores que rastrea los sensores disponibles, puede avisarle a tu aplicación cuando el sensor se conecta y de esta manera estar disponible para su uso. También permite que sus aplicaciones tengan acceso a los sensores disponibles. Los mismos sensores pueden notificarle a la aplicación acerca de nuevos datos, cambios en el estado del sensor, desconexión del sensor y eventos habituales descritos por el fabricante del sensor. La comunicación con el administrador de sensor y los sensores se realiza a través de las interfaces COM. Para comunicarse con el administrador o los sensores se utiliza el sensor API. Para recibir notificaciones de eventos, tu programa debe implementar las interfaces COM callback que sean necesarias.

 

·         Tecnología de conexión inteligente de Intel®

o   Mantiene su correo electrónico, sus aplicaciones favoritas y redes sociales actualizadas automáticamente y de manera continua incluso cuando el sistema esta en estado de reposo. (Disponible solo en algunos sistemas)

Aplicaciones de Windows Store

Las aplicaciones de Windows Store se conocen a menudo como aplicaciones WinRT y eran conocidas anteriormente como aplicaciones Metro. Estas aplicaciones le sacan ventaja a las nuevas aplicaciones WinRT y solo pueden ser distribuidas en el Store de Windows 8. Microsoft ha permitido varias funciones y ha simplificado algunas de sus APIs de sensor y de sistema táctil en un conjunto sólido de APIs de dispositivos de WinRT. Las aplicaciones basadas en WinRT son desarrolladas utilizando Visual Studio* 2012 y se pueden escribir con lenguaje C++, C#, o con tecnologías web como HTML5, JavaScript*, y CSS3, luego son empaquetadas y distribuidas al Windows Store desde el entorno de desarrollo integrado (IDE) de Visual Studio. A continuación veremos cada uno de estos aspectos.

Ventajas

    • Navegación e interfaz de usuario moderna y sólida 
      En las aplicaciones de Windows Store se le da más importancia al contenido, por eso debería darle más importancia al contenido de sus aplicaciones. Debes imaginarte estas aplicaciones como páginas web en donde sabes qué datos resaltar y como navegar por las aplicaciones. Cada aplicación se abrirá en una sola ventana y la ventana cubrirá toda la pantalla. Sin embargo, dentro de la aplicación tendrás múltiples vistas y diseños dependiendo de las necesidades de la aplicación. Estos diseños, vistas y la forma de navegar en las ellas son uniformes en varios dispositivos y formatos. Puedes navegar entre y dentro de la aplicación utilizando los movimientos suaves en las pantallas táctiles y las entradas de lápiz digital aparte del mouse y el teclado tradicional.
    • Mosaicos activos
      Las aplicaciones de Windows 8 aparecen en forma de iconos en lugar de mosaicos. Podrías preguntarte entonces ¿por qué? Estos mosaicos no son como los “iconos grandes” que se usaban en Windows 7. Son similares a los widgets de Windows 7. Pueden proporcionar datos en directo incluso cuando la aplicación no se esté ejecutando en primer plano. Se actualizan solos para mostrar el contenidos más reciente, ya sea por mecanismos de notificación Push (utilizando notificaciones Push de Windows-WNS) o notificaciones Pull (utilizando servicios web). Por ejemplo, si tienes una aplicación de una red social y quieres actualizarla desde cualquier sitio web de redes sociales lo puedes hacer. Si tienes una aplicación del mercado de valores también puedes actualizar las acciones que al usuario le interesen.
      Más información en: Creating tiles and badges – by Microsoft
    • Busque y comparta contenidos a través de las aplicaciones 
    • Compartir datos entre dos aplicaciones era difícil en el pasado debido a la naturaleza heterogénea de los formatos de datos y los mecanismos de procesamiento. Sin embargo, las aplicaciones de Windows Store se pueden comunicar entré sí fácilmente utilizando un concepto llamado “Contrato de aplicaciones”. Estos contratos eliminan los problemas que puedan tener los formatos de datos y cada una de las aplicaciones APIs al comunicarse. No necesitas saber nada acerca de la aplicación de destino que no sea más que el soporte declarado para el contrato de destino. Los contratos de aplicación te permiten buscar y compartir contenidos entre diferentes aplicaciones.
    • Más información:

App contracts and extensions (Windows Store apps)

    – by Microsoft
  • Multi- Touch


En Windows 8 debes considerar el sistema táctil como uno de los principales mecanismos de entrada del usuario. Windows 8 es compatible con los eventos de interfaz de usuario de multitoque. Existen tres eventos de toque principales proporcionados por la plataforma de tiempo de ejecución de Windows (WinRT) para responder a las entradas de los usuarios: eventos de puntero, movimiento y manipulación.
 
Los eventos de puntero están más focalizados en el “contacto” de superficie (pantalla) desde dispositivos de entrada. Estos dispositivos podrían ser un mouse, un lápiz digital, un golpecito con un solo dedo o con varios.
 
Los eventos de movimiento se focalizan principalmente en capturar eventos con un solo dedo como pulsar y mantener pulsado/soltar.
Los eventos de manipulación se desencadenan cuando se realizan acciones como pinchar/expandir, mover en forma panorámica/desplazar, acercar y rotar.
 
Según la combinación de estos eventos, los siguientes movimientos son compatibles con Windows8.

Gesto Descripción
Tap/Dar un toque Es como presionar una tecla en el teclado. Tocas la pantalla con un dedo y lo levantas.
Press and hold/Tocar y mantener Presionas la pantalla con un dedo y mantienes presionado.
Slide/Deslizar Mueves el dedo (s) y la pantalla se mueve en la misma dirección..
Swipe/Barrer Es similar a deslizar pero “deslizar” es para distancias cortas.
Turn/Girar Dos o más dedos tocan la pantalla y rotan en sentido horario o antihorario.
Pinch/Pellizcar Es como apretar fuerte utilizando uno o más dedos.
Stretch/Estirar Dos o más dedos tocan la pantalla y se apartan hacia lados opuestos.

Más información: Responding to user interaction

    • Sensores
    • Windows proporciona un conjunto sólido de APIs para diferentes sensores. Algunos de ellos tienen acceso directo a datos de sensores físicos (utilizando controladores de hardware) y otros utilizando sensores virtuales a través de un concepto llamado Fusión de Sensores. Por ejemplo, el acelerómetro invoca el inclinómetro utilizando una posición angular; Acelerómetro + control del medidor giroscópico da como resultado una brújula.
    • El namespace Windows.Devices.Sensors proporciona APIs principalmente relacionadas al movimiento, la orientación y la luz. Los sensores que son compatibles con las APIs en este espacio de nombres son los siguientes:
    •  

Sensor Description
Acelerómetro Captura la aceleración en los ejes X, Y y Z. Accelerometer example –por Microsoft
Inclinómetro Captura cambios en el ángulo de la inclinación. Inclinometer Sample –por Microsoft
Girómetro Captura cambios en la velocidad angular .Gyrometer Sample –por Microsoft
Brújula Captura cambios en orientación.Compass Sample –por Microsoft
Luz Captura cambios en la luz ambiental.  LightSensor Sample –por Microsoft
Orientación Acelerómetro+Brújula+Girómetro proporcionan datos de movimiento más detallado .OrientationSensor Sample –por Microsoft
Orientación simple Utiliza el acelerómetro para obtener la orientación del dispositivo como la rotación de uno de los cuatro cuadrantes. Proporciona movimientos hacia arriba, hacia abajo y rotaciones de 90, 180 o 270 grados. SimpleOrientation Sensor Sample –por Microsoft
      Más información:

Windows 8 supported Sensors

      –por Microsoft
    • GPS
    • Los datos de geolocalización en Windows 8 están proporcionados por la triangulación Wi-Fi* y los datos de la dirección IP para determinar la ubicación. Este sensor se denomina Proveedor de Ubicación de Windows. Este no es un sensor de hardware verdadero. Sin embargo, si su dispositivo tiene un sensor de GPS físico, el proveedor de ubicación lo utilizará y le brindará información más precisa de la ubicación basada en el sensor del GPS. 
    • Más información:

Guidelines for location-aware applications

      – por Microsoft
    • NFC (Near Field Communication)
    • La tecnología NFC existe en el mundo móvil hace ya un tiempo. Ahora con Windows 8 está disponible en las portátiles y también en las Ultrabooks. Estas APIs de Windows 8 se pueden utilizar para escritorio o aplicaciones de Windows Store. Las APIs necesarias se encuentran disponibles en Windows.Networking.Proximity namespace para NFC.
    • Más información:


Designing systems and developing drivers for NFC

      – por Microsoft


Supporting proximity and tapping

      – por Microsoft


Proximity sample

    – por Microsoft
  • Puedes desarrollar aplicaciones para Windows Store con el lenguaje que desees. En la actualidad, las aplicaciones de Windows Store se pueden desarrollar utilizando Visual Basic, C#, C++ y JavaScript junto con HTML5 y CSS3. Mucha documentación y ejemplos pueden encontrarse en cada uno de estos lenguajes en todas las APIs de Windows Store. Puedes utilizar Visual Studio 2012 IDE para desarrollar, empaquetar y desplegar estas aplicaciones en Windows Store. Puedes obtener una versión de IDE Express gratuita para tu desarrollo. Deberás registrarte como desarrollador en cada máquina antes de comenzar a desarrollar las aplicaciones.
  • Distribución, Venta e Instalación desde el Windows Store
  • Puedes desarrollar aplicaciones si tienes una licencia para desarrollador, no obstante, para la distribución necesitas seguir cualquiera de estos dos recorridos.
  1. Pasa por todos los procesos de validación de Microsoft Store y publícalo en el Windows store. Tus aplicaciones publicadas estarán luego disponibles en el Windows Store. Los usuarios pueden descargar e instalar tus aplicaciones. Los procesos de instalación y de actualización son controlados por Windows Store.
  2. Publica sin pasar por el Windows Store. En general se utiliza este modelo para distribuir las aplicaciones dentro de tu empresa o dentro de tu círculo habitual. Este concepto se denomina instalación de prueba.
  • Compatible con arquitectura de procesador ARM y x86
  • Nota: las aplicaciones de Windows Store no son compatibles a la inversa. No puedes implementar aplicaciones Store en servidores de Windows 7 o Windows 2012.

    Funciones Ultrabook compatibles con aplicaciones de Windows Store:

    Matriz de funciones de Ultrabook

    Haga clic en este enlace para obtener una matriz de función de Ultrabook que clasifica las funciones que están expuestas al modo escritorio para varios lenguajes de desarrollo.

    http://software.intel.com/en-us/articles/ultrabook-feature-compatibility-matrix-for-windows-8-development





    Notas

    INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

    UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.

    Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

    The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

    Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.

    Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm

    Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.

    Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the terms of that license.

    Intel, Ultrabook, and the Intel logo are trademarks of Intel Corporation in the US and/or other countries.

    OpenGL is a registered trademark of Silicon Graphics, Inc. in the United States and/or other countries worldwide.

    Copyright © 2012 Intel Corporation. All rights reserved.

    *Other names and brands may be claimed as the property of others.

    Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.