Google Windows 10 App Development Tutorial - Getting started with UWP app development, beginners guide (C#-Xaml) | SubramanyamRaju Xamarin & Windows App Dev Tutorials

Friday, 29 July 2016

Windows 10 App Development Tutorial - Getting started with UWP app development, beginners guide (C#-Xaml)

Introduction:
This article is only for the people who were really don't know about Windows 10 UWP app development and also who are looking for the answer to "why now days people are already started to learn Windows 10 app development instead of Windows phone 8.1..Windows Phone 7.0?". Also hope you already heard about the most of companies are started to hiring the people who were experienced in Windows 10 UWP development and why?. And some people are having question like "Is it possible to develop UWP with Xamarin Technology?". These all questions can be covered in this article and hope you visited this article means you are showing the interest to learn UWP development:).

Note: This article is only for Windows App developers and not for Windows consumers :P. It would be great and impressive, still you are reading this article with non-technical knowledge :)

Description:
Generally what happens, If we want to learn Windows 10 UWP programming probably we will have below questions in our mind:
  • Why Windows 10 UWP instead of Windows phone 8.1..Windows Phone 7.0?
  • Which programming language, we need to learn for UWP development?
  • What is the IDE for UWP?
  • What are the System Requirements for UWP Development?
  • Where we will find resource to learn UWP?
  • How to build first Windows 10 UWP App?
  • How to test first Windows 10 UWP App?
  • How to get help, if we got any issue in UWP app development?
  • How to submit UWP app to the Windows Store?
  • What is the career future, if we learn UWP? 
  • Can we develop UWP with Xamarin.Forms?
  • If I missed any question which is in your mind, please mention in comment section and we will discuss about it :)
Mostly we will get answer for above questions, if we search them in Bing/Google search engine, But let us see our own words to answer them from this article with step by step.

I don't want to answer you about "Why we need to build Mobile App ?" as you are MAD (Mobile App Developer) :). Also nowadays if you ask this question even non-technical guy also will answer it because of most of people are using smartphone applications, and people are looking for easiest way to use application instead of browsing website url :)

Let's take our first question.
1. Why Windows 10 UWP instead of Windows phone 8.1..Windows Phone 7.0?
Actually It has big story behind Windows 10 development release by Microsft. And people are easily answering like "UWP is a single development platform where we can develop single app with single app package that can run across all Microsoft platforms (Mobile,Desktop,Xbox,Surface Hub, Holographic, IOT..etc).


Let's see the history of Universal Windows Platform (UWP) Development.
  • At very first time Microsoft was started smart phone programming with Windows Phone 7.0 as the replacement successor to Windows Mobile in year of 2010 November. Initially windows phone smartphone programming was started on Silverlight framework.
  • if we create WP7.0/8.0 app project on Silverlight framework and build the app, we will have build package file with .xap extension that can run only on WP7.0/WP8.0 OS smartphone devices and app will not support windows desktop or surface.
  • Other side means (Desktop, Surface, Table..etc) Windows 7.0/8.0 we called it was WinRT framework, so if we create Windows 7.0/8.0 project on WinRT framework and build the app, we will have build package file with .appx extension that can run only on Windows 7.0/8.0 OS machines and not in smartphone devices. 
  • So it is complicated for the Windows developers and they need to create two separate development apps for both smartphones & Desktop. After that Microsoft was started to develop one single development environment for providing common API's for developers to develop both smartphone apps & Desktop apps at a time. 
  • However at the time of Windows Phone 8.1 release, Microsoft was taken one step forward and released the WP8.1 app development that can support on both Silverlight & WinRT frameworks app.
  • So at any time if we create windows phone apps on Silverlight framework, app will run only on windows phone OS smartphones.
  • From 8.1 OS if developer starting to build app on WinRT framework, he can able to create same app for both phone & surface using single Universal App Project. but we need to create two different app packages (.APPX) for windows phone & Windows.
  • After that Microsoft was released Windows 10 UWP(Universal Windows Platform). And now no more than one app package and we can create single app project with only one app package that can run across all Microsoft platforms (Mobile,Desktop,Xbox,Surface Hub, Holographic, IOT..etc)
