Universal applications for Windows and Windows Phone. WxWidgets Guide: Introduction

Microsoft has been a pioneer in many industries. It is worth noting that the concept of “smartphone” and “communicator” also came to us from the brainchild of Bill Gates. The revolution began back in 1990. And it didn’t start with the iPhone (which wasn’t even close). In this article we will go through all versions of mobile platforms from Microsoft. Successful or failed? From Windows CE to . From Casio Cassiopeia to Nokia Lumia 1520.

Microsoft first turned its attention to the mobile market in 1990. It was then that Bill Gates wanted to expand the capabilities of his company and create a computer that would fit in your pants pocket. Two years later, in 1992, development of the first mobile OS from Microsoft, Windows CE, began. The work progressed extremely slowly and difficultly. The first version of Windows CE was released in 1996 as version 1.0. In fact, it was a heavily stripped-down version of Windows 95, but on a different kernel. Something like Windows RT. Interestingly, the first version of Windows CE was optimized for devices with 32 KB of RAM...

Until today, Windows CE (now Windows Embedded) is actively developed and promoted in a separate way from smartphones. But it was with Windows CE that the history of portable communicators, now known as smartphones, began.

Windows CE served as an excellent basis for the new operating system for mobile devices - Pocket PC. This platform represents a real classic from Microsoft and, it is worth noting, there are still many devices in the world with two words burning on their bodies - Pocket PC.

As a platform, Pocket PC fell into oblivion in 2003, when the first Windows Mobile 2003 was released. But Microsoft loved the name "Pocket PC" and used it as a brand in Windows Mobile devices. The Pocket PC was finally forgotten in 2007 with the release of Windows Mobile 6.

The beginning of a new generation of mobile computers from Microsoft. The system now includes applications for both entertainment (graphics editor, Windows Media Player) and for professional work. IE has been significantly improved, adding JavaScript support and being more optimized for “heavy” pages. The system also acquired support for wireless standards Bluetooth, Wi-Fi, IPSec/L2TP, IPv6.

WM2003 was released in four editions - Premium for high-end devices, Professional with a more stripped-down set of applications for more affordable devices, Pocket PC Phone Edition (it had the function of answering a call by sending SMS) and Windows Mobile 2003 for Smartphone. The first Jawbreaker game appeared in the same WM2003.

This is not a separate version of the operating system, but an update that was aimed at improving system performance and optimizing it for new types of devices. For example, WM2003SE received support for 640x480 screens, a function for changing screen orientation, and a WiFi network protection system.

Released May 10, 2005. A whole new level of Windows Mobile. The system received a number of new, previously unavailable features. The user interface has been optimized for a more comfortable joystick experience. The smartphone has become easy to operate with one hand, and a QWERTY keyboard has also appeared. In this version of Windows Mobile 5, the word Pocket begins to gradually disappear. For example, the office suite was renamed from Pocket Office to Office Mobile.

The office suite includes a new application - PowerPoint Mobile. All office applications now work with full-featured classic files from the desktop version of Office, and the Pocket format has been abandoned. Communicators running Windows Mobile 5 were able to work in 3G networks, supported USB 2.0, Active Sync 4.0 and had built-in Windows Media Player 10.

The system was presented on February 12, 2007 in Barcelona. It was on this operating system that the first touchscreen smartphone ran, which recognized finger presses rather than pen presses. It was called HTC Touch. Windows Mobile 6 boasted an encryption system for memory cards, system sounds, as well as a Windows Update system for automatically updating the system. There was also close integration with Live services.

For the first time in the history of Windows Mobile, the OS has a Marketplace for developers and the creation of applications by them. The office suite was supplemented by Office Exchange and One Note. It was in Windows Mobile that support for the 800x480 screen resolution, which is used in current Windows Phones, appeared.

It was 2008. Microsoft is releasing a small update to Windows Mobile 6.1. It brought new features to Internet Explorer - zoom and page overview. Files on the device could be encrypted and the task manager appeared. SMS correspondence has taken on a new look. In the Windows Mobile 6.1 edition for smartphones, it became possible to change the user interface to the proprietary “carousel” one.

