Contacts

Introduction à UWP. Windows Core OS - Plate-forme modulaire du futur

  • Programmation anormale,
  • Développement de site Web,
  • Développement sous Windows.
  • Il est donc tout à fait possible de commencer à se familiariser avec la nouvelle plate-forme. Permettez-moi de faire une petite excursion, décrivant certaines différences.

    Je vais commencer par le fait que les applications UWP ont quelque chose qui ne dispose pas d'applications Windows classiques - elles ont un modèle d'application. Quel est le modèle d'application? C'est une sorte de réglementation. La description de toutes les capacités de l'application est ses droits d'accès, méthode d'installation, mises à jour, stockage d'informations, etc.

    Les applications Store, tout comme les applications UWP ont un fichier manifeste, qui décrit toutes les fonctionnalités et droits de l'application. Ceci est un fichier package.AppxManifest. Il peut être modifié à la fois dans l'éditeur graphique et en tant que code XML. Screenshot Graphic Editor Voir ci-dessous.

    Éléments de contrôle

    Si vous vous en souvenez, il a récemment récemment dans Windows 8 et 8.1 était un panneau de charme - un panneau magique:

    Maintenant, au lieu de cela, il est utilisé plus familier aux développeurs de contrôles WPF:

    Ici, le nouveau contrôle est le contentdialog, qui bloque l'application, est approximativement identique à celui qu'il bloque sa MessageBox.
    De plus, l'UWP est plus familier à la navigation des développeurs WP:

    Ce qui peut sembler intéressant, c'est que certains contrôles peuvent avoir une apparence différente lors de l'affichage sur divers appareils. Mots simples, le contrôle peut sembler un peu, par exemple, lors de l'affichage sur un bureau et sur un appareil mobile.

    En général, je suppose que le développeur moyen a longtemps été utilisé dans une grande variété de contrôles. Le développement de nouvelles difficultés ne devrait pas causer.

    Développement de divers appareils

    Je vais essayer de démonter ce que le développeur sera inhabituel pour WPF. Par exemple, c'est que lors du développement des applications Windows 8.1, il était possible dans une solution de se développer simultanément et sous le téléphone et sous le bureau.

    Dans ce cas, 3 projets ont été créés. Les applications WP et WinRT ont stocké XAML Code de la "Viewer" et du code spécial sous l'appareil, et le projet général a enregistré un code XAML commun et un code commun C # dans le projet global.

    Maintenant, comme la plate-forme UWP est universelle, alors pour chaque type d'appareils, vous pouvez créer un dossier dans lequel vous pouvez mettre une "vue" - c'est-à-dire Fichier XAML avec conception sous les paramètres de périphérique.

    Cycle de la vie

    Il y a une vieille blague sur la formule-1: "Ralph Schumacher a deux positions de la pédale - activée et désactivée. Le reste des dispositions peut être négligé. "

    Cette blague, je peux une petite applications classiques sélecticulaires. Ils travaillent ou ne fonctionnent pas. Dans les applications de magasin, tout est un peu différent. Outre les états "activés / off", il existe également un état intermédiaire "suspendu". Le cycle de vie des applications 8.x et UWP est affiché dans l'image suivante:

    Déclencheurs et tâches de fond

    Applications .NET peut être des fichiers exécutables ou des services / services. Ce sont des types d'applications complètement différents. C'est-à-dire qu'il ne peut y avoir de tel que l'application EXE, mais cela fonctionne en arrière-plan. Non, bien sûr, l'application peut fonctionner dans le plateau. Mais en fait, il s'avère qu'il est courant et vient de rouler.

    En ce qui concerne les applications 8.x et UWP, elles peuvent contenir des tâches de fond. Les tâches de base sont un peu de service. C'est-à-dire que l'application peut ne pas fonctionner, mais une tâche sera effectuée dans le système. De plus, la tâche d'arrière-plan peut «attraper» tout événement dans le système du système de déclenchement.

    L'un des déclencheurs les plus populaires est Systemtrigger.. En utilisant, l'application peut effectuer n'importe quel code lorsque des événements se produisent comme: l'apparence ou la perte d'Internet, modifier l'état du réseau, la connexion ou la désactivation de l'utilisateur, l'obtention de SMS, modifier la zone d'horloge, etc.

    Aussi assez populaire Timrétrigger. et Maintenancetrigger.. Les deux déclencheurs effectuent n'importe quel code avec une fréquence à une certaine période. L'intervalle de temps doit avoir au moins 15 minutes. La différence est que TimeRigger nécessite l'enregistrement sur l'écran de blocage et maintenancetrigger-y est nécessaire pour ne pas fonctionner de la batterie, mais du réseau.

    Beaucoup de nouveaux déclencheurs sont apparus dans UWP. Prendre, par exemple, un tel déclencheur intéressant comme MediaProcessingTriggerqui permet à l'application de recoder le multimédia dans le cadre de la tâche d'arrière-plan.

    En utilisant des bibliothèques

    Si vous avez utilisé les bibliothèques DLL dans des applications classiques, dans les applications 8.x et UWP, vous pouvez utiliser à la fois PCL et le composant WinMD Runtime. Quelle est la différence?

    PCL (la bibliothèque de classe portable) peut être ajoutée aux applications de différentes plates-formes. Et sous le cadre .NET de différentes versions et sous Windows 8.x et sous WP, sous UWP et même sous l'application IOS / Android, Xamarin. C'est-à-dire que cette bibliothèque vous pouvez pousser du code de la plate-forme commune.

    WinMD ne peut être utilisé que sous 8.x ou UWP. Indépendamment de la langue sur laquelle les applications sont écrites, elles peuvent travailler avec WinMD. Mais Winmd lui-même, s'il contient une informatique complexe, il est préférable d'écrire sur C ++ pour obtenir la meilleure performance.

    Cependant, lorsque vous développez sous UWP, vous pouvez créer une bibliothèque de classes (DLL).

    Travailler avec des données

    Quelle est la différence entre les applications UWP, il s'agit donc de ne pas fonctionner directement avec des bases de données. C'est-à-dire que ces bases de données, comme, Say SQL Server ou Oracle, situées sur le serveur du serveur, ne seront pas disponibles pour vous. Cependant, il serait étrange que l'utilisateur téléchargerait l'application à partir du magasin et que l'application commencerait à fonctionner avec la base de données SQL Server située sur le serveur sur le réseau local. Mais vous pouvez travailler avec des données à l'aide de services Web. Il est possible d'utiliser ouaklovsky Connector / Net pour les bases de données MySQL, mais cela ne prend pas en charge SSL pour le moment et il n'est donc pas particulièrement intéressant. Il vaut mieux ne pas dévier du concept d'utilisation de services pour accéder aux données.

    Pour stocker des informations à l'intérieur de l'application, vous pouvez utiliser SQLite.

    Stockage des paramètres d'application et fonctionnent avec des fichiers

    Les paramètres d'application du magasin sont possibles non seulement sur l'appareil, mais également dans le cloud. Ainsi, si vous exécutez l'application sur différents périphériques, les paramètres seront les mêmes partout.

    Le prochain petit extrait d'épargne sauve la quantité d'appel de code dans le nuage:

    Intemplés \u003d 0; Objet roams \u003d windows.storage.applicationdata.current.roamingsettings.values \u200b\u200b["Times"]; Si (erre! \u003d null) TimesCount \u003d (int) erra; TimesCount ++; Windows.storage.applicationdata.current.roamingsettings.values \u200b\u200b["Times"] \u003d TimesCount;
    Si vous remplacez windows.storage.applicationdata.current.roamingsettings sur windows.storage.applicationdata.Current.Localsettings, alors le paramètre sera enregistré localement sur l'appareil.

    Les paramètres peuvent être disposés à la fois dans les paramètres composés et dans des conteneurs. Les fichiers de la même manière que les paramètres peuvent être stockés à la fois sur l'appareil dans le dossier local et dans le cloud. Mais à part cela, il est possible de stocker des fichiers dans un dossier temporaire qui, si nécessaire, peut être nettoyé par le système - ApplicationData.Temporaryfolder.

    En outre, vous pouvez accéder au dossier à contenir dans l'application à l'aide de
    Windows.ApplicationModel.Package.Current.Installationdlocation

    L'accès aux fichiers stockés sur des disques est également organisé par un modèle spécial. Le contenu des dossiers de documents, de photos, de vidéos et autres peut être obtenu à l'aide de la classe CownowFolders, mais dans ce cas, l'installation d'autorisations dans le manifeste est requise. L'accès à tout autre dossier n'est possible que si l'utilisateur sélectionne le dossier lui-même pendant le fonctionnement avec l'application. Les dossiers visités peuvent être enregistrés afin de redémarrer l'application de ne pas forcer l'utilisateur à effectuer des actions inutiles.

    Var folderpicker \u003d nouveau windows.storage.pickers.folderpicker (); Folderpicker.filetypefilter.add (". JPG"); Folderpicker.filetypefilter.add (". JPEG"); Folderpicker.filetypefilter.add (". PNG"); folderpicker.suggestedstartlocation \u003d windows.storage.pickers.pickerlocaliseur.picturesLibrary; Folderpicker.settanesIdentifier \u003d "Picker2"; Windows.storage.storagefolder LastFolderder \u003d Await folderpicker.picksingleFolderAsync (); Si (dernièrefolder \u003d\u003d null) retour; String mrutokenscache.storage.accesscache.storageapplicationPermissions.mostréstryuséIngs.add (dernier fololder);
    Vous pouvez obtenir après le dernier dossier sauvegardé comme celui-ci:

    String mrufirstToken \u003d StorageApplicationPermissions.MostréstryéensibiliséeList.trises.firstTordefault (). Jeton; LastFolderder \u003d attendre StorageApplicationPermissions.mostréstryDeRestryDeReDeDolderAsync (mrufirstToken);

    Liaison de données

    Dans les applications WPF et dans les applications UWP, ainsi que pendant le développement sous 8 x, vous pouvez utiliser des liaisons de données - (liaison). Mais les fixations compilées sont apparues dans UWP - (x: Bind) dans quelle différence? Compilé je travaille beaucoup plus vite et ils sont formés / ils sont vérifiés lors de la compilation et non lors du lancement de l'application. Ils sont également strictement typés.

    En savoir plus ici.

    À propos de manuel

    Avec ce tutoriel, vous apprendrez la programmation à l'aide de la boîte à outils WXWidgets. À la fin de chaque chapitre, vous trouverez des liens vers d'autres directives.

    wxwidgets.

    wXWidgets est un ensemble d'outils permettant de créer une interface utilisateur graphique (GUI) dans les applications C ++. Ceci est une boîte à outils open source multiplate-forme. Les applications WXWidgets fonctionnent sur toutes les principales plates-formes: Windows, UNIX et MAC. Le projet a été fondé Julian intelligent (Julian Smart) en 1992. Ceci est plus qu'un ensemble d'outils. Il fournit une grande variété de classes pour travailler avec des flux, des bases de données, des séquences de commandes, des paramètres de l'aide interactive et des applications. WXWidgets contient un grand groupe de widgets. Vous pouvez vous familiariser avec la communauté WxWidgets sur le site http://www.wxwidgets.org/.

    C ++ Langue de programmation

    C ++ L'une des langages de programmation les plus largement utilisés sur cette planète. La plupart des forfaits logiciels bien connus tels que MS Office, Macromedia Flash, Firefox, Photoshop et 3D Max sont écrits dessus. C ++ domine le monde des jeux pour PC. C'est l'une des langues de programmation les plus complexes. D'autre part, la programmation C ++ en 2007 diffère de la programmation en 1997. Beaucoup est devenu plus facile aujourd'hui.

    L'indice communautaire du programmeur TIBER affiche une part approximative des langages de programmation (informations ci-dessous comme en 2010 - env. SL-Alex). Java Taxis. C ++ est renversé du trône. Mais C ++ sert de base et au cours des prochaines décennies, il n'y a pas de menaces sérieuses pour lui. Nous pouvons clairement voir la spécialisation entre les langages de programmation. Java est principalement utilisée dans les projets d'entreprise et les programmes portables, C-KING dans la programmation système (OS, Pilotes de périphériques, petits programmes), PHP fermement fixé sur des sites Web de petite et moyenne taille, JavaScript est utilisé pour implémenter la partie client de l'application Web. .

    C / C ++ Les langues les plus couramment utilisées pour créer une interface graphique classique (interface utilisateur graphique (GUI)) pour les systèmes de bureau. Voici un excellent expliquant pourquoi Java ne détruira pas C ++ dans les années à venir.

    Programmation multiplateforme

    Aujourd'hui, la programmation multiplateforme est un mot à la mode. De nombreuses langues et bibliothèques veulent devenir multiplateforme. WxWidgets a été créé à l'origine comme un outil multiplatif. La plupart des développeurs choisissent de telles opportunités. Si possible, utilisez Web. Ou choisissez entre QT, WxWidgets, Swing ou SWT. Il y a aussi une telle chose que FLTK, mais ce n'est pas aussi populaire et ce n'est pas le meilleur choix. Dans mon pays, il y a une grande compagnie de chemin de fer. Cette société utilise un logiciel écrit sur Java et Swing. Ce choix est dû au fait qu'il est moins cher d'acheter de nouveaux équipements et d'écrire sur Java. En utilisant Java, la vitesse de développement augmente et le nombre de bugs est réduit. Bien sûr, un tel choix est correct. Mais lorsque nous écrivons un éditeur de texte sur Java, nous ne pouvons pas dire à nos clients, hey les gars, vous devrez acheter un autre 1 Go de mémoire. Dans une telle situation, Java peut nous aider. Quant à Qt, cette bibliothèque est le principal concurrent WxWidgets. Par conséquent, pour chaque tâche, vous devez utiliser l'outil correct - il s'agit de la solution la plus importante à n'importe quel programmateur et gestionnaire.

    Dans les applications et les jeux pour la plate-forme mobile, les diverses capacités des affichages sensoriels mobiles modernes sont conclues. Ce sont divers jeux, applications pour le travail, les loisirs, le développement, les clients de logiciels de services Internet utiles, etc.

    Vous trouverez ci-dessous un examen comparatif des fondations idéologiques de l'industrie mobile - Systèmes d'exploitation mobiles concurrents Android et Windows Phone. Ainsi, quels avantages et inconvénients peuvent être notés à partir de ces deux plateformes mobiles les plus populaires? Android ou Windows Phone - laquelle des plateformes est la meilleure?

    1. Interface

    La première chose qui se précipite dans les yeux vers n'importe quel utilisateur qui a pris le smartphone sur la base du téléphone Windows est des carreaux stylisés. Quelle est l'essence de ces tuiles? Ce sont des carreaux dites distincts (tuiles en direct), qui sont une sorte d'exclusivité de Microsoft, une caractéristique distinctive brillante de la plate-forme Windows Phone. Pourquoi ces tuiles "vivent-elles"? Les carreaux ne sont rien de plus que plusieurs widgets et étiquettes modifiés d'applications et de jeux avec cette caractéristique que leurs informations actuelles (prévisions météorologiques, taux de change, nouveaux messages, notifications de jeu, etc.) sont affichées directement sur la tuile.

    La plate-forme Android en termes d'interface peut aujourd'hui être appelée hardiment un classique propre. Prenant un nouveau smartphone Android dans les mains, l'utilisateur verra les étiquettes habituelles d'applications et de jeux, strictement alignée dans une rangée. Mais cet état de fait peut rapidement changer. Avec l'aide de diverses applications de lanceur, dans la diversité desquelles vous ne pouvez pas reprocher le magasin d'applications Android - Google Play Market, l'interface de la plate-forme peut être modifiée en quelques secondes sur tout goût d'utilisateur, sur n'importe quel papier peint à thème pour le bureau, y compris choisir un design intéressant avec des widgets. Affiche les applications actuelles et les informations de jeux.

    Alors, laquelle des plateformes est meilleure dans le plan d'interface? Bien sûr, beaucoup de tuiles vivantes de Windows Phone aimeront beaucoup, car cette idée de Microsoft mérite vraiment des éloges individuels. Cependant, vous pouvez installer n'importe quel chef-d'œuvre de concepteur du développeur d'applications de lanceur et modifier l'interface de la plate-forme au moins plusieurs fois par jour. Windows Phone n'a pas une telle opportunité, l'interface de cette plate-forme ne peut pas être modifiée. Virez des carreaux L'utilisateur observera tout le temps à l'aide d'un smartphone Windows Phone.

    Par conséquent, en termes d'interface, la victoire de la plate-forme Android est précisément pour sa disponibilité et sa ouverture pour des changements constants de l'apparence.

    2. Réglage de la plate-forme pour les préférences de l'utilisateur

    En termes de possibilité de configurer une plate-forme mobile pour les besoins des utilisateurs, les participants à l'examen - Android et Windows Phone - ont une position fondamentalement différente.

    Android est un système d'exploitation open source (noyau Linux), car ses options avec des ingérences de développeurs tiers, par exemple, des fabricants mobiles peuvent être beaucoup. La plate-forme Android est ouverte, il vous permet de définir vos paramètres non seulement aux fabricants de smartphones et de comprimés, mais également aux utilisateurs de modifier l'interface, d'installer toutes les applications et toutes les jeux, notamment en contournant Google Play Market, télécharger des applications et troisième. Jeux de fête - Trackers Torrent, sites dédiés aux sujets Android, etc.

    Obtenir les droits des racines sur Android ouvre des utilisateurs incroyables prospects - par exemple, tout jeu d'action avancé, qui est debout sur Google Play Market of Decent Money, l'utilisateur sera en mesure d'installer totalement gratuit en contactant les ressources tierces mentionnées ci-dessus.

    L'ouverture du code de la plate-forme Android permet d'être flexible, d'effectuer la plus large plage de tâches dans les intérêts de l'utilisateur, à l'aide d'une variété d'outils logiciels.

    Windows Phone est un système d'exploitation fermé qui ne fournit pas d'interventions dans son code. À cet égard, Microsoft a décidé de suivre le chemin d'Apple, limitant sa cervelle de toute intervention tierce. Windows Phone n'est pas configuré pour configurer la préférence de l'utilisateur. Le poids de l'utilisateur est de ne contenir que le fait que le logiciel gigant a été envisagé.

    Par conséquent, la deuxième victoire reçoit à nouveau Android.

    3. Sécurité et stabilité

    De l'avantage précédent de la plate-forme Android, il suit son tel manque de vulnérabilité de virus et de programmes malveillants. Très souvent, les ressources de haute technologie sur Internet mourront avec des informations selon lesquelles la prochaine application infectée par le virus infectée ou poursuivant la cible de dévaster le compte mobile des SMS à divers numéros payants aux différents numéros payants. Oui, cela se produit parfois et les employés de Google Play Market ont plus que de travailler et de s'améliorer. Ainsi, alors que l'utilisateur ne peut espérer que la vigilance de l'application anti-virus.

    Le freinage et l'instabilité de Android sont un autre inconvénient, ce qui est également une conséquence de l'ouverture du code de cette plate-forme.

    La situation avec le téléphone Windows en termes de sécurité et de stabilité est le contraire complet de la situation avec Android. La fermeture du code du téléphone Windows, prive cette plate-forme de flexibilité, mais cela fonctionne bien, stable, sans problèmes.

    Donc, dans la question de la sécurité et de la stabilité, la victoire ne peut être que pour le téléphone Windows. C'est la première victoire du frein du géant mou.

    4. Multitâche

    Android soutient multitâche - c'est certainement un avantage énorme de cette plate-forme. Dans cette affaire, Android pourrait même surpasser l'iOS - la plate-forme mobile iPhone et iPad, car le multitâche dans IOS n'a été implémenté que de la quatrième version de la plate-forme et de l'analyse multitâche Android existait depuis le début de la première version.

    Ainsi, sur Android, l'utilisateur peut exécuter plusieurs applications simultanément et basculer entre eux via le menu spécial "Applications récentes", qui affiche les 6 dernières applications. Si l'application ou le jeu ne fournit pas l'option Options, toutes les applications et les jeux en cours d'exécution seront suspendus à l'arrière-plan. Naturellement, il épuisera rapidement la batterie du smartphone. Mais ici il est peu probable que vous puissiez faire des plaintes à Android - pour la performance, vous devriez toujours payer. D'une autre façon.

    Le téléphone Windows ne prend pas en charge le multitâche.

    Donc, la prochaine, la troisième victoire d'Android.

    5. Applications de la plate-forme mobile

    Si vous regardez de la position du novice - une bouilloire complète, qui a acheté le premier smartphone de sa vie, la plate-forme Windows Phone sera dans une situation plus gagnante, car plus d'applications sont initialement préréglées ici. Par exemple, avec le nouveau smartphone, l'utilisateur est intégré à la plate-forme d'application Facebook Social Network Clients, Twitter et LinkedIn. Mais une telle petite appât ne tente pas les utilisateurs expérimentés, des amoureux avides de communications mobiles. Parce que pour la plate-forme Android, tout ce dont vous avez besoin - clients de réseaux sociaux et divers services Internet, organisateurs, widgets météorologiques et cours de devises, applications multimédia, programmes éducatifs, jeux et plus encore - vous pouvez facilement télécharger gratuitement auprès de Google Play Market.

    Pour déterminer, améliorer l'Android ou Windows Phone en termes de variété de contenu conçu pour eux, comparez le nombre d'applications et de jeux disponibles pour les deux plates-formes dans les magasins d'applications. Donc, Windows Phone Store compte plus de 120 000 applications et jeux différentes. Et sur Google Play Market contient plus de 700 000 applications et jeux pour Android. Comme vous pouvez le constater, le résultat sur le visage est de 120 mille. Contre 700 mille. Mais ce n'est qu'une déclaration de nombres spécifiques. En fait, une partie des applications androides et des jeux présentaient aujourd'hui sur Google Play Market, de qualité médiocre. Utilisateur en installant une application particulière ou un jeu pour Android, ne peut pas être sûr qu'il commence ou fonctionnera correctement. Pour Android, l'incompatibilité de l'application ou du jeu avec la version de la plate-forme ou avec les composants matériels du périphérique mobile est tout à fait habituel.

    Malgré cela, la victoire participera à nouveau à Android, car Google n'a jamais positionné son enclushild en tant que puce de marque d'élite. Pour cette plate-forme, il existe un très grand nombre de contenus divers. Vous avez simplement besoin de fermer vos yeux sur quelques petites choses et, répétez, avoir une bonne application anti-virus.

    6. Service cartographique

    Les cartes Google Maps en 3D pour Android est un très chef-d'œuvre du géant de la recherche. La fonction Google Street View Street Viewer est implémentée dans Google Maps et Google Earth Programs vous permet de visualiser une vue panoramique sur les rues et les villes du monde entier. Google Maps est déjà un projet plutôt mature dans lequel le géant de la recherche a investi beaucoup d'efforts. Les projets cartographiques concurrents deviennent aujourd'hui meilleurs que Google Maps, vous devrez travailler sérieusement. Revenant à l'examen comparatif de deux plates-formes mobiles, nous notons que de Google Maps in 3D pour Android est beaucoup plus pratique pour fonctionner, plutôt qu'avec Nokia Maps, préinstallée dans les smartphones de Windows Phone 8.

    Le service cartographique est une autre victoire Android.

    7. Stockage de l'argent électronique

    Les deux plates-formes mobiles prennent en charge le système NFS, qui est utilisée notamment pour effectuer des paiements sans contact - lorsque vous payez des biens ou des services dans la sortie, apportez un téléphone mobile au terminal avec un compte bancaire actif dans la version électronique.

    Google a mis au point le système de paiement électronique Google Wallet. Grâce au système NFS installé sur le smartphone et à l'application Android spéciale du système de portefeuille Google, les utilisateurs peuvent payer des biens et services dans les points de vente où des paiements sans contact sont fournis. Cependant, ce projet de Google n'a pas eu beaucoup de popularité.

    Le portefeuille électronique du téléphone Windows n'est pas non plus une puce particulièrement populaire, mais cela ne nuit pas à sa commodité. Il peut combiner toutes les cartes de carte bancaire. Par conséquent, dans le stockage de l'argent électronique, la victoire est attribuée avec Windows Phone.

    Résumer ...

    De nombreuses jetons qui se vantent Android et Windows Phone est extrêmement similaire. C'est le contrôle vocal de Google maintenant pour Android vs. Dites-moi pour Windows Phone et, en conséquence, Google Music Music Services contre la musique Xbox et les services de messagerie Google et de communication vidéo contre Skype.

    Résumé de la victoire des plates-formes mobiles sur les questions considérées, nous notons la victoire ferme et durable de Android - 5 contre 2.

    Ainsi, la plate-forme Windows Phone n'a gagné que deux fois - dans la sécurité, la stabilité du travail et un portefeuille pratique pour stocker de l'argent électronique. L'interface, la possibilité de configurer la plate-forme pour les préférences de l'utilisateur, multitâche, plus de 700 mille. Applications développées et jeux, le meilleur service cartographique - comme vous pouvez le constater, il s'agit d'un avantage d'Android très considérable.

    Android est une plate-forme mobile dans laquelle des solutions réussies et infructueuses sont soulevées. Il s'agit d'une plate-forme pour les passionnés, des véritables connaisseurs de la liberté d'action et des chercheurs de diverses possibilités de technologies mobiles.

    Windows Phone est une sorte d'analogique iOS. Cette plate-forme a également un créateur éminent, la base de ses principes a posé l'image, la stabilité, la grâce et la douceur dans le travail, la tutelle utilisateur et la sécurité maximale. Laisser même dans le détriment de son développement complet.

    Dernière mise à jour: 04/12/2017

    UWP (plate-forme universelle Windows) C'est une plate-forme unifiée pour créer et exécuter des applications sous Windows 10 et Windows 10 mobile.

    UWP est devenu le résultat de la folution des technologies précédentes. Ainsi, avec la libération de Windows 8, une nouvelle plate-forme architecturale pour les applications est introduite - Windows Runtime (WinRT), qui permettait d'exécuter des applications dans le mode dit moderne (métro) sur les ordinateurs de bureau, les tablettes. Ensuite, avec la sortie de Windows 8.1 et Windows Phone 8.1, cette technologie a été développée - "Applications universelles" est apparue, qui pourrait être lancée à la fois Windows 8.1 et WP8.1. Et en juillet 2015, une nouvelle OS Windows 10 a été officiellement publiée. Il utilise la plate-forme UWP, qui est le développement de Windows Runtime.

    Comme le suggère le nom de la plate-forme, il est universel - universel pour tous les périphériques de l'écosystème Windows 10. Et ce sont des ongles ordinaires, des tablettes, des appareils mobiles, des appareils IOT (Internet des objets), des dispositifs de moyeu de surface. Et l'application UWP peut fonctionner de manière égale sur toutes ces plates-formes si Windows 10 est installée dessus.

    Pourquoi UWP?

    La programmation sous UWP comporte un certain nombre d'avantages:

      Distribution de latitude. Pour le moment (avril 2017), Windows 10 a déjà été installé par plus de 400 millions d'appareils. Sur les ordinateurs de bureau de Windows 10 a déjà été en avance sur Windows 8 / 8.1.

      Soutenir une large gamme d'appareils. Des ordinateurs de bureau, des comprimés, des smartphones, de grandes plaques de moyeu de surface, divers appareils IOT, dans la perspective du dispositif de réalité virtuelle d'Hololens - le cercle des ustensiles, sur lesquels Windows 10 peut fonctionner est vraiment large.

      Soutien aux technologies de différentes langues et de programmation. Les applications UWP peuvent être créées à l'aide de langues telles que Visual C ++, C #, Visual Basic, JavaScript. En tant que technologie permettant de créer une interface graphique Visual C ++, une utilisation C # et Visual Basic Use XAML, JavaScript utilise HTML. De plus, C ++ peut utiliser DirectX au lieu de XAML. C'est des technologies assez courantes et familières.

      Magasin d'applications et facilité de distribution. Windows Store est un excellent endroit pour distribuer des applications UWP, payées et gratuites. La plate-forme Windows Store et les fonctionnalités de stockage eux-mêmes vous permettent d'utiliser différentes manières de la monétisation. Par exemple, vous pouvez vous intégrer aux blocs d'application pour afficher la publicité via divers SDK. Vous pouvez distribuer pour une taxe spécifique et le paiement peut être configuré de manière flexible. Si nécessaire, vous pouvez créer la fourniture d'une version d'essai, après quoi l'utilisateur peut décider, acheter une demande ou non. Et vous pouvez également monétiser le modèle Freemium, dans lequel l'application est gratuite et des services distincts dans la demande sont fournis pour une taxe spécifique. De plus, toutes ces capacités de monétisation sont fabriquées dans les outils SDK intégrés.

      Capacités de plate-forme riches. UWP Beaucoup hérite de Windows Runtime à partir de Windows 8.1 et fournit en même temps de nombreuses nouvelles fonctionnalités, telles que des opportunités plus riches d'intégration avec le nuage, à l'aide de Corttana, des systèmes de notification de Win10 et bien plus encore.

    Ce qui est nécessaire pour développer sous UWP

    Pour la programmation sous UWP, Windows 10 est requis. Tous les autres systèmes d'exploitation comme Windows 8.1 / 8/7, sans parler de Windows XP, ne conviennent pas!

    Visual Studio 2017 La communauté est également requise. Il s'agit d'un environnement de développement gratuit complet qui peut être téléchargé à partir d'un site Web officiel à l'adresse https://www.visualstudio.com/downloads/download-visual-studio-vs.

    Vous pouvez également utiliser la version VS 2015 et toutes les autres versions précédentes de Visual Studio - 2013, 2012, 2010, etc. Avec UWP ne fonctionne pas.

    Lors de l'installation de Visual Studio 2017 dans le programme du programme d'installation, vous devez marquer l'élément correspondant:

    Avant de commencer à créer des applications, assurez-vous que l'option appropriée pour les développeurs est installée dans Windows 10 dans Windows 10:

    Et avoir l'installation de Windows 10 et de Visual Studio 2017, vous pouvez commencer à développer des applications.

    Cher Habravan!

    J'aimerais avoir tendance à vous parler de l'une des innovations les plus intéressantes à mon avis. Il s'agira du développement simultané d'applications pour Windows 8 et Windows Phone, c'est-à-dire pro applications universelles de la plate-forme Windows.

    La plate-forme Microsoft couvre une large gamme d'appareils - de smartphones et de tablettes aux ordinateurs de bureau et à la console de jeu Xbox One, et il est tout à fait naturel que le développeur souhaite minimiser les efforts lors de la création d'applications pour tous les facteurs de formulaire. Sur des plates-formes concurrentes, il existe une énorme différence entre les applications de bureau et mobile (car elles fonctionnent sous le contrôle de divers systèmes d'exploitation), tandis que les applications mobiles conçues pour smartphone peuvent fonctionner sur des appareils de tablette, ce qui conduit souvent à un mécontentement de l'utilisateur en raison de non très élevée. Interface utilisateur de qualité.

    Pour le moment, Microsoft est venu à unifier toutes les plateformes (Windows Phone, Windows 8, Xbox One) du point de vue de l'API, et permet au programmeur de maximiser le code général lors de la création d'applications, tout en conservant la possibilité d'utiliser diverses conceptions pour diverses Facteurs de forme. En savoir plus sur la manière dont cela est actuellement implémenté - lu ci-dessous.

    Comme les applications de téléphone Windows + utilisées pour être créées
    Jusqu'à aujourd'hui, pour créer des applications avec un code partagé pour Windows et Windows Phone, dû utiliser la bibliothèque portable (bibliothèque portable) pour mettre en évidence un code commun chargé d'accéder à des données et à la logique commerciale, ainsi que divers projets d'interface utilisateur. Une telle approche est décrite dans un cours spécial sur Microsoft Virtual Academy ou. En outre, en raison de la différence dans l'API Windows 8 et Windows Phone, nous avons pris une partie du code pour rendre la plate-forme.
    Applications universelles Windows
    Lors de la conférence de construction, les innovations suivantes ont été annoncées:
    • Windows RT API sera utilisé dans la nouvelle version de Windows Phone 8.1 Cela signifie qu'environ 90% des appels système entre Windows 8.1 et Windows Phone 8.1 seront courants. De plus, la langue de balisage XAML était également unifiée entre les plates-formes. En d'autres termes, les nouvelles applications Windows Phone 8.1 utiliseront Windows XAML, pas Silverlight. Si vous avez besoin de compatibilité, pour Windows Phone, vous pouvez toujours développer avec Silverlight, incl. Utilisation de nouvelles fonctionnalités, mais c'est un sujet pour un article séparé.
    • Visual Studio 2013 Update 2 apparaîtra un nouveau modèle de projet Pour les applications Windows unifiées. Ce modèle crée divers projets pour Windows et Phone et le troisième projet «partagé» dans lequel l'ensemble du code général est placé. Dans ce cas, un projet partagé
      Peut contenir non seulement du code, mais également un balisage XAML, des ressources partagées, des images, etc. Ce projet n'est pas compilé dans une bibliothèque distincte et est divisé entre deux projets de plate-forme au niveau de l'inclusion textuelle au stade de la compilation. Ce modèle peut être utilisé pour développer sur C # / XAML, C ++ / XAML ou HTML / JS.
    • Si vous souhaitez sélectionner une partie du code indépendant de la plate-forme dans une bibliothèque distincte divisée entre plusieurs applications, vous pouvez toujours utiliser la bibliothèque portable dans laquelle le marquage XAML peut également être inclus. Les bibliothèques portables peuvent être utilisées pour développer sur C # ou Visual Basic.
    • Compatibilité binaire entre les plates-formes. Les applications Windows 8 et Windows Phone seront toujours distribuées dans les magasins appropriés et le développeur devra créer et télécharger sur chacun des magasins des packages de l'application (bien que Windows Phone 8.1 utilisera maintenant le même format.Appx comme Windows 8. pourtant dans les magasins Windows et Windows Phone, des identificateurs d'applications uniformes seront utilisés.qui permettra de mettre en œuvre des scénarios demande d'achat unifiée pour une utilisation sur toutes les plateformes.
    • Applications Xbox One Dans la version actuelle de Visual Studio Update 2, pas aussi bien dans l'histoire générale, bien que le rapport plénier ait été montré. universal app Khan Academy à l'aide de Kinect en cours d'exécution sur Xbox et Windows (Oui, Kinect V2 sera pris en charge dans Windows Store Applications, mais c'est à nouveau le sujet pour un article séparé). Développement de Xbox One actuellement supposé à HTML / JS / CSS et C ++
    Ainsi, il existe maintenant une opportunité commode pour les développeurs de créer des applications pour Windows et Windows Téléphone, qui contiennent une quantité importante de code commun, avec la possibilité de personnaliser la conception pour différentes plates-formes afin de maximiser la satisfaction des utilisateurs!
    Universal Hello World.
    Considérez un petit exemple de création d'une application universelle. Structure de projet dans Visual Studio 2013 Mise à jour 2 a été modifiée et maintenant dans la section Section de la boutique de la fenêtre disponible disponible à la fois des applications pour Windows et Windows Phone et Descriptions et bibliothèques.

    L'application universelle nouvellement créée sera calculée sur la plate-forme de mise à jour Windows Phone 8.1 et Windows 8.1. Dans le même temps, dans la section Application de téléphone Windows, les modèles de projet Windows Phone sont disponibles, basés sur Silverlight, qui vous permettront de créer des applications pour les versions de la plate-forme précoce - mais il est impossible d'utiliser des applications universelles.

    Après avoir créé une application universelle vide, nous obtenons la structure suivante composée de trois projets: un projet pour chaque plate-forme et projet général partagé:

    Noter:

    • Par défaut, la conception de la page (XAML) pour les plates-formes sont séparées par différents projets. Toutefois, dans des cas simples, vous pouvez utiliser des fichiers XAML communs pour toutes les plates-formes si vous êtes sûr que votre conception sera bien adaptée à différentes autorisations, du smartphone au bureau. Dans le même temps, de nombreux éléments de contrôle intégrés (par exemple, GridView) sont capables d'adapter et de modifier leur apparence en fonction de la plate-forme.
    • Si vous possédez un projet Windows ou Windows The Windows prêt à l'emploi, vous pouvez créer une application universelle basée sur celle-ci en sélectionnant l'élément correspondant dans le menu contextuel. Dans le même temps, le projet sera transformé en une même structure de trois projets et vous pouvez transférer les fichiers d'application au projet général pour leur partage.
    • Dans le projet distribué, vous pouvez inclure des liens vers des bibliothèques (références), tandis que ces liens seront ajoutés aux deux projets (nous voyons un lien partagé dans les liens de chacun des projets de plate-forme). Si certaines bibliothèques ne sont disponibles que pour l'une des plates-formes, nous pouvons toujours utiliser la fonctionnalité appropriée dans le code général, l'entourant des directives de compilation conditionnelle #Ifdef. Visual Studio est tellement confortable que IntelliSense fonctionnera, nous avertit que le lien n'est disponible que dans l'une des plateformes.
    • Si nous étendons le code XAML dans un projet commun, alors dans l'éditeur XAML, une liste déroulante est disponible pour commuter la plate-forme et que nous pouvons modifier visuellement la conception de la page du mode de téléphone et dans le mode Tablet / Desktop.

    Dans la plupart des cas, vous souhaitez diviser autant de code entre les plates-formes, déplacé tout ce qui est possible dans le projet partagé. Dans notre cas, nous pouvons transférer MAINPAGE.XAML de l'un des projets en projet partagé et supprimer des projets de plate-forme, car dans notre cas, la conception de la page ne diffère pas de la plate-forme à la plate-forme:

    Bonjour le monde!
    Ainsi, nous avons eu une application universelle, le code et la conception sont complètement dans le projet partagé.

    Sur le chemin de la vraie application - Photo Viewer
    Essayons de transformer notre application World Hello dans quelque chose d'utile - par exemple, dans les meilleures photos de Flickr. Flickr fournit des photos RSS-Stream, il n'est donc pas nécessaire de déterminer la source de données appropriée de la source de données (pour la simplicité, la charge RSS est faite non asynchrone, elle n'est pas nécessaire de faire dans de vrais projets):

    Code pour recevoir des images de Flickr

    classe publique Flickr (liste Liste \u003d nouvelle liste (); 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 dans xdoc.descendants (xn +" entrée ") Soit L \u003d (de x dans Z.Descendants (xn +" link ") où x.attribute (" rel '). Valeur \u003d\u003d "( ! Lang: Enceinte" 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!} Images (liste de retour;))


    Sur la page principale, utilisez GridView attachée à cette source de données. Pour différentes photos de différentes plates-formes, nous utilisons la clé à partir du fichier de ressources qui détermine la taille souhaitée de la photo.

    XAML Conception de la page principale de l'application



    Pour définir différents paramètres dans le fichier de ressources, créez votre fichier de fichier de ressources.xaml dans chacun des projets de la plate-forme comme suit:
    150

    Et en conclusion, nous devons connecter ce fichier de ressources dans l'app.xaml (qui se trouve dans le projet partagé):

    App.xaml



    En conséquence, nous recevons une paire d'applications pour Windows 8 et Windows Phone, qui affiche correctement la galerie d'images, en tenant compte des spécificités de la plate-forme.

    L'application de code source complète peut être obtenue sur GitHub.

    Moralité
    Pour créer de nouvelles applications sur la plate-forme Windows 8, la meilleure solution utilisera des applications universelles. Si vous avez une application Windows 8 existante, il est logique de convertir lentement une application universelle et un port sur Windows Phone 8.1. Les applications Windows Phone 8 existantes sont converties en une application universelle plus compliquée (car pour un certain nombre d'opérations, d'autres ensembles API sont utilisés), nous en parlerons avec vous. Enfin, des applications universelles pour Windows Phone nécessitent la version de Windows Phone 8.1, donc au moment actuel d'avoir une base d'installation suffisamment large, il est logique d'utiliser des applications Silvelight 8.0.

    Avez-vous aimé l'article? Partagez-le