First of all, some context as to what I’m doing here. This is a first post in what I expect will be a series of posts covering multiple aspects of building modern Windows apps, both for desktop / tablets with Windows 8.1, as well as Windows Phone 8.1 devices.
With that said, and before we begin, some clarification about this post title is in order. Specifically the terms “Serious” and “Beginners”, which aren’t seen together very often and also cause some (intentional) ambiguity:
- “Serious Beginners” = complete beginners, people who have never used XAML before
- “Serious Beginners” = Pros: beginners who intend to get serious and learn XAML deeply
I hope to be able to provide some valuable content to both groups. We’ll start from the very basics, and maybe one day go all the way to Templating, Data Binding, Dependency and Attached Properties, Custom Controls, UserControls, VisualStates, Animations, RoutedEvents and performance tuning.
I learnt XAML myself over the last one or so months (and I’m still learning every day). In order to help me internalize the concepts as I learn them, I’ve been building an app that utilizes concepts many would consider “advanced” but that, as I’ll hopefully be able to show, are quite simple if you spend some time to really understand the mechanics involved. I will share more details on the app once it’s ready. It will be Free, with no ads and will bring me no revenue. The code will be available on Github.
Let’s go together and see how far we can go.
Why even consider learning XAML?
- It is fun!
- Once you get the hang of it, it is very powerful and super elegant
- If you know what you’re doing (and you will soon enough) it helps you be very productive
- Visual Studio 2013 offers great tooling to help you work with XAML
- Perhaps above all else: XAML is key in the future of the Windows ecosystem: write your app once, run it on Windows and Windows Phone with zero or minimal effort
I’ve been working at Microsoft, in the Azure group, for just over a year now and I don’t use or need XAML on my daily job, and I’ve learned what I know about XAML and the Windows Runtime in my spare time over the past few months, from online resources, video trainings, books and colleagues within Microsoft.
I am a genuine fan of the Microsoft ecosystem and a very happy owner of a Lumia 925 Windows Phone. I feel motivated to write these posts with the intention of helping to fill a gap of knowledge that I had to overcome when I was starting to learn the new technologies for modern Windows Apps building. Hopefully things will be easier for the next batch of folks who are learning these great technologies!
While there are a myriad of very good online resources that help people get started with XAML for the Windows Runtime, many of them fall short of explaining some fundamental concepts that will inevitably be necessary as you go build your own apps that are more complex than a “Hello World” demo. Here are some of the best resources I used:
- MSDN documentation (see my other blog post Tips for successful online searches).
- Bob Tabor’s excellent 30-videos series Windows Phone 8.1 Development for Absolute Beginners
- Charles Petzold’s Programming Windows, 6th edition
- “Build 2013” conference videos on channel9.
- Andy Wigley and Matthias Shapiro’s 23-videos series Building Apps for Windows Phone 8.1
This was my first post in my MSDN blog. If you have any suggestions or feedback, please leave your comments below and I’ll do my best to address them in a timely manner.
I’m already preparing the next few posts in the series “WinRT XAML for Serious Beginners” and I hope I’ll be able to deliver on it. In the next post I’ll try to paint a picture of the Microsoft technological landscape in app building over the past few years / even decades and help you get a better understanding of where this blog series stands in the broader picture.
See you next time!