The latest OS is called Windows Mobile. The system was announced at Mobile World Congress in Barcelona in 2009. The interface has been significantly redesigned. The lock screen displayed little information about events in the system. Elements on the Today screen have been completely redesigned for finger control.

Internet Explorer was updated to the sixth version, and Windows Marketplace for Mobile became available to users, from where they could download applications for their device. The Windows Mobile 6.5.3 update brought support for capacitive screens, multi-touch, and interface optimization for new types of sensors.

Revolution of the mobile operating system from Microsoft. At the time of the release of Windows Mobile 6.5, Microsoft realized that the battle for the mobile market was partially lost. Competitors Apple and Google began to rapidly conquer the market, and WM's position was falling. There was an urgent need to change something, and Microsoft decided to create everything anew, releasing a fundamentally new product, now known as Windows Phone. Windows Phone 7 was announced at MWC.

The big disadvantage of Windows Phone 7 was the lack of the ability to upgrade from Windows Mobile 6.5.3, and this is not surprising, because everything was started anew. The system received a radically different interface, never seen before, a full-fledged application store, a closed file system, new IE, new Office, synchronization with Zune and integration with Xbox.

Exactly a year later, a major update to Windows Phone 7.5 Mango was released. More than 500 changes and innovations have significantly accelerated and improved the operation of the system. There is a Russian language, a Russian keyboard and support for working with the front camera. Another year later, in the same February, Windows Phone 7.5 Tango was released, which made it possible to release budget devices with an 800 MHz processor and 256 MB of RAM. The Nokia Lumia 610 became such a device.

At the end of 2012, Microsoft announced the release of Windows Phone 7.8 - the next update to Windows Phone 7.5. The update was created to extend the life cycle of Windows Phone 7 devices, since they could not be updated to Windows Phone 8.

7.8 expanded the graphical interface, brought three tile sizes, new accent themes, and dynamic Bing wallpapers. For Nokia users, with the installation of Windows Phone 7.8, applications have become available that expand the functionality of the system - setting ringtones on the screen and transferring files via Bluetooth.

Windows Phone 8

The completely new kernel of Windows Phone 8 doomed Windows Phone 7 users to the inability to update to the latest version of the OS and install applications that were created exclusively for Windows Phone 8. Compared to Windows Phone 7, the eighth version has become significantly better. The system now has a "Children's" function, Bluetooth transmission, support for FullHD (GDR3 update) and 720p screens, multi-core processors, 2GB of RAM, NFC chips, tight integration with SkyDrive, new IE10, screen orientation locking, "B" mode car" and many other updates. A significant innovation is the availability of an over-the-air update function and the absence of the need for additional synchronization software. Zune users were extremely unhappy with the app. At the moment, Windows Phone 8 GDR3 is the current version of the OS.

Windows Phone 8.1

A version of the operating system that is under development and should be announced in early 2014. According to rumors, it will feature a notification center, as well as a merger with Windows RT.

Applications and games for the mobile platform offer the most diverse capabilities of modern mobile devices with touch screens. These are various games, applications for work, leisure, development, software clients for useful Internet services, etc.

Below is a comparative overview of the ideological foundations of the mobile industry - the competing mobile operating systems Android and Windows Phone. So, what are the advantages and disadvantages of these two most popular mobile platforms? Android or Windows Phone - which platform is better?

1. Interface

The first thing that catches the eye of any user who picks up a Windows Phone-based smartphone is the stylized tiles. What is the point of these tiles? These are disguised so-called Live Tiles, which are a kind of exclusive from Microsoft, a striking distinctive feature of the Windows Phone platform. Why are these tiles “alive”? Tiles are nothing more than slightly modified widgets and shortcuts to applications and games with the peculiarity that their current information (weather forecast, exchange rates, new messages, game notifications, etc.) is displayed directly on the tile.