Hope you enjoyed to read above history, and let's take second question:

2. Which programming language, we need to learn for UWP development?
There are two ways to develop Windows 10 UWP apps:
  • Native Approach: using C# (Logic) with Xaml (UI design) on WinRT framework.
  • Cross platform Approach: We can create UWP app with Xamarin cross platform development with same C# & Xaml programming. And also we can use other languages HTML5 , JavaScript and CSS (Using cross platform frameworks like Cordova, phonegap..etc) to develop UWP apps.
Note: Honestly i don't want to recommend you for other language to develop native windows apps, and it is better to choose C# (Logic) with Xaml (UI design).

3. What is the IDE for UWP?
We need to use Microsoft Visual Studio 2015 Update 1 or Later IDE to develop UWP apps. So get step by step help to install Windows 10 SDK from here.

4What are the System Requirements for UWP Development?
  • To develop UWP app, we need to install latest Windows 10 SDK that works best on the Windows 10 operating system. And fortunately it is also supported on: Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2, but not all tools are supported on these operating systems.
  • We no longer need a developer license with Windows 10. But we must Enable Developer Mode to your device for development.
5. Where we will find resource to learn UWP?
If you’re new to the Windows 10 UWP, In this article I will share some great learning resources that helped you get your foot on the ladder. Before going to start Windows 10 UWP, and if you are very new to Windows App Development, you sould have some basic knowledge on Xaml & C# Programming.
Learning XAML
XAML is fundamental to UWP Development, without understanding it you can not develop UWP. So below are some great places to learn what XAML is, how/why it’s used, and it’s syntax:
Learning C#
This tutorials will teach you basic C# programming and will also take you through various advanced concepts related to C# programming language.
This tutorials will teach you basic UWP programming and will also take you through various advanced concepts related to UWP.
6. How to build first Windows 10 UWP App?
It is very easy step to create UWP project. So open your latest VS 2015 IDE from start menu.
  • Launch Visual Studio 2015
  • On the File menu, select New > Project.
  • The New Project dialog appears. The left pane of the dialog lets you select the type of templates to display.In the left pane, expand Installed > Templates Visual C# > Windows, then pick the Universal template group. The dialog's center pane displays a list of project templates for Universal Windows Platform (UWP) apps.
  • In the center pane, select the Blank App (Universal Windows) template.The Blank App template creates a minimal UWP app that compiles and runs, but contains no user-interface controls or data. In the Name text box, type "Hello World".Click OK to create the project. You need to add controls to the app and you can also get full help to create new project from this tutorial
7. How to test first Windows 10 UWP App?
Now its time to test UWP App, In addition to the option to Debug on a desktop device, Visual Studio provides options for deploying and debugging your app on a physical mobile device connected to the computer, or on a mobile device emulator. You can choose among emulators for devices with different memory and display configurations like below
Note: 
1. It's a good idea to test your app on a device with a small screen and limited memory, so use the Emulator 10.0.10240.0 WVGA 4 inch 512MB option.
2. If you want to test our app in physical device, you must Register your Windows Phone device for development.
3. If you already have .APPx file, you can deploy it from WinAppDeployCmd.exe tool
After selecting emulator/device, From the Debug menu, click Start Debugging or Press F5. Then we can found below screen on emulator/device:

8. How to get help, if we got any issue in UWP app development?
Although If you have any technical issue during UWP app development, you can find lots of help and information at the following forums communities:
9. How to submit UWP app to the Windows Store?
In order to publish UWP application to windows store, we should have Windows store developer account. And there are two kinds of accounts: a Individual account which will cost you 19.00 USD and an Company account which will cost you 99.00 USD. So get help to create developer account from here and get list of app-submission markets from here. After getting developer account, we need to submit app to the store and get step by step help to submit app from here. So after that the validation process will start with very strict and take you about maximum one day . if your app is rejected, you will get an error report about what you have to change in your app to pass certification and visible on store. It don't have malwares in the Windows store marketplace because of it's a trusted store.

