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 :)


55 comments:

  1. Thats great ! thanks helped me :)

    ReplyDelete
  2. 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
  3. Thanks for sharing very useful post about Windows App Development.

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

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

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

    ReplyDelete
  7. 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
  8. 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
  9. Nice post!
    Best digital marketing service provided company in mumbai is webdogs.
    Web development company
    Seo service
    Digital marketing company

    ReplyDelete
  10. 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
  11. nice blog Vendorzapp Compnay provides Mobile apps for small business, Ecommerce android apps India, iOS ecommerce apps, Ecommerce website Pune, Ready ecommerce website and apps. Android ecommerce apps then visit now Ecommerce android apps India, iOS ecommerce apps, ecommerce website for small business call us +91-9850889625

    ReplyDelete
  12. Thanks for sharing....provide the code for Checkbox control for xamarin form.

    ReplyDelete

  13. I am expecting more interesting topics from you. And this was nice content and definitely it will be useful for many people.
    iOS App Development Company

    ReplyDelete
  14. Your blog is very effective and glad to read ,really it's pretty awesome and gives lots of valuable ideas for app development. It will be very useful for the mobile app developers.
    Mobile Apps Developement in London

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Nice post. Thanks for sharing and providing relevant information. This is really useful.
    Android App Development in Lucknow | Mobile App Development in Lucknow

    ReplyDelete
  17. I read your article. Very Nice. This is really great and informative post. Thanks for sharing.Android Application Development Company

    ReplyDelete
  18. Hey thanks, I really love reading your blog posts. You always write to-the-point yet informative blogs. Looking forward to more such blogs. Hire Android Developers , Android Development Company

    ReplyDelete
  19. Your site is actually awe-inspiring. I've discovered numerous brand new points. The right path associated with setting up can also be intriguing. You've chosen really amazing subject. We valued this.
    USA computer vision apps

    ReplyDelete


  20. Nice blog..! I really loved reading through this article... Thanks for sharing such an amazing post with us and keep blogging...
    web designing company in hyderabad
    web designing company in kukatpally
    web designing company in gachibowli
    web designing company in kphb

    ReplyDelete
  21. I like the helpful information you provide in your articles. I’ll bookmark your blog and check again here frequently. I’m quite sure I will learn many new stuff right here! Good luck for the next!

    iPhone App Development Company
    Mobile App Development Company
    Desktop Application Development India

    ReplyDelete
  22. Nice Blog you have shared, check it once through Android Online Training Bangalore for more information on Android Course

    ReplyDelete
  23. It is really great information,that This article is only for Windows App developers and not for Windows consumers.

    web development company

    ReplyDelete
  24. Every web solution company should provide the services in joomla website development,Wordpress development,Magento development and ecommerce development.Then only that company would considered as good web design company by consumers.
    SEO Experts Lounge
    http://seoexpertslounge.net/

    ReplyDelete
  25. This comment has been removed by the author.

    ReplyDelete
  26. Web Developement in Lahore. Web Developement company in pakistan. Web designing in Pakistan. Best seo company in Lahore. Best seo company in Pakistan.
    SEO Experts Lounge
    Web Development Company in Pakistan
    Web Designing Company Pakistan
    SEO Company in Lahore
    PPC Service in Pakistan

    ReplyDelete
  27. It was really a wonderful article and I was really impressed by reading this blog.

    ReplyDelete
  28. This blog is very informative. Thanks for sharing this information.
    Apps Development Company in Lahore

    ReplyDelete
  29. Your blog has given me that thing which I never expect to get from all over the websites. Its very easy to understand and very helpful. Nice post guys!


    Melbourne App Developer

    ReplyDelete
  30. That's wonderful stuff you've written up here. Been searching for it all around. Great blogWebsite Design Company Bangalore | Web Development Company Bangalore

    ReplyDelete
  31. Netguru Solution India Pvt. Ltd. is one of the leading and developing Website Design and Mobile Application Development Company in Pune with a specialist management and expert group.
    Website Design Company In Pune
    Mobile Application Development Company In Pune

    ReplyDelete
  32. Thanks for Shring nice article about Application Development.
    App Development Companies in India

    ReplyDelete
  33. Appers – We have the super iOS Development team in world! Offering iPhone App Development Service in Melbourne & Brisbane.

    iPhone Apps Development

    ReplyDelete
  34. Awesome issues here. I’m very happy to look your article.
    Thanks a lot and I am looking forward to contact you. Will you please drop me a mail?
    Desktop Application Development India
    iPhone App Development Company

    ReplyDelete
  35. Much obliged to you such a great amount for sharing. Continue refreshing your blog. It will extremely helpful to the numerous clients Mobile App Development in DelhiMobile App Development in Delhi

    ReplyDelete
  36. Nice Information provided in the blog.
    Top mobile application development companies, agencies in france: iphone app design services firms. Best Android, iOS Game Application Development Company ParisMobile Application Development Services CTop Mobile App Development Firms
    ompany
    Mobile Application Development Agencies in France
    Top App Development Companies in France
    Iphone Mobile App Development
    Mobile App Design And Development
    

    ReplyDelete

Search Engine Submission - AddMe