In terms of interface, the Android platform today can safely be called a pure classic. Picking up a new Android smartphone, the user will see the usual shortcuts for applications and games, strictly lined up. But this state of affairs can quickly change. With the help of various launcher applications, the diversity of which cannot be reproached by the Android application store - Google Play Market, the platform interface can be changed in a matter of seconds to any user taste, to any theme of desktop wallpaper, including choosing an interesting design with widgets , displaying current information about applications and games.

So which platform is better in terms of interface? Of course, many will like the live tiles of Windows Phone, since this idea from Microsoft really deserves special praise. However, on Android you can install any design masterpiece from the developer of the launcher application and change the platform interface at least several times a day. Windows Phone does not have this feature; the interface of this platform cannot be changed. The user will see live tiles the entire time he or she is using a smartphone based on Windows Phone.

Therefore, in terms of interface, the victory for the Android platform is precisely for its accessibility and openness to constant changes in appearance.

2. Customizing the platform to suit user preferences

In terms of the ability to customize the mobile platform to suit user needs, the participants in the review - Android and Windows Phone - have fundamentally different positions.

Android is an open-source operating system (Linux kernel), so there can be a lot of options with the intervention of third-party developers, for example, from mobile device manufacturers. The Android platform is open, this allows not only manufacturers of smartphones and tablets, but also users themselves to make adjustments to its settings - change the interface, install any applications and games, including bypassing the Google Play Market, downloading applications and games from third-party resources - torrent trackers, sites dedicated to Android topics, etc.

Obtaining root rights on Android opens up incredible prospects for users - for example, the user can install any advanced action game that costs a decent amount of money on the Google Play Market completely free of charge by turning to the third-party resources mentioned above.

The open source code of the Android platform allows it to be flexible, performing a wide range of tasks in the interests of the user, using a variety of software tools.

Windows Phone is a closed operating system that does not allow interference with its code. In this regard, Microsoft decided to follow the path of Apple, limiting its brainchild from any third-party interference. Windows Phone cannot be configured to suit user preferences. The lot of users is to be content only with what the software giant has provided.

Therefore, the second victory is awarded again to Android.

3. Security and stability

From the previous advantage of the Android platform comes its disadvantage, such as vulnerability to viruses and malware. Very often, Hi-Tech resources on the Internet are replete with information that another application has been discovered on the Google Play Market, infected with a virus or pursuing the goal of emptying the user’s mobile account by sending SMS in the background to various paid numbers. Yes, this sometimes happens, and Google Play Market employees still have something to work on and improve. So for now, the user can only hope for the vigilance of the antivirus application.

The slowness and instability of Android is another drawback, which is also a consequence of the openness of the code of this platform.

The situation with Windows Phone in terms of security and stability is the exact opposite of the situation with Android. The closed code nature of Windows Phone may deprive this platform of flexibility, but it works smoothly, stably, without glitches.

So in terms of security and stability, victory can only be for Windows Phone. This is the first victory for the software giant's brainchild.

4. Multitasking

Android supports multitasking - this is certainly a huge advantage of this platform. In this matter, Android was able to surpass even iOS - the mobile platform of the iPhone and iPad, since multitasking in iOS was implemented only in the fourth version of the platform, and in Android multitasking existed from the very beginning - from the first version.

So, on Android, the user can run several applications simultaneously and switch between them through a special “Recent Applications” menu, which displays the 6 most recent applications. If an application or game does not have an exit option, naturally, all running applications and games will hang in the background. Naturally, this will quickly drain the smartphone's battery. But here you can hardly make a complaint specifically about Android - you always have to pay for performance. There is no other way.

Windows Phone does not support multitasking.

So, another, already the third victory for Android.

5. Applications for the mobile platform

If you look from the position of a beginner - a complete dummie who bought the first smartphone in his life, then the Windows Phone platform will be in a more advantageous situation, since there are more applications pre-installed here. For example, along with a new smartphone, the user receives client applications for social networks Facebook, Twitter and Linkedin built into the platform. But such small bait will not tempt experienced users and avid lovers of mobile communications. Because everything you need for the Android platform - clients for social networks and various Internet services, organizers, weather and exchange rate widgets, multimedia applications, educational programs, games and much more - can be easily downloaded for free from the Google Play Market.