10. What is the career future, if we learn UWP?
This is big question, was raised in UWP developers. And the people got some rumours about "Microsoft will stop to work on smart phones development". No I am completely disagree with this. People who are working on UWP, they are almost developing the app that can support for all Microsoft devices with single project and it means people will have good future and more opportunities. In rare case if you thought no future, at-least you will get good experience on C#.net & Xaml programming and so what else you need my dear :). Now days if you know C#.net & Xaml and you will almost good at your career, because we have so many options like big advantage is we can easily learn Xamarin cross platform development technology which is running on same C# & Xaml programming :), also we can develop Unity 3D gaming apps with C#. 

11. Can we develop UWP with Xamarin.Forms?
Yes, as we just had discussion about it in previous question. But one concern is our machine should have Windows 10 OS and should install latest VS 2015 IDE. If we create Xamarin.Forms Project with VS 2015, Then created project will have bellow structure:
  • Shared: Shared Project containing the code common to all projects and it will be either PCL or Shared Project.
  • AppAndroid: Xamarin.Android application project.
  • AppiOS: Xamarin.iOS application project.
  • AppWinPhone: Windows Phone application project.
  • AppWindows: Windows application project.
  • AppUWP: Universal Windows Platform application project.
Note: We can't develop Windows Phone, Windows & UWP apps with Xamarin Studio. So we must have Visual Studio IDE to build windows apps with Xamarin Technology.

And we are very lucky people as we are developing UWP native app using C#.net & Xaml and it means we were already experienced in C#& Xaml. So we can easily learn Xamarin Technology to build single code base app that can support for all three major mobile platforms Windows, Android & iOS :)

If you want to looking for UWP sample, you can directly download below source code.
Calendar Control Sample
FeedBack Note:
Please share your thoughts,what you think about this post,Is this post really helpful for you?I always welcome if you drop comments on this post and it would be impressive.

Tweet me always at @Subramanyam_B
Have a nice day by Subramanyam Raju :)


17 comments:

  1. Thats great ! thanks helped me :)

    ReplyDelete
  2. This is really a very good article. Thanks for taking the time to discuss with us, I feel happy about learning this topic. keep sharing your information regularly for my future reference.
    Branding Services in Chennai

    ReplyDelete
  3. Gizmeon Technologies is a new Generation Technology Services and android app development company initiated by a team of experienced IT professionals in Bangalore, India

    ReplyDelete
  4. Nice post. I was checking constantly this blog and I am impressed! Extremely helpful information specially the last part I care for such info a lot. I was seeking this particular information for a very long time. Thank you and good luck.
    Liquid Level Sensor

    ReplyDelete
  5. It's really great post to learning App development. Thanks for sharing your experienced with us. Miami app development provider

    ReplyDelete
  6. Thanks for sharing this window app development post with us.
    It is very helpful for the mobile app development.

    ReplyDelete
  7. I’m really impressed with your blog article, such great & useful knowledge you mentioned here
    Android App Developers

    ReplyDelete
  8. It's really informative! Thanks for the great article.
    At Hvantage Technologies, we are dedicated to providing online solutions: Web design & development, e-commerce solution, web promotion/SEO (search engine optimization ) and website maintenance services for your business. more details you should visit here once: www.hvantagetechnologies.com

    ReplyDelete
  9. Thanks for the post. You have explained the topic in very simple and step by step. At Yberry Infosystem a Mobile application development company, we have taken up this challenge of delivering the app that is ideal matched for you. Visit: www.yberryinfosystem.com

    ReplyDelete


  10. Really it was an awesome article...very interesting to read..
    Thanks for sharing..please sharing like this information......
    Android training in chennai
    Ios training in chennai



    ReplyDelete
  11. This article is very much helpful and i hope this will be an useful information for the needed one. Keep on updating these kinds of informative things...

    Android App Development Company

    ReplyDelete
  12. I wondered upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon.
    Mobile App Development Company
    Mobile App Development Company
    Mobile app Development Companies

    ReplyDelete
  13. Nice post!
    Best digital marketing service provided company in mumbai is webdogs.
    Web development company
    Seo service
    Digital marketing company

    ReplyDelete
  14. Nice info. Thanks for sharing info about about c language training. I want to learn c training this tutorial is really helpful. Thanks a lot. Keep updating tutorials……

    ReplyDelete

Search Engine Submission - AddMe