Contactos

Introducción a UWP. Windows Core OS - Plataforma modular del futuro

  • Programación anormal,
  • Desarrollo de sitios web,
  • Desarrollo bajo Windows.
  • Por lo tanto, es muy posible comenzar a familiarizarse con la nueva plataforma. Déjame hacer una pequeña excursión, describiendo algunas diferencias.

    Comenzaré con el hecho de que las aplicaciones de UWP tienen algo que no tiene aplicaciones clásicas de Windows, tienen un modelo de aplicación. ¿Qué es el modelo de aplicación? Este es un tipo de regulación. La descripción de todas las capacidades de la aplicación son sus derechos de acceso, método de instalación, actualizaciones, almacenamiento de información, etc.

    En aplicaciones Tienda de Windows.De manera similar, ya que las aplicaciones UWP tienen un archivo manifiesto que describe todas las características y derechos de la aplicación. Este es un archivo de paquete.appxmanifest. Se puede editar tanto en el editor gráfico como en un código XML. Captura de pantalla editor gráfico Vea abajo.

    Elementos de control

    Si recuerda, recientemente, recientemente en Windows 8 y 8.1 fue el panel de encanto, un panel mágico:

    Ahora, en lugar de que se usa más familiar para los desarrolladores de controles de WPF:

    Aquí, el nuevo control es el ContentDialog, que bloquea la aplicación, es aproximadamente el mismo que bloquea su mensaje de Message.
    Además, el UWP es más familiar para la navegación de los desarrolladores de WP:

    Lo que puede parecer interesante es que algunos controles pueden tener diferentes apariencia Cuando se muestra en varios dispositivos. Palabras simplesEl control puede verse un poco de otra manera, por ejemplo, cuando se muestra en un escritorio y en un dispositivo móvil.

    En general, supongo que el desarrollador promedio se ha utilizado durante mucho tiempo a una amplia variedad de controles. El desarrollo de nuevas dificultades no debe causar.

    Desarrollo para varios dispositivos.

    Intentaré desmontar lo que el desarrollador será inusual para WPF. Por ejemplo, esto es que al desarrollar aplicaciones de Windows 8.1, fue posible en una solución desarrollarse simultáneamente y debajo del teléfono y debajo del escritorio.

    En este caso, se crearon 3 proyectos. Las aplicaciones WP y WinRT almacenaron el código XAML del "Visor" y algún código especial en el dispositivo, y el proyecto general almacenó un código XAML común y un código C # en el proyecto general.

    Ahora, dado que la plataforma UWP es universal, entonces, para cada tipo de dispositivos, puede crear una carpeta en la que puede poner una "vista" - I.E. Archivo XAML con diseño debajo de los parámetros del dispositivo.

    Ciclo vital

    Hay una vieja broma sobre la fórmula: 1: "Ralph Schumacher tiene dos posiciones del pedal habilitado y deshabilitado. El resto de las disposiciones se pueden descuidar ".

    Esta broma, puedo una pequeña aplicación de aplicaciones clásicas. O bien funcionan o no funcionan. En las aplicaciones de la tienda, todo es un poco diferente. Además de los estados "habilitados / desactivados", también hay un estado intermedio "suspendido". El ciclo de vida de las aplicaciones 8.x y UWP se muestran en la siguiente imagen:

    Activadores y tareas de fondo

    Aplicaciones .NET pueden ser archivos ejecutables o pueden ser servicios / servicios. Esto es perfecto diferentes tipos Aplicaciones. Es decir, no puede haber tal que la aplicación EXE, pero funciona en el fondo. No, por supuesto, la aplicación puede funcionar en la bandeja. Pero, de hecho, resulta que se está ejecutando y simplemente se enrolla.

    En cuanto a las aplicaciones 8.x y UWP, pueden contener tareas de fondo. Las tareas de fondo son algunas semblanadas de servicio. Es decir, la aplicación puede no funcionar, pero se realizará alguna tarea en el sistema. Además, la tarea de antecedentes puede "capturar" cualquier evento en el sistema del sistema de activación.

    Uno de los disparadores más populares es Systemtrigger.. Usándolo, la aplicación puede realizar cualquier código cuando se producen eventos como: la apariencia o la pérdida de Internet, cambie el estado de la red, la conexión o la deshabilitación del usuario, obteniendo SMS, cambie la zona de reloj, etc.

    También bastante popular Timetrigger. y Mantenernoncetrigger.. Ambos disparadores realizan ningún código con frecuencia en un determinado período de tiempo. El intervalo de tiempo debe ser al menos 15 minutos. La diferencia es que TimeTrigger requiere registro en la pantalla de bloqueo, y se requiere MantenanceEtrigger-Y para funcionar de la batería, sino de la red.

    Muchos nuevos disparadores aparecieron en UWP. Tomar, por ejemplo, un gatillo tan interesante como MediaProcessingTriggerLo que permite que la aplicación recodifique multimedia como parte de la tarea de fondo.

    Usando bibliotecas

    Si usó las bibliotecas DLL en aplicaciones clásicas, luego en aplicaciones 8.x y UWP, puede usar PCL y el componente WinMD Runtime. ¿Cuál es la diferencia?

    PCL (biblioteca de clase portátil) se puede agregar a aplicaciones para varias plataformas. Y bajo el marco .NET de varias versiones, y en Windows 8.x y bajo WP, bajo UWP e incluso bajo la aplicación IOS / Android Xamarin. Es decir, esta biblioteca puede empujar un código común dependiente de la plataforma.

    WinMD solo se puede utilizar bajo 8.x o UWP. Independientemente del idioma en el que se escriben las aplicaciones, pueden trabajar con WinMD. Pero WinMD mismo, si contiene computación compleja, es mejor escribir en C ++ para lograr mejor actuacion.

    Sin embargo, al desarrollar bajo UWP, puede crear una biblioteca de clases (DLL).

    Trabajando con datos

    ¿Cuál es la diferencia entre las aplicaciones de UWP, por lo que esto es que no funcionan directamente con las bases de datos? Es decir, tales bases de datos como, digamos servidor SQL O Oracle, ubicado en el servidor del servidor, no estará disponible para usted. Sin embargo, sería extraño si el usuario descargaría la aplicación de la tienda, y la aplicación comenzaría a funcionar con la base de SQL Server ubicada en el servidor en red local. Pero puede trabajar con datos utilizando servicios web. Hay una oportunidad para usar ORACLOVSKY Conector / Net para bases de datos MySQL, pero está en este momento No es compatible con SSL y, por lo tanto, no es particularmente interesante. Por lo tanto, es mejor no desviarse del concepto de usar los servicios para acceder a los datos.

    Para almacenar información dentro de la aplicación, puede usar SQLite.

    Almacenamiento de parámetros de aplicación y trabajo con archivos.

    Los parámetros de la aplicación de la tienda son posibles no solo en el dispositivo, sino también en la nube. Por lo tanto, si ejecuta la aplicación en diferentes dispositivos, la configuración será la misma en todas partes.

    El siguiente fragmento pequeño ahorra la cantidad de llamadas de código en la nube:

    INT TIMESCOUNT \u003d 0; Objeto roams \u003d windows.storage.applicationdata.current.roamingsettings.values \u200b\u200b["Times"]; Si (Roams! \u003d null) TimesCount \u003d (int) ocha; TimesCount ++; Windows.storage.applicationdata.current.roamingsettings.values \u200b\u200b["Times"] \u003d Puntuación de tiempo;
    Si reemplaza a windows.storage.applicationdata.current.roamingsettings en windows.storage.applicationdata.current.localsettings, luego el parámetro se guardará localmente en el dispositivo.

    Los ajustes se pueden organizar tanto en parámetros compuestos como en contenedores. Los archivos de la misma manera que la configuración se puede almacenar tanto en el dispositivo en la carpeta local como en la nube. Pero además de esto, es posible almacenar archivos en una carpeta temporal, que, si es necesario, puede ser limpiada por el sistema - ApplicationData.TemporaryFolder.

    Además, puede acceder a la carpeta a estar contenida en la aplicación usando
    Windows.applicationmodel.package.current.installedlocation

    El acceso a los archivos almacenados en los discos también está organizado por un modelo especial. Los contenidos de las carpetas de documentos, fotos, video y similares se pueden obtener utilizando la clase conocida, pero en este caso se requiere la instalación de permisos en el manifiesto. El acceso a cualquier otra carpeta es posible solo si el usuario selecciona la carpeta en sí misma durante la operación con la aplicación. Las carpetas visitadas se pueden guardar para relanzar Las aplicaciones no obligan al usuario a hacer una acción adicional.

    Var folderpicker \u003d nuevo windows.storage.pickers.folderpicker (); Folderpicker.filetypefilter.add ("JPG"); Folderpicker.filetypefilter.add (". JPEG"); Folderpicker.filetypefilter.add (". PNG"); folderpicker.suggestedstartlocation \u003d windows.storage.pickers.pickerlocationid.pictureslibrary; Folderpicker.settingsidentifier \u003d "Picker2"; Windows.Storage.StorageFolder LastFolder \u003d Await folderpicker.picksinglefolderasync (); Si (LastFolder \u003d\u003d null) devuelve; Cadena mrutokenscache.storage.accesscache.storageapplicationPermissions.MostreslyUstUstList.add (LastFolder);
    Puede obtener después de la última carpeta guardada como esta:

    Cuerda mrufirsttoken \u003d storageapplicationpermissions.mostreslyusedlist.trisees.firstordefault (). Token; LastFolder \u003d AwAit StorageApplicationPermissions.MostreslyUstUstList.getFolderasync (MRUFIRSTTOKEN);

    Enlaces de datos

    Tanto en aplicaciones WPF como en aplicaciones UWP, así como durante el desarrollo de menos de 8.x, puede usar los enlaces de datos, (enlace). Pero los enlaces compilados aparecieron en UWP - (X: BIND) ¿En qué diferencia? Compilado trabajo mucho más rápido, y se forman / se verifican durante la compilación y no durante el lanzamiento de la solicitud. También se escriben estrictamente.

    Leer más aquí.

    Acerca del manual

    Con este tutorial, aprenderá la programación utilizando el kit de herramientas WXWidgets. Al final de cada capítulo encontrará enlaces a otras directrices.

    wxwidgets.

    wXWidgets es un conjunto de herramientas para crear una interfaz gráfica de usuario (GUI) en aplicaciones C ++. Este es un kit de herramientas de código abierto multiplataforma. Las aplicaciones WXWidgets trabajan en todas las plataformas principales: Windows, Unix y Mac. El proyecto fue fundado. Julian Smart (Julian Smart) en 1992. Esto es más que un solo conjunto de herramientas. Proporciona una amplia variedad de clases para trabajar con flujos, bases de datos, secuencias de comandos, Ayuda interactiva y configuración de la aplicación. WXWidgets contiene un gran grupo de widgets. Puede familiarizarse con la comunidad WXWidgets en el sitio http://www.wxwidgets.org/.

    Idioma de programación de C ++

    C ++ uno de los lenguajes de programación más utilizados en este planeta. La mayoría de los conocidos paquetes de software como MS Office, Macromedia Flash, Firefox, Photoshop y 3D Max están escritos en él. C ++ domina el mundo de los juegos para PC. Este es uno de los idiomas de programación más complejos. Por otro lado, la programación de C ++ en 2007 difiere de la programación en 1997. Mucho se ha vuelto más fácil hoy.

    El índice de la comunidad del programador TIBE muestra una participación aproximada de los lenguajes de programación (información a continuación, como en 2010, aprox. SL-Alex). Taxis de Java. C ++ se derrama del trono. Pero C ++ sirve como su base y en las próximas décadas no hay amenazas graves para él. Podemos ver claramente la especialización entre los lenguajes de programación. Java se utiliza principalmente en proyectos corporativos y programas portátiles, C - King en la programación del sistema (SO, controladores de dispositivos, programas pequeños), PHP firmemente fijados en sitios web pequeños y medianos, JavaScript se utiliza para implementar la parte del cliente de la aplicación web .

    C / C ++ Los idiomas más utilizados para crear GUI clásico (gráfico Interfaz de usuario (GUI)) Aplicaciones para sistemas de escritorio. Aquí hay una gran explicación por qué Java no destruirá C ++ en los próximos años.

    Programación multiplataforma

    Hoy en día, la programación multiplataforma es una palabra de moda. Muchos idiomas y bibliotecas quieren convertirse en multiplataforma. Los wxwidgets se crearon originalmente como una herramienta multiplative. La mayoría de los desarrolladores eligen tales oportunidades. Si es posible, use web. O elija entre qt, wxwidgets, swing o swt. También hay tal cosa como fltk, pero no es tan popular y no es la mejor decision. En mi país hay una gran compañía ferroviaria. Esta empresa utiliza software escrito en Java y Swing. Esta elección se debe al hecho de que es más barato comprar nuevos equipos y escribir en Java. Usando Java, la velocidad de desarrollo aumenta y se reduce el número de errores. Por supuesto, tal elección es correcta. Pero cuando escribimos un editor de texto en Java, no podemos decirles a nuestros clientes, oye chicos, deberá comprar otro 1 GB de memoria. En tal situación, Java nos puede ayudar. En cuanto a Qt, esta biblioteca es el principal competidor WXWidgets. Por lo tanto, para cada tarea, debe usar la herramienta correcta, esta es la solución más importante para cualquier programador y administrador.

    En aplicaciones y juegos para la plataforma móvil, las diversas posibilidades de los dispositivos móviles modernos con pantallas táctiles. Estos son varios juegos, aplicaciones para trabajos, recreación, desarrollo, clientes de software de servicios útiles de Internet, etc.

    A continuación se muestra una revisión comparativa de la Fundación Ideológica. industria móvil - Funcionamiento móvil en competencia sistemas Android Y Windows Phone. Entonces, ¿qué ventajas y desventajas se pueden observar desde estas dos plataformas móviles más populares? Android o Windows Phone - ¿Cuál de las plataformas es mejor?

    1. Interfaz

    Lo primero que se apresura a los ojos de cualquier usuario que tomó el teléfono inteligente a base de datos de Windows El teléfono es azulejos estilizados. ¿Cuál es la esencia de estos azulejos? Estos se disfrazan los llamados baldosas en vivo (azulejos en vivo), que son un tipo de exclusivo de Microsoft, un rasgo distintivo brillante de la plataforma Windows Phone. ¿Por qué estos azulejos son "en vivo"? Las baldosas no son más que varios widgets modificados y etiquetas de aplicaciones y juegos con esa característica que su información actual (pronóstico del tiempo, tasas de cambio, mensajes nuevos, notificaciones de juegos, etc.) se muestra directamente en el azulejo.

    La plataforma Android en términos de la interfaz puede hoy ser audazmente llamada un clásico limpio. Tomando un nuevo teléfono inteligente Android en las manos, el usuario verá las etiquetas habituales de las aplicaciones y juegos, estrictamente alineados en una fila. Pero este estado de cosas puede cambiar rápidamente. Con la ayuda de varias aplicaciones de lanzador, en la diversidad de los cuales no puede reprochar la tienda de aplicaciones para Android - Google Mercado de juego.La interfaz de la plataforma se puede cambiar en cuestión de segundos a cualquier sabor de usuario, en cualquier fondo de pantalla temático para escritorio, incluso para elegir un diseño interesante con widgets que muestran aplicaciones y juegos actuales.

    Entonces, ¿cuál de las plataformas es mejor en el plan de interfaz? Por supuesto, muchas de las fichas vivientes de Windows Phone le gustarán muchas, ya que esta idea de Microsoft realmente merece elogios individuales. Sin embargo, puede instalar cualquier obra maestra de diseñador del desarrollador de aplicaciones de lanzador y cambiar la interfaz de la plataforma al menos varias veces al día. Windows Phone no tiene tal oportunidad, la interfaz de esta plataforma no se puede cambiar. Azulejos en vivo El usuario observará todo el tiempo utilizando un teléfono inteligente Windows Phone.

    Por lo tanto, en términos de la interfaz, la victoria detrás de la plataforma Android es precisamente por su disponibilidad y apertura para cambios constantes en apariencia.

    2. Configuración de la plataforma para las preferencias de usuario.

    En términos de la capacidad de configurar una plataforma móvil para las necesidades de los usuarios, los participantes de revisión: Android y Windows Phone - tienen una posición fundamentalmente diferente.

    Android es un sistema operativo de código abierto (Core Linux), por lo tanto, sus opciones con intervención desarrolladores de tercerosPor ejemplo, por parte de los fabricantes de equipos móviles puede ser mucho. La plataforma Android está abierta, le permite realizar sus ajustes a su configuración, no solo a los fabricantes de teléfonos inteligentes y tabletas, sino también a los propios usuarios, para cambiar la interfaz, instale cualquier aplicación y juegos, incluyendo en google pasar por alto Play Market, descargando aplicaciones y juegos con recursos de terceros - Torrent Trackers, sitios dedicados a temas de Android, etc.

    Obtener los derechos de la raíz sobre Android abre a los usuarios Perspectivas increíbles: por ejemplo, cualquier juego de acción avanzado, que está parado en el mercado de Google Play de dinero decente, el usuario podrá instalarse completamente en contacto con los recursos de terceros mencionados anteriormente.

    La apertura del código de la plataforma Android permite que sea flexible, realice la gama más amplia de tareas en los intereses del usuario, utilizando una variedad de herramientas de software.

    Windows Phone es un sistema operativo cerrado que no proporciona intervenciones en su código. En este sentido, Microsoft decidió ir en el camino. compañías de Apple, limitando su creación de cualquier intervención de terceros. Windows Phone no está configurado para configurar la preferencia del usuario. El peso del usuario debe contentarse con solo el hecho de que el Gigante del Software ha previsto.

    Por lo tanto, la segunda victoria se otorga a Android de nuevo.

    3. Seguridad y estabilidad.

    De la ventaja previa de la plataforma Android, sigue a su desventaja como la vitalidad de los virus y programas maliciosos. Muy a menudo, los recursos de alta tecnología en Internet morirán con información que la siguiente aplicación infectada con el virus infectada o persiguiendo el objetivo de devastar la cuenta móvil del SMS a varios números de pago a los diversos números de pago. Sí, a veces sucede, y los empleados del mercado de Google Play tienen más que trabajar y qué mejorar. Entonces, mientras que el usuario solo puede esperar vigilar la aplicación antivirus.

    Frenos e inestabilidad trabajos de Android - Otra desventaja, que también es consecuencia de la apertura del código de esta plataforma.

    La situación con Windows Phone en términos de seguridad y estabilidad es la completa opuesta a la situación con Android. Cercanía código de Windows Teléfono, quizás, priva a esta plataforma de flexibilidad, sin embargo, funciona sin problemas, estable, sin fallas.

    Entonces, en la cuestión de la seguridad y la estabilidad, la victoria puede ser solo para Windows Phone. Esta es la primera victoria del freno del gigante suave.

    4. Multitarea

    Android admite multitarea: esta es definitivamente una gran ventaja de esta plataforma. En eso pregunta de Android Incluso pude superar a iOS: la plataforma móvil iPhone y iPad, porque la multitarea en iOS se implementó solo a la cuarta versión de la plataforma, y \u200b\u200ben la multitarea de Android existía desde el principio, desde la primera versión.

    Por lo tanto, en el usuario de Android puede ejecutar varias aplicaciones simultáneamente y cambiar entre ellos a través de un menú especial "Aplicaciones recientes" especial, que muestra 6 aplicaciones recientes. Si la solicitud o el juego no proporciona la opción de salida, naturalmente, todas las aplicaciones y juegos en ejecución se colgarán modo de fondo. Naturalmente, se agotará rápidamente la batería del teléfono inteligente. Pero aquí es poco probable que pueda presentar quejas a Android, para el rendimiento, siempre debe pagar. De una manera diferente.

    Windows Phone no admite la multitarea.

    Entonces, la siguiente, la tercera victoria de Android.

    5. Aplicaciones de plataforma móvil.

    Si mira desde la posición de principiante, un hervidor completo, que compró el primer teléfono inteligente en su vida, la plataforma de Windows Phone estará en una situación más ganadora, ya que más aplicaciones están inicialmente preestablecidas aquí. Por ejemplo, junto con el nuevo teléfono inteligente, el usuario se incorpora en las aplicaciones de clientes sociales integradas en la plataforma redes Facebook., Twitter y LinkedIn. Pero un cebo tan pequeño no tienta a los usuarios experimentados, ávidos amantes. comunicaciones móviles. Porque para la plataforma Android todo lo que necesita: clientes redes sociales Y diversos servicios de Internet, organizadores, widgets de moneda y moneda, aplicaciones multimedia, programas educativos, juegos y más, puede descargar fácilmente gratuito de Google Play Market.

    Para determinar, mejor Android O Windows Phone en términos de la diversidad del contenido desarrollado por ellos, compare el número de aplicaciones y juegos que están disponibles para ambas plataformas en las tiendas de aplicaciones. Por lo tanto, Windows Phone Store tiene más de 120 mil aplicaciones y juegos diferentes. Y en Google Play Market contiene más de 700 mil solicitudes y juegos para Android. Como puede ver, el resultado en la cara es de 120 mil. Contra 700 mil. Pero es solo una declaración de números específicos. De hecho, parte de las solicitudes y juegos de Android presentados hoy en el mercado de Google Play, de baja calidad. El usuario instaló una aplicación en particular o un juego para Android, no puede estar seguro de que se inicie o funcionará correctamente. Para la incompatibilidad de Android de la aplicación o el juego con la versión de la plataforma o con componentes de hardware. dispositivo móvil - Es bastante habitual.

    A pesar de esto, la victoria volverá a asistir a Android, porque Google nunca ha posicionado su creación como un chip de la marca de élite. Para esta plataforma hay una gran cantidad de contenido diverso. Simplemente necesitas cerrar los ojos en algunas pequeñas cosas y, repetir, tener una buena aplicación antivirus.

    6. Servicio cartográfico

    Los mapas de Google Maps en 3D para Android es una obra maestra realmente maestra del gigante de búsqueda. Google Street View Street Ver característica implementada en Google Maps y Google Earth. Le permite ver las vistas panorámicas de las calles y ciudades de todo el mundo. Google Maps ya es un proyecto bastante maduro, en el que el gigante de búsqueda ha invertido mucho esfuerzo. Capitándose de proyectos cartográficos hoy para hacerse mejor que los mapas de Google, tendrá que trabajar seriamente duro. Volviendo a revisión comparativa Dos plataformas móviles, notamos que con Google Maps en 3D para Android, es mucho más conveniente para trabajar, en lugar de con los mapas Nokia, preinstalados en teléfonos inteligentes Windows Phone 8.

    El servicio cartográfico es otra victoria de Android.

    7. Almacenamiento dinero electrónico

    Ambas plataformas móviles admiten el sistema NFS, que se usa, en particular, para llevar a cabo pagos sin contacto, cuando paga por bienes o servicios en la salida, trayendo al terminal teléfono móvil Con una cuenta bancaria activa en la versión electrónica.

    Para almacenamiento dinero Google ha desarrollado el sistema de pago electrónico de Google Wallet. A través del sistema NFS instalado en el teléfono inteligente, y la aplicación especial de Android desde google Systems Los usuarios de Wallet pueden pagar por bienes y servicios en salidasdonde se proporcionan pagos sin contacto. Sin embargo, este proyecto es extremadamente popular de empresas de Google no consiguió.

    La billetera electrónica para Windows Phone tampoco es un chip particularmente popular, pero esto no restó por su conveniencia. Él puede combinar todo tarjetas bancarias Usuario. Por lo tanto, en el almacenamiento de dinero electrónico, la victoria se otorga con Windows Phone.

    Resumiendo ...

    Muchas fichas que cuentan con Android, y Windows Phone son extremadamente similares. Este es el control de voz de Google ahora para Android contra Dígame para Windows Phone, respectivamente, musical google Services Música contra la música de Xbox, y enlaces de mensajes y videos Google Hable contra Skype.

    Sumando la victoria de las plataformas móviles sobre los temas considerados, observamos la Victoria firme y sostenible de Android - 5 contra 2.

    Por lo tanto, la plataforma de Windows Phone ganó solo dos veces, en la seguridad, la estabilidad del trabajo y una billetera conveniente para almacenar dinero electrónico. La interfaz, la capacidad de configurar la plataforma para las preferencias del usuario, multitarea, más de 700 mil. Aplicaciones y juegos desarrollados, el mejor servicio cartográfico, como puede ver, esta es una ventaja de Android bastante considerable.

    Android es una plataforma móvil en la que se plantean soluciones exitosas y fallidas. Esta es una plataforma para los entusiastas, para los verdaderos conocedores de libertad de acción e investigadores de diversas posibilidades de tecnologías móviles.

    Windows Phone es un tipo de analógico iOS. Esta plataforma también tiene un creador eminente, la base de sus principios sentó la imagen, la estabilidad, la gracia y la suavidad en el trabajo, la tutela del usuario y provisión máxima Su seguridad. Dejar incluso en detrimento de su desarrollo integral.

    Última actualización: 12/04/2017

    UWP (plataforma universal de Windows) Es una plataforma unificada para crear y ejecutar aplicaciones en Windows 10 y Windows 10 Mobile.

    UWP se ha convertido en el resultado de la Folección de tecnologías anteriores. Por lo tanto, con la liberación de Windows 8, se introduce una nueva plataforma arquitectónica para aplicaciones: Windows Runtime (WinRT), que permitió ejecutar aplicaciones en el llamado Modo moderno (metro) en escritorios, tabletas. Luego, con Windows 8.1 y Windows Phone 8.1, esta tecnología ha ganado el desarrollo, apareció " aplicaciones universales"Puede ejecutar Windows 8.1 y WP8.1 inmediatamente. Y en julio de 2015, el nuevo sistema operativo Windows 10 publicado oficialmente. Utiliza la plataforma UWP, que es el desarrollo del tiempo de ejecución de Windows.

    Como sugiere el nombre de la plataforma, es universal, universal para todos los dispositivos de los ecosistemas de Windows 10. Y estos son fragmentos, tabletas, dispositivos móviles, dispositivos IOT (Internet de las cosas), Xbox, dispositivos HUB de superficie. Y la aplicación UWP puede funcionar por igual en todas estas plataformas si Windows 10 está instalado en ellas.

    ¿Por qué UWP?

    La programación bajo UWP lleva una serie de ventajas:

      Distribución de latitud. En este momento (abril de 2017), Windows 10 ya ha sido instalado por más de 400 millones de dispositivos. En los escritorios de Windows 10 ya ha estado por delante de Windows 8 / 8.1.

      Soporta una amplia gama de dispositivos.. Escritorios, tabletas, teléfonos inteligentes, placas de cubo de superficie grandes, diversos dispositivos IOT, en la perspectiva del dispositivo de realidad virtual de Hololens: el círculo de los utensilios, en el que Windows 10 puede funcionar es realmente amplio.

      Apoyo idiomas diferentes y tecnologías de programación. Las aplicaciones de UWP se pueden crear usando idiomas como Visual C ++, C #, Visual Basic., JavaScript. Como tecnología para crear una interfaz gráfica de Visual C ++, C # y Visual Basic Use XAML, Javascript utiliza HTML. Además, C ++ puede usar DirectX en lugar de XAML. Que son tecnologías bastante comunes y familiares.

      Tienda de aplicaciones y facilidad de distribución.. Windows Store es un excelente lugar para distribuir aplicaciones UWP, tanto pagadas como gratis. Las capacidades de la plataforma y tienda de Windows La tienda le permite usar diferentes formas de monetización. Por ejemplo, puede integrarse en los bloques de la aplicación para mostrar la publicidad a través de varios SDK. Puede distribuir una tarifa específica, y el pago puede configurarse de manera flexible. Si es necesario, puede crear la provisión de una versión de prueba, después de lo cual el usuario puede decidir, comprar una solicitud o no. Y también puede monetizar el modelo de Freemium, en el que la aplicación está condicionalmente gratuita, y los servicios separados dentro de la solicitud se proporcionan por una tarifa específica. Además, todas estas capacidades de monetización se realizan en las herramientas SDK incorporadas.

      Capacidades de plataforma ricas. La UWP herede que Windows Tiempo de ejecución desde Windows 8.1 y al mismo tiempo proporciona muchas características nuevas, como, las oportunidades más ricas para la integración con la nube, utilizando cortana, sistemas de notificación en Win10 y mucho más.

    Lo que se necesita para desarrollar bajo UWP

    Para la programación bajo UWP, se requiere Windows 10. Todos los demás sistemas operativos como Windows 8.1 / 8/7, sin mencionar Windows XP, ¡no son adecuados!

    También se requiere comunidad de Visual Studio 2017. Este es un entorno de desarrollo gratuito de todas las funciones que se puede descargar desde un sitio web oficial en https://www.visualstudio.com/downloads/download-visual-studio-vs.

    También puedes usar la versión vs 2015, y todo el resto. versión anterior Visual Studio - 2013, 2012, 2010, etc. Con UWP no funciona.

    Al instalar Visual Studio 2017 en el programa del instalador, debe marcar el elemento correspondiente:

    Antes de comenzar a crear aplicaciones, asegúrese de que la opción apropiada para desarrolladores esté instalada en Windows 10 en Windows 10:

    Y tener instalado Windows 10 y Visual Studio 2017, puede comenzar a desarrollar aplicaciones.

    Querido Habrazchan!

    Me gustaría tender a informarle sobre una de las innovaciones más interesantes en mi opinión. Será sobre el desarrollo simultáneo de aplicaciones para Windows 8 y Windows Phone, es decir. Pro aplicaciones Universal Windows Platform.

    Microsoft Platform cubre una amplia gama de dispositivos, desde teléfonos inteligentes y tabletas hasta computadores de escritorio y el juego Console Xbox One, y es bastante natural que el desarrollador quiera minimizar los esfuerzos al crear solicitudes para todos los factores de forma. En las plataformas de la competencia hay una gran diferencia entre las aplicaciones de escritorio y móviles (a medida que trabajan bajo el control de varios sistemas operativos), en donde aplicaciones móvilesDiseñado para un teléfono inteligente puede funcionar en dispositivos de tabletas, lo que a menudo conduce a la insatisfacción del usuario debido a una interfaz de usuario de muy alta calidad.

    En este momento, Microsoft vino a unificar todas las plataformas (Windows Phone, Windows 8, Xbox One) desde el punto de vista API, y permitir que el programador maximice el código general al crear aplicaciones, al tiempo que conserva la posibilidad de usar varios diseños para varios diseños Factores de forma. Lea más sobre cómo se implemente esto actualmente, lea a continuación.

    Como las aplicaciones de Windows + Teléfono solían ser creadas.
    Hasta hoy, para crear aplicaciones con un código compartido para Windows y Windows Phone, tuvo que usar la biblioteca portátil (biblioteca portátil) para resaltar un código común responsable de acceder a los datos y la lógica empresarial, y varios proyectos para la UI. Más dicho enfoque se describe en un curso especial en Microsoft Virtual Academy, o. Además, debido a la diferencia en la API de Windows 8 y Windows Phone, contabilizamos parte del código para que depender de la plataforma.
    Aplicaciones universales de Windows
    En la conferencia de construcción, se anunciaron las siguientes innovaciones:
    • La API de Windows RT se utilizará en la nueva versión de Windows Phone 8.1 Esto significa que aproximadamente el 90% de las llamadas del sistema entre Windows 8.1 y Windows Phone 8.1 serán comunes. Además, el lenguaje de marcado XAML también se unificó entre las plataformas. En otras palabras, las aplicaciones de Windows Phone 8.1 usarán Windows XAML, no Silverlight. Si necesita compatibilidad, para Windows Phone, aún puede desarrollarse utilizando Silverlight, incl. Usando nuevas características, pero este es un tema para un artículo separado.
    • En Visual Studio 2013 actualizará 2 aparecerá nueva plantilla Proyecto Para aplicaciones unificadas de Windows. Esta plantilla crea varios proyectos para Windows y teléfono, y el tercer proyecto "compartido" en el que se realiza todo el Código General. En este caso, un proyecto compartido.
      puede contener no solo código, sino también en XAML Markup, recursos compartidos, imágenes, etc. Este proyecto no se compila en una biblioteca separada, y se divide entre dos proyectos de plataforma en el nivel de inclusión textual en la etapa de compilación. Esta plantilla se puede utilizar para desarrollar en C # / XAML, C ++ / XAML o HTML / JS.
    • Si desea seleccionar una parte del código independiente de la plataforma en una biblioteca separada dividida entre múltiples aplicaciones, entonces aún puede usar la biblioteca portátil en la que se puede incluir el marcado XAML.. Las bibliotecas portátiles se pueden usar para desarrollarse en C # o Visual Basic.
    • Compatibilidad binaria entre plataformas.. Las aplicaciones de Windows 8 y Windows Phone todavía se distribuirán a través de las tiendas apropiadas, y el desarrollador deberá crear y cargarlas a cada una de las tiendas de los paquetes de aplicaciones (aunque Windows Phone 8.1 ahora usará el mismo formato.appx como Windows 8. sin emabargo en Windows y Windows Phone Tiendas, se utilizarán identificadores de aplicaciones uniformes.Eso permitirá implementar escenarios. solicitud de compra unificada para su uso en todas las plataformas..
    • Xbox One Aplicaciones En la versión actual de Visual Studio Update 2, no se ajusta tan bien a la historia general, aunque se ha mostrado el informe plenario aplicación universal Khan Academy usando Kinect corriendo en Xbox y Windows (Sí, Kinect V2 será compatible con las aplicaciones de Windows Store, pero este es nuevamente el tema para un artículo separado). Desarrollo para Xbox One actualmente asumido a HTML / JS / CSS y C ++
    Por lo tanto, ahora hay una oportunidad conveniente para que los desarrolladores creen aplicaciones para las plataformas de Windows y Windows Phone, que contienen una cantidad significativa de código común, con la posibilidad de personalizar el diseño para diferentes plataformas para maximizar la satisfacción del usuario.
    Universal Hello World.
    Considere un pequeño ejemplo de la creación de una aplicación universal. La estructura del proyecto en la actualización 2 de Visual Studio 2013 se ha cambiado, y ahora se encuentra en la sección Sección de la tienda de la ventana, ambas aplicaciones para Windows y Windows Phone y Universal Aplicaciones y bibliotecas.

    La aplicación universal recién creada se calculará en la plataforma de actualización de Windows Phone 8.1 y Windows 8.1. Al mismo tiempo, en la sección de la aplicación Windows Phone, las plantillas de Proyecto de Windows Phone están disponibles, según Silverlight, que le permitirá crear aplicaciones para versiones tempranas Plataformas, pero es imposible usar las posibilidades de las aplicaciones universales.

    Después de crear una aplicación universal vacía, obtenemos la siguiente estructura que consta de tres proyectos: un proyecto para cada plataforma y proyecto compartido general:

    Nota:

    • De forma predeterminada, el diseño de páginas (XAML) para las plataformas está separado por diferentes proyectos. Sin embargo, en casos simples, puede usar archivos XAML comunes para todas las plataformas si está seguro de que su diseño estará bien adaptado a diferentes permisos, desde teléfonos inteligentes hasta escritorio. Al mismo tiempo, muchos elementos de control incrustados (por ejemplo, GridView) pueden adaptarse y cambiar su apariencia dependiendo de la plataforma.
    • Si tiene un proyecto de Windows o Windows de Windows, puede crear una aplicación universal según ello seleccionando el elemento correspondiente en el menú contextual. Al mismo tiempo, el proyecto se transformará en la misma estructura de tres proyectos, y puede transferir los archivos de la aplicación al proyecto general para compartir.
    • En el proyecto distribuido, puede incluir enlaces a bibliotecas (referencias), mientras que estos enlaces se agregarán a ambos proyectos (vemos un enlace compartido en los enlaces de cada uno de los proyectos de la plataforma). Si algunas bibliotecas están disponibles solo para una de las plataformas, aún podemos usar la funcionalidad apropiada en el Código General, lo rodeando las directivas de compilación de #FDEF. Visual Studio es tan cómodo que IntelliSense funcionará, advirtiéndonos que el enlace está disponible solo en una de las plataformas.
    • Si extendemos el código XAML a un proyecto común, entonces en el Editor de XAML, la desplegable está disponible para cambiar la plataforma, y \u200b\u200bpodemos editar visualmente el diseño de la página de ambos en el modo de teléfono y en el modo Tablet / Desktop.

    En la mayoría de los casos, desea dividir el código entre las plataformas, trasladó todo lo que sea posible en el proyecto compartido. En nuestro caso, podemos transferir mainpage.xaml de uno de los proyectos a un proyecto compartido, y eliminarlo en proyectos de plataforma, ya que en nuestro caso, el diseño de la página no difirrá de la plataforma a la plataforma:

    ¡Hola Mundo!
    Por lo tanto, obtuvimos una solicitud universal, el código y el diseño de los cuales están completamente en el proyecto compartido.

    En camino a aplicación real - Visor de fotos.
    Intentemos intentar convertir nuestra aplicación World Hello en algo útil, por ejemplo, en las mejores fotos de Flickr. Flickr proporciona fotos de transmisión RSS, por lo que no es necesario determinar la fuente de datos apropiada de la fuente de datos (para la simplicidad, la carga RSS se hace no asíncrona, no es necesario hacerlo en proyectos reales):

    Código para recibir imágenes de Flickr

    clase pública Flickr (lista Lista \u003d nueva lista (); Public Flickr () (var xdoc \u003d xdocument.load ("http://api.flickr.com/services/feeds/photos_public.gne"); xnamespace xn \u003d "http://www.w3.org/2005/atom "; var res \u003d de z en xdoc.descendientes (Xn +" Entrada ") Sea L \u003d (de x en el enlace Z.Descendientes (xn +") donde x.Attribute ("rel"). Valor \u003d\u003d "( ! Lang: gabinete" select x.Attribute("href").Value).FirstOrDefault() where (l!=null) && (l!="") select l; foreach (var x in res) { list.Add(new BitmapImage(new Uri(x))); } } public List!} Imágenes (Lista de retorno;))


    En la página principal, use GridView adjuntos a esta fuente de datos. Para diferentes fotos de fotos. diferente tamañoUtilizamos la clave del archivo de recursos que determina el tamaño deseado de la foto.

    Diseño XAML de la página principal de la aplicación.



    Preguntar diferentes parámetros En un archivo de recursos, crearemos su archivo de recursos de recurso de recurso de recurso en cada uno de los proyectos de plataforma del siguiente contenido:
    150

    Y en conclusión, debemos conectar este archivo de recursos en la aplicación.xaml (que está en el proyecto compartido):

    App.xaml



    Como resultado, recibimos un par de aplicaciones para Windows 8 y Windows Phone, que muestran correctamente la galería de imágenes, teniendo en cuenta los detalles específicos de la plataforma.

    La aplicación de código fuente completa se puede obtener en GitHub.

    Moralidad
    Para crear nuevas aplicaciones en la plataforma de Windows 8 ahora mejor decisión utilizará aplicaciones universales. Si tiene una aplicación de Windows 8 existente, tiene sentido convertirse lentamente a una aplicación y puerto universal en Windows Phone 8.1. Las aplicaciones de Windows Phone 8 existentes se convierten en una aplicación universal más complicada (porque para una serie de operaciones, se utilizan otros conjuntos de API), lo hablaremos con usted. Finalmente, las aplicaciones universales para Windows Phone requieren la versión de Windows Phone 8.1, por lo que en el momento actual de tener una base de instalación lo suficientemente amplia, tiene sentido usar aplicaciones Silvelight 8.0

    ¿Te gustó el artículo? Compártelo