To determine whether Android or Windows Phone is better in terms of the variety of content developed for them, let’s compare the number of applications and games that are available for both platforms in branded application stores. Thus, the Windows Phone Store has over 120 thousand different applications and games. And the Google Play Market contains more than 700 thousand applications and games for Android. As you can see, the result is obvious - 120 thousand versus 700 thousand. But this is only a statement of specific figures. In fact, some of the Android apps and games available on Google Play Market today are of poor quality. When installing an application or game for Android, a user cannot be sure that it will launch or work correctly. For Android, incompatibility of an application or game with the version of the platform or with the hardware components of the mobile device is quite common.

Despite this, we will again award the victory to Android, because Google has never positioned its brainchild as an elite brand feature. There is truly a huge amount of varied content available for this platform. You just need to turn a blind eye to some little things and, we repeat, have a good anti-virus application.

6. Map service

Google Maps in 3D for Android is truly a masterpiece from the search giant. The Google Street View function, implemented in Google Maps and Google Earth, allows you to view panoramic views of streets and cities around the world. Google Maps is already a fairly mature project into which the search giant has invested a lot of effort. Competing mapping projects today will have to work hard to become better than Google Maps. Returning to the comparative review of the two mobile platforms, we note that Google Maps in 3D for Android is much more convenient to work with than Nokia Maps, pre-installed in smartphones based on Windows Phone 8.

The mapping service is another victory for Android.

7. Storage of electronic money

Both mobile platforms support the NFS system, which is used, in particular, for contactless payments - when you can pay for goods or services at a point of sale by bringing a mobile phone with an active bank account electronically to the terminal.

To store funds, Google has developed an electronic payment system called Google Wallet. Using the NFS system installed on a smartphone and a special Android application from the Google Wallet system, users can pay for goods and services at retail outlets that provide contactless payments. However, this project from Google did not become particularly popular.

An electronic wallet for Windows Phone is also not a particularly popular feature, but this does not detract from its convenience. It can combine all the user's bank cards. Therefore, in the issue of storing electronic money, the victory is awarded to Windows Phone.

To sum it up...

Many of the features that both Android and Windows Phone boast are extremely similar. This includes voice control Google now for Android versus Tell me for Windows Phone, and, accordingly, music services Google Music versus Xbox Music, and messaging and video calling services Google Talk versus Skype.

Summing up the victories of mobile platforms on the issues considered, we note the solid and sustainable victory of Android - 5 versus 2.

Thus, the Windows Phone platform won only twice - in terms of security, stability and a convenient wallet for storing electronic money. The interface, the ability to customize the platform to suit the user's preferences, multitasking, more than 700 thousand developed applications and games, the best mapping service - as we can see, this is quite a significant advantage over Android.

Android is a mobile platform in which both successful and unsuccessful solutions are chaotically mixed. This is a platform for enthusiasts, for true connoisseurs of freedom of action and researchers of the various possibilities of mobile technologies.

Windows Phone is a kind of analogue of iOS. This platform also has an eminent creator; its principles are based on image, stability, grace and smoothness in operation, user care and maximum security. Even if it is to the detriment of its all-round development.

About the guide

This tutorial will teach you how to program using the wxWidgets toolkit. At the end of each chapter you will find links to the rest of the guide.

wxWidgets

wxWidgets is a set of tools for creating graphical user interface (GUI) in C++ applications. It is a cross-platform open source toolkit. wxWidgets applications work on all major platforms: Windows, Unix and Mac. The project was founded Julian Smart(Julian Smart) in 1992. This is more than just a set of tools. It provides a wide variety of classes for working with threads, databases, command sequences, online help, and application settings. wxWidgets contains a large group of widgets. You can explore the wxWidgets community at http://www.wxwidgets.org/.

C++ programming language

C++ is one of the most widely used programming languages ​​on this planet. Most well-known software packages such as MS Office, Macromedia Flash, Firefox, Photoshop and 3D Max are written on it. C++ dominates the PC gaming world. It is one of the most complex programming languages. On the other hand, programming C++ in 2007 is different from programming in 1997. Many things have become easier these days.

The TIOBE Programming Community Index displays the approximate share of programming languages ​​used (the information below is as of 2010 - note by Sl-Alex). Java rules. C++ has been dethroned. But C++ serves as their basis and there are no serious threats to it in the coming decades. We can clearly see specialization among programming languages. Java is mostly used in enterprise projects and portable programs, C is the king in systems programming (OS, device drivers, small programs), PHP has a strong foothold in small and medium-sized websites, Javascript is used to implement the client side of a web application.

C/C++ is the most commonly used language for creating classic GUI (Graphical User Interface (GUI)) applications for desktop systems. Here's a great one explaining why Java won't kill C++ in the coming years.

Multiplatform programming

Today, multi-platform programming is a buzzword. Many languages ​​and libraries want to become multi-platform. wxWidgets was originally created as a multi-platform tool. Most developers choose these options. If possible, use web. Or choose between Qt, wxWidgets, Swing or SWT. There is also such a thing as FLTK, but it is not as popular and is not the best choice. There is a big railway company in my country. This company uses software written in Java and Swing. This choice is due to the fact that it is cheaper to buy new equipment and write software in Java. Using Java, development speed increases and the number of bugs decreases. Of course, this choice is correct. But when we write a text editor in Java, we cannot tell our customers, hey guys, you will need to buy another 1 GB of memory. In such a situation, Java can't help us much. As for Qt, this library is the main competitor of wxWidgets. Therefore, for each task you need to use the right tool - this is the most important decision of any programmer and manager.

Last update: 04/12/2017

UWP (Universal Windows Platform) is a unified platform for creating and running applications on Windows 10 and Windows 10 Mobile.

UWP was the result of a evolution of earlier technologies. Thus, with the release of Windows 8, a new architectural platform for applications was introduced - Windows Runtime (WinRT), which made it possible to run applications in the so-called Modern (Metro) mode on desktops and tablets. Then, with the release of Windows 8.1 and Windows Phone 8.1, this technology was developed - “universal applications” appeared that could be launched immediately by Windows 8.1 and WP8.1. And in July 2015, the new Windows 10 OS was officially released. It uses the UWP platform, which is a development of the Windows Runtime.

As the name of the platform suggests, it is universal - universal for all devices in the Windows 10 ecosystem. These are regular desktops, tablets, mobile devices, IoT (Internet of Things) devices, Xbox, Surface Hub devices. And a UWP app can run equally on all these platforms as long as they have Windows 10 installed.

Why UWP?

Programming for UWP has a number of advantages:

    Width of distribution. Currently (April 2017), Windows 10 is already installed on more than 400 million devices. On desktops, Windows 10 is already ahead of Windows 8/8.1.

    Supports a wide range of devices. Desktops, tablets, smartphones, large Surface Hub tablets, various IoT devices, in the future HoloLens virtual reality devices - the range of devices on which Windows 10 can run is really wide.

    Support for different programming languages ​​and technologies. UWP applications can be created using languages ​​such as Visual C++, C#, Visual Basic, JavaScript. Visual C++, C# and Visual Basic use XAML as a technology for creating a graphical interface; JavaScript uses HTML. Additionally, C++ can use DirectX instead of XAML. That is, technologies that are quite common and familiar to many.

    App store and ease of distribution. The Windows Store is a great place to distribute UWP apps, both paid and free. The very capabilities of the platform and the Windows Store allow you to use different methods of monetization. For example, you can integrate blocks for displaying advertisements into applications via various SDKs. Can be distributed for a fee, and the payment can be flexibly configured. If necessary, you can build in the provision of a trial version, after using which the user can decide whether to buy the application or not. And it can also be monetized using the freemium model, in which the application is shareware, and individual services within the application are provided for a certain fee. Moreover, all these monetization opportunities are provided by the built-in SDK tools.

    Rich platform capabilities. UWP inherits a lot from the Windows Runtime of Windows 8.1 and at the same time provides many new functionality, such as richer cloud integration capabilities, the use of Cortana, the notification system in Win10 and much more.

What is needed to develop for UWP

To program for UWP, you need Windows 10. All other operating systems, like Windows 8.1/8/7, not to mention Windows XP, are not suitable!

You will also need the Visual Studio 2017 Community development environment. It is a fully featured free development environment that can be downloaded from the official website at https://www.visualstudio.com/downloads/download-visual-studio-vs.

You can also use VS 2015 version, and all other previous versions of Visual Studio - 2013, 2012, 2010, etc. They don't work with UWP.

When installing Visual Studio 2017, you must check the appropriate box in the installer:

Before you start creating applications, make sure that the appropriate option for developers is installed in Windows 10 Update:

And having Windows 10 and Visual Studio 2017 installed, you can start developing applications.

  • Abnormal programming,
  • Website development,
  • Windows development
  • So it’s quite possible to start getting acquainted with the new platform. Let me take a short excursion, describing some of the differences.

    Let me start by saying that UWP apps have something that desktop Windows apps don't - they have an App Model. What is an App Model? This is a kind of regulation. Description of all the capabilities of the application - its access rights, installation method, update, information storage, etc.

    Windows Store apps, just like UWP apps, have a manifest file that describes all the capabilities and permissions of the app. This is the Package.appxmanifest file. It can be edited either in a graphical editor or as XML code. See the screenshot of the graphic editor below.

    Controls

    If you remember, quite recently Windows 8 and 8.1 had a Charm panel - a magic panel:

    Now, instead, controls that are more familiar to WPF developers are used:

    Here the new control is ContentDialog, which blocks the application in much the same way as MessageBox blocks it.
    In addition, UWP has navigation that is more familiar to WP developers:

    What may be interesting is that some controls may have a different appearance when displayed on different devices. In simple words, the control may look slightly different, for example, when displayed on a desktop and on a mobile device.

    In general, I believe that the average developer has long been accustomed to a wide variety of controls. Mastering new difficulties should not cause.

    Development for various devices

    I’ll try to figure out what would be unusual for a WPF developer. For example, this is the fact that when developing Windows 8.1 applications, it was possible to develop simultaneously for both a phone and a desktop in one solution.

    In this case, 3 projects were created. The WP and WinRT applications stored xaml code for “views” and some special code for devices, and the common project stored common xaml code and C# code common to the two projects.

    Now, since the UWP platform is universal, for each type of device you can create a folder in which you can place a “view” - i.e. xaml file with a design for the device parameters.

    Life cycle

    There is an old joke about Formula 1: “Ralf Schumacher has two pedal positions - on and off. The remaining provisions can be neglected."

    With this joke I can poke some fun at classic .Net applications. They either work or they don't work. In Store apps, things are a little different. In addition to the “On/Off” states, they also have an intermediate “Suspended” state. The life cycle of 8.x and UWP applications is shown in the following picture:

    Triggers and background jobs

    .Net applications can either be executable files or can be services/services. These are completely different types of applications. That is, it cannot be that the application is exe, but at the same time it is running in the background. No, of course, the application can run in the tray. But in fact it turns out that it is launched and simply minimized.

    As for 8.x and UWP applications, they may contain background jobs. Background jobs are some kind of service. That is, the application may not work, but some task will be performed on the system. In addition, a background task can “catch” some events in the system using a trigger.

    One of the most popular triggers is SystemTrigger. Using it, the application can execute any code upon the occurrence of such events as: the appearance or loss of the Internet, a change in the network state, a user connecting or disconnecting, receiving an SMS, changing the time zone, etc.

    Also quite popular TimeTrigger And MaintenanceTrigger. Both triggers execute some code periodically within a certain period of time. The time period must be at least 15 minutes. The difference is that TimeTrigger requires the application to be registered on the lock screen, while MaintenanceTrigger requires the device to operate on mains power rather than battery power.

    There are many new triggers in UWP. Take, for example, such an interesting trigger as MediaProcessingTrigger, which allows an application to transcode media as part of a background task.

    Using Libraries

    If you used DLLs in desktop apps, you can use both PCL and the WinMD runtime component in 8.x and UWP apps. What is the difference?

    PCL (portable class library) can be added to applications for various platforms. And under the .Net Framework of various versions, and under Windows 8.x and under WP, under UWP and even under iOS/Android Xamarin applications. That is, you can push some general platform-independent code into this library.

    WinMD can only be used under 8.x or UWP. Regardless of the language in which applications are written, they can work with WinMD. But WinMD itself, if it contains complex calculations, is better written in C++ to achieve the best performance.

    However, when developing for UWP, you can also create a class library (DLL).

    Working with data

    Another thing that's different about UWP apps is that they don't work directly with databases. That is, databases such as, say, SQL Server or Oracle, located on the organization’s server, will not be available to you. However, it would be strange if a user downloaded an application from the Store, and the application began working with a SQL Server database located on a server on the local network. But you can work with data using web services. It is possible to use Oracle's Connector/Net for MySQL databases, but it does not currently support SSL and is therefore not particularly interesting. So it is better not to deviate from the concept of using services to access data.

    To store information within an application, you can use SQLite.

    Storing application settings and working with files

    Storing application settings is possible not only on the device, but also in the cloud. Thus, if you run the application on different devices, the settings will be the same everywhere.

    The following small snippet saves the number of code calls in the cloud:

    Int timescount = 0; Object roamS = Windows.Storage.ApplicationData.Current.RoamingSettings.Values["times"]; if (roamS != null) timescount = (int)roamS; timescount++; Windows.Storage.ApplicationData.Current.RoamingSettings.Values["times"] = timescount;
    If you replace Windows.Storage.ApplicationData.Current.RoamingSettings with Windows.Storage.ApplicationData.Current.LocalSettings, the setting will be saved locally on the device.

    Settings can be arranged both into complex parameters and into containers. Files, just like settings, can be stored both on the device in a local folder and in the cloud. But besides this, it is possible to store files in a temporary folder, which, if necessary, can be cleared by the system - ApplicationData.TemporaryFolder.

    Additionally, you can access the folder that is contained in the application using
    Windows.ApplicationModel.Package.Current.InstalledLocation

    Access to files stored on disks is also organized according to a special model. The contents of folders of documents, photos, videos and the like can be obtained using the KnownFolders class, but in this case it is necessary to set permissions in the manifest. Access to any other folder is possible only if the user selects the folder himself while working with the application. Visited folders can be saved so that when the application is restarted, the user does not have to do unnecessary actions

    Var folderPicker = new Windows.Storage.Pickers.FolderPicker(); folderPicker.FileTypeFilter.Add(".jpg"); folderPicker.FileTypeFilter.Add(".jpeg"); folderPicker.FileTypeFilter.Add(".png"); folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; folderPicker.SettingsIdentifier = "picker2"; Windows.Storage.StorageFolder lastFolder = await folderPicker.PickSingleFolderAsync(); if (lastFolder == null) return; String mruToken = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(lastFolder);
    After this, you can get the last saved folder like this:

    String mruFirstToken = StorageApplicationPermissions.MostRecentlyUsedList.Entries.FirstOrDefault().Token; lastFolder = await StorageApplicationPermissions.MostRecentlyUsedList.GetFolderAsync(mruFirstToken);

    Data bindings

    In both WPF and UWP applications, as well as when developing under 8.x, you can use data bindings. But UWP also introduced compiled bindings – (x:bind) What’s the difference? Compiled ones work much faster, and they are formed/checked during compilation and not during application launch. They are also strongly typed.

    Read more here.

    Share