Windows 10 is finally here. Now is the time to learn about the awesome new features that the platform offers. Do you want to know what Windows 10 enables for developers? Or do you want to see how you can enhance your existing Windows 8.1 app? In this session, we will give you a full overview of the most important new features of Windows 10.
Deze presentatie heeft Fons Sonnemans tijdens de Lowlands Windows Phone Developer Day verzorgt. Hij heeft aan de hand van 12 uiteenlopende onderwerpen geleert apps beter te maken. Hierin komen technische onderwerpen, design en marketing aan bod. Een presentatie vol met do’s en dont’s voor je eigen apps
Met het Universal Windows Platform wordt het voor jou als developer gemakkelijker om apps op maat te maken voor verschillende devices. Dankzij recente ontwikkelingen is het creëren en deployen van Windows Apps eenvoudiger dan ooit!
XAML UI heeft met haar nieuwe controls en features een flinke stap gemaakt in het vereenvoudigen van het ontwikkelen van apps voor verschillende devices. Daarnaast is de performance geoptimaliseerd met nieuwe en verbeterde features zoals nieuwe diagnostics tools, een nieuwe Blend tool, Compiled data binding en meer!
Tijdens het seminar geeft Fons Sonnemans (trainer, developer, spreker op TechDays NL en tweemaal beloond met een Microsoft MVP award) inzicht in het succesvol developen en deployen van je app. Daarnaast zal het hebben over store tips & tricks, verdienmodellen en marketing– daar wil jij natuurlijk graag bij zijn!
Building & Designing Windows 10 Universal Windows Apps using XAML and C#Fons Sonnemans
Met het Universal Windows Platform wordt het voor jou als developer gemakkelijker om apps op maat te maken voor verschillende devices. Dankzij recente ontwikkelingen wordt het creëren van Universal Windows Apps eenvoudiger dan ooit!
XAML UI heeft met haar nieuwe controls en features een flinke stap gemaakt in het vereenvoudigen van het ontwikkelen van apps voor verschillende devices. Daarnaast is de performance geoptimaliseerd met nieuwe en verbeterde features zoals nieuwe diagnostics tools, een nieuwe Blend tool, Compiled data binding en meer!
Tijdens het seminar geeft Fons Sonnemans (trainer, developer, spreker op TechDays NL en tweemaal beloond met een Microsoft MVP award) inzicht in deze nieuwe features en tools – daar wil jij natuurlijk graag bij zijn!
What’s new in XAML and Tooling for Windows 8.1Fons Sonnemans
In deze sessie krijg je een overzicht van de nieuwe XAML mogelijkheden en tools voor het ontwikkelen van Windows 8.1 Store apps. Je leert de nieuwe mogelijkheden van Blend zoals Guides, Behaviors en SampleData. In Visual Studio leer je Code Snippets, IntelliSense en Refactoring gebruiken. Tot slot worden de nieuwe controls en de nieuwe mogelijkheden van bestaande controls getoond. In deze sessie zitten veel demo’s waarmee je sneller mooiere Windows 8.1 apps kunt ontwikkelen met behulp van XAML.
Chicago Coder Conference 2015
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase. Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in
C# or XAML. Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
Designing XAML apps using Blend for Visual Studio 2013Fons Sonnemans
In deze sessie laat ik aan de hand van vele demos zien hoe je Windows Phone en Windows 8.1 apps ontwikkeld met behulp van Blend for Visual Studio 2013.
What's new in Blend for Visual Studio 2015Fons Sonnemans
In this session you will learn the new features of Blend for Visual Studio 2015. Blend is the XAML design and development tool for WPF, Silverlight, Windows Phone and Windows applications. You will also learn the new XAML controls and properties for developing Windows 10 applications. With this session you can improve your productivity and design skills.
Xamarin.Forms is already packed with tons of awesome and recently had a major overhaul with Xamarin.Forms 2.0, but the fun didn’t stop there as there have been amazing new features introduced. Join James as he gives you a full break down of all the spectacular features that have been recently released and a peek into the future of Xamarin.Forms.
Deze presentatie heeft Fons Sonnemans tijdens de Lowlands Windows Phone Developer Day verzorgt. Hij heeft aan de hand van 12 uiteenlopende onderwerpen geleert apps beter te maken. Hierin komen technische onderwerpen, design en marketing aan bod. Een presentatie vol met do’s en dont’s voor je eigen apps
Met het Universal Windows Platform wordt het voor jou als developer gemakkelijker om apps op maat te maken voor verschillende devices. Dankzij recente ontwikkelingen is het creëren en deployen van Windows Apps eenvoudiger dan ooit!
XAML UI heeft met haar nieuwe controls en features een flinke stap gemaakt in het vereenvoudigen van het ontwikkelen van apps voor verschillende devices. Daarnaast is de performance geoptimaliseerd met nieuwe en verbeterde features zoals nieuwe diagnostics tools, een nieuwe Blend tool, Compiled data binding en meer!
Tijdens het seminar geeft Fons Sonnemans (trainer, developer, spreker op TechDays NL en tweemaal beloond met een Microsoft MVP award) inzicht in het succesvol developen en deployen van je app. Daarnaast zal het hebben over store tips & tricks, verdienmodellen en marketing– daar wil jij natuurlijk graag bij zijn!
Building & Designing Windows 10 Universal Windows Apps using XAML and C#Fons Sonnemans
Met het Universal Windows Platform wordt het voor jou als developer gemakkelijker om apps op maat te maken voor verschillende devices. Dankzij recente ontwikkelingen wordt het creëren van Universal Windows Apps eenvoudiger dan ooit!
XAML UI heeft met haar nieuwe controls en features een flinke stap gemaakt in het vereenvoudigen van het ontwikkelen van apps voor verschillende devices. Daarnaast is de performance geoptimaliseerd met nieuwe en verbeterde features zoals nieuwe diagnostics tools, een nieuwe Blend tool, Compiled data binding en meer!
Tijdens het seminar geeft Fons Sonnemans (trainer, developer, spreker op TechDays NL en tweemaal beloond met een Microsoft MVP award) inzicht in deze nieuwe features en tools – daar wil jij natuurlijk graag bij zijn!
What’s new in XAML and Tooling for Windows 8.1Fons Sonnemans
In deze sessie krijg je een overzicht van de nieuwe XAML mogelijkheden en tools voor het ontwikkelen van Windows 8.1 Store apps. Je leert de nieuwe mogelijkheden van Blend zoals Guides, Behaviors en SampleData. In Visual Studio leer je Code Snippets, IntelliSense en Refactoring gebruiken. Tot slot worden de nieuwe controls en de nieuwe mogelijkheden van bestaande controls getoond. In deze sessie zitten veel demo’s waarmee je sneller mooiere Windows 8.1 apps kunt ontwikkelen met behulp van XAML.
Chicago Coder Conference 2015
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase. Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in
C# or XAML. Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
Designing XAML apps using Blend for Visual Studio 2013Fons Sonnemans
In deze sessie laat ik aan de hand van vele demos zien hoe je Windows Phone en Windows 8.1 apps ontwikkeld met behulp van Blend for Visual Studio 2013.
What's new in Blend for Visual Studio 2015Fons Sonnemans
In this session you will learn the new features of Blend for Visual Studio 2015. Blend is the XAML design and development tool for WPF, Silverlight, Windows Phone and Windows applications. You will also learn the new XAML controls and properties for developing Windows 10 applications. With this session you can improve your productivity and design skills.
Xamarin.Forms is already packed with tons of awesome and recently had a major overhaul with Xamarin.Forms 2.0, but the fun didn’t stop there as there have been amazing new features introduced. Join James as he gives you a full break down of all the spectacular features that have been recently released and a peek into the future of Xamarin.Forms.
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase. Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in C# or XAML. Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
Join us for a session on building incredible iPad apps with Flex. Too good to be true?
Actually the Flex SDK has a whole set of components and classes suited to easily build
iPad apps. I would even say it's the fastest and easiest way to build iPad apps out there.
Don't believe me? Then come and see how I unravel the hidden gems of the Flex SDK
and build 10 application in less than 60 minutes. You will learn how easy it is to build
powerful view navigation with little code. You will explore all the different components that
the Flex SDK provides you. Additionally you will learn in this code intense talk how to build
effective custom item renders. Wait, there is even more, we'll throw in tips and tricks how
to use Swiz to complement the SDKs built in mechanism to pass data among views, how
to integrate google maps and Mapquest, and how to communicate effectively with a
server using XML and JSON. You will acquire all the secret to build kick-ass applications
that can be deployed on Apple App Store.
New XAML/UWP features in Windows 10 Fall Creators UpdateFons Sonnemans
Slides used in my TechDays 2017 NL session. The video can be found on: https://www.youtube.com/watch?v=ICy_zPQuYQ0 the source of my demo is published on https://github.com/sonnemaf/FallDemos
Microsoft maakt Windows 10 Fall Creators Update vanaf 17 oktober beschikbaar. Voor deze versie is natuurlijk ook een nieuwe SDK aanwezig. In deze sessie gaan we de nieuwe mogelijkheden van deze SDK voor XAML applicaties bekijken. De nieuwe properties van de bestaande controls, de nieuwe controls, conditional XAML, .NET Standard 2.0 support en natuurlijk Fluent Design. Ontwikkel je al Windows 10 apps of wil je beginnen? Dan is deze sessie een aanrader.
Presented at NDC Oslo
C# has become one of the most prolific languages used in game development. Games developed in C# can be created to target desktops, tablets, mobile devices and game consoles, while sharing nearly the entire code base. On mobile devices 2D games in particular are massively popular. In this session, we'll explore how to use C# in conjunction with Microsoft and Xamarin to develop 2D games that will work on iOS, Android and Windows platforms. We'll cover the basics of 2D game development, working with multiple scenes, animation and even physics. By the end of the session, you'll have seen how to make a cross-platform 2D game that you can use as the basis for creating your own games.
Building your first android app using XamarinGill Cleeren
Do you have a great knowledge about C#? Maybe you’ve already built a great mobile app on Windows Phone or Windows 8? Would you like to be able to use your knowledge to build an Android app without having to resort to other languages or IDEs? Well, now you can! With Xamarin. In this session, Gill Cleeren will take you through the creation of your first Android application. We’ll see how we can use our trusted Visual Studio for this task, how we can create apps with mulitple screens and how we can call services. We’ll also look at how we can deploy the application and how we can debug our code.
Xamarin 4 was just announced including some amazing new features and enhancements including the all new Xamarin Mac Agent and Xamarin.Forms 2.0 for enterprise grade mobile development, the brand new Test Recorder, and free crash reporting with the General Availability of Xamarin Insights. This month we will take a look at all the new enhancements into iOS and Android Development in C# with Xamarin and all of the latest features that were just released. There will be something for everyone in this content packed meetup no matter if you are new or have been developing with Xamarin for some time.
.NET North UG - What’s new & next for Xamarin developersJames Montemagno
A look at what is changing in the world of device app development with the Xamarin tools. James will cover enhancements to the core platforms, cross-platform development with Xamarin.Forms, and awesome new tooling. He'll then explain what's coming with .NET MAUI and what this next evolution of Xamarin.Forms bring for developers and why he is so excited about the future.
This slide deck accompanied the presentation at #SUGUK on 20180322 in London, UK. PowerApps allows you to build business application with no-code, and is included in most Office 365 plans.
Introduction to Mobile Development with Xamarin -DotNet WestideJames Montemagno
Via: https://www.meetup.com/NET-Developers-Association-Westside/events/260583777/
Code: https://github.com/jamesmontemagno/MonkeyFinder6000
Xamarin enables C# developers to become native iOS, Android, macOS, watchOS, and tvOS app developers overnight. In this session, you will learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across any .NET app.
During this session we will cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. Moreover, we will really focus on the code with several live coding adventures throughout the entire session.
Native i os, android, and windows development in c# with xamarin 4Xamarin
Dive into mobile app development with Xamarin 4 in this presentation from Xamarin Developer Evangelist James Montemagno as he walks you through how to build beautiful, performant apps with the Xamarin Platform.
DF17 - Build your own jaw-dropping Salesforce Chrome ExtensionEnrico Murru
Salesforce APIs and Chrome Extensions are a dream team. Join us to learn what a Chrome Extension is made of and how to build your own. You'll learn the building blocks around authorizing it with your Salesforce org and how to manage data access. Get inspired so that you can build YOUR own jaw-dropping extension.
See the full video here https://www.youtube.com/watch?v=nPOz3qYCRkU
Github repository: https://github.com/enreeco/sf-df17-chrome-ext-sesssion
Chrome web store example: https://chrome.google.com/webstore/detail/amazing-salesforce-chrome/mmkccibgnkbmlhgddpnipfciejgfdaoc
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...James Montemagno
Leveraging C# and it’s awesome features to developer iOS and Android apps with Xamarin allows for rapid application development, but how can you go even further. In this session we will take a look at tools, libraries, and other resources to increase productivity enabling you to write less code and share more code across all of your apps. We will additionally dive through everything new in Xamarin.Forms and several tools that Forms has built in to help with cross platform development. No matter how you are developing applications with Xamarin you will be sure to find something new and fun to use on a day to day basis.
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
Presentation given at TechUnder 20 Pre-Hackathon event giving an overview of how to use Xamarin using Visual Studio 2015. Also has an overview of the Xamarin Evolve 2016 conference and summary of Mobile Ate the World presentation.
* Blog post: http://wakeupandcode.com/deeper-into-windows-10-development
The presentation material was adopted from the Microsoft Virtual Academy course on Windows 10 app development, hosted by Jerry Nixon and Andy Wigley.
Whether you’re new to app development, or a published developer, learn how you can leverage your current skills to build apps for the next generation of Windows. Join Sr. Technical Evangelist Shahed Chowdhuri and go deeper into Windows 10 app development. All in-person attendees will get a free BizSpark code which will give you access to all Visual Studio editions, a Windows Store publishing account, free Azure credits, and more!
지난 7월 29일, 개발자 여러분을 위해 준비한 "Windows 10 앱개발 100분 완성" 라이브 영상으로 Windows 10 UWP (Universal Windows Platform) 부터 IoT Core까지 Windows 10 과 관련된 전반적인 내용은 물론 개발에 필요한 핵심정보들을 전달해드립니다. 실시간으로 진행된 Q&A 와 Windows 10 앱개발 데모까지 On-demand 영상으로 확인하실 수 있습니다.
목차
1. UWP
2. XAML Controls
3. Networking
4. Linq
5. Adaptive UI
6. Data Binding
7. SQLite Local Database
8. Toast
Windows 10 pentru dezvoltatori - InfoEducație 2015Julian Atanasoae
În această prezentare vom vorbi despre ce aduce nou Windows 10, ce înseamnă arhitectura de aplicații universale și cum ne ajută să targetăm telefoane, tablete, PC-uri, Xbox și chiar HoloLens și Raspberry Pi. De asemenea, vedem cum ne ajută Microsoft să targetăm platformele concurente - iOS și Android.
Building cross-platform native UIs with one shared codebase was once just a dream. With Xamarin.Forms, this dream is now a reality. Xamarin.Forms allows you to build a native UI for three platforms with one shared C# codebase. Simply put, if you know C# then you already know how to build iOS, Android, and Windows Phone apps. Leverage the .NET Framework to build out your shared business logic including integration with web services and Azure Mobile Services and then build out your shared UI in C# or XAML. Xamarin.Forms also features a built-in two-way data binding, dependency service to help you implement platform-specific code, an advanced cross-platform animation system, support for custom controls, and lots of other powerful features to help you build the best apps possible in the least amount of time.
During this session we will cover the Xamarin platform and the brand new Xamarin.Forms library to share even more code across iOS, Android, and Windows Phone. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS, Android, and Windows Phone mobile apps in C# with Xamarin and Xamarin.Forms.
Join us for a session on building incredible iPad apps with Flex. Too good to be true?
Actually the Flex SDK has a whole set of components and classes suited to easily build
iPad apps. I would even say it's the fastest and easiest way to build iPad apps out there.
Don't believe me? Then come and see how I unravel the hidden gems of the Flex SDK
and build 10 application in less than 60 minutes. You will learn how easy it is to build
powerful view navigation with little code. You will explore all the different components that
the Flex SDK provides you. Additionally you will learn in this code intense talk how to build
effective custom item renders. Wait, there is even more, we'll throw in tips and tricks how
to use Swiz to complement the SDKs built in mechanism to pass data among views, how
to integrate google maps and Mapquest, and how to communicate effectively with a
server using XML and JSON. You will acquire all the secret to build kick-ass applications
that can be deployed on Apple App Store.
New XAML/UWP features in Windows 10 Fall Creators UpdateFons Sonnemans
Slides used in my TechDays 2017 NL session. The video can be found on: https://www.youtube.com/watch?v=ICy_zPQuYQ0 the source of my demo is published on https://github.com/sonnemaf/FallDemos
Microsoft maakt Windows 10 Fall Creators Update vanaf 17 oktober beschikbaar. Voor deze versie is natuurlijk ook een nieuwe SDK aanwezig. In deze sessie gaan we de nieuwe mogelijkheden van deze SDK voor XAML applicaties bekijken. De nieuwe properties van de bestaande controls, de nieuwe controls, conditional XAML, .NET Standard 2.0 support en natuurlijk Fluent Design. Ontwikkel je al Windows 10 apps of wil je beginnen? Dan is deze sessie een aanrader.
Presented at NDC Oslo
C# has become one of the most prolific languages used in game development. Games developed in C# can be created to target desktops, tablets, mobile devices and game consoles, while sharing nearly the entire code base. On mobile devices 2D games in particular are massively popular. In this session, we'll explore how to use C# in conjunction with Microsoft and Xamarin to develop 2D games that will work on iOS, Android and Windows platforms. We'll cover the basics of 2D game development, working with multiple scenes, animation and even physics. By the end of the session, you'll have seen how to make a cross-platform 2D game that you can use as the basis for creating your own games.
Building your first android app using XamarinGill Cleeren
Do you have a great knowledge about C#? Maybe you’ve already built a great mobile app on Windows Phone or Windows 8? Would you like to be able to use your knowledge to build an Android app without having to resort to other languages or IDEs? Well, now you can! With Xamarin. In this session, Gill Cleeren will take you through the creation of your first Android application. We’ll see how we can use our trusted Visual Studio for this task, how we can create apps with mulitple screens and how we can call services. We’ll also look at how we can deploy the application and how we can debug our code.
Xamarin 4 was just announced including some amazing new features and enhancements including the all new Xamarin Mac Agent and Xamarin.Forms 2.0 for enterprise grade mobile development, the brand new Test Recorder, and free crash reporting with the General Availability of Xamarin Insights. This month we will take a look at all the new enhancements into iOS and Android Development in C# with Xamarin and all of the latest features that were just released. There will be something for everyone in this content packed meetup no matter if you are new or have been developing with Xamarin for some time.
.NET North UG - What’s new & next for Xamarin developersJames Montemagno
A look at what is changing in the world of device app development with the Xamarin tools. James will cover enhancements to the core platforms, cross-platform development with Xamarin.Forms, and awesome new tooling. He'll then explain what's coming with .NET MAUI and what this next evolution of Xamarin.Forms bring for developers and why he is so excited about the future.
This slide deck accompanied the presentation at #SUGUK on 20180322 in London, UK. PowerApps allows you to build business application with no-code, and is included in most Office 365 plans.
Introduction to Mobile Development with Xamarin -DotNet WestideJames Montemagno
Via: https://www.meetup.com/NET-Developers-Association-Westside/events/260583777/
Code: https://github.com/jamesmontemagno/MonkeyFinder6000
Xamarin enables C# developers to become native iOS, Android, macOS, watchOS, and tvOS app developers overnight. In this session, you will learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across any .NET app.
During this session we will cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. Moreover, we will really focus on the code with several live coding adventures throughout the entire session.
Native i os, android, and windows development in c# with xamarin 4Xamarin
Dive into mobile app development with Xamarin 4 in this presentation from Xamarin Developer Evangelist James Montemagno as he walks you through how to build beautiful, performant apps with the Xamarin Platform.
DF17 - Build your own jaw-dropping Salesforce Chrome ExtensionEnrico Murru
Salesforce APIs and Chrome Extensions are a dream team. Join us to learn what a Chrome Extension is made of and how to build your own. You'll learn the building blocks around authorizing it with your Salesforce org and how to manage data access. Get inspired so that you can build YOUR own jaw-dropping extension.
See the full video here https://www.youtube.com/watch?v=nPOz3qYCRkU
Github repository: https://github.com/enreeco/sf-df17-chrome-ext-sesssion
Chrome web store example: https://chrome.google.com/webstore/detail/amazing-salesforce-chrome/mmkccibgnkbmlhgddpnipfciejgfdaoc
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...James Montemagno
Leveraging C# and it’s awesome features to developer iOS and Android apps with Xamarin allows for rapid application development, but how can you go even further. In this session we will take a look at tools, libraries, and other resources to increase productivity enabling you to write less code and share more code across all of your apps. We will additionally dive through everything new in Xamarin.Forms and several tools that Forms has built in to help with cross platform development. No matter how you are developing applications with Xamarin you will be sure to find something new and fun to use on a day to day basis.
Getting Started with iOS & Android Development Using Xamarin & Visual StudioMark Arteaga
Presentation given at TechUnder 20 Pre-Hackathon event giving an overview of how to use Xamarin using Visual Studio 2015. Also has an overview of the Xamarin Evolve 2016 conference and summary of Mobile Ate the World presentation.
* Blog post: http://wakeupandcode.com/deeper-into-windows-10-development
The presentation material was adopted from the Microsoft Virtual Academy course on Windows 10 app development, hosted by Jerry Nixon and Andy Wigley.
Whether you’re new to app development, or a published developer, learn how you can leverage your current skills to build apps for the next generation of Windows. Join Sr. Technical Evangelist Shahed Chowdhuri and go deeper into Windows 10 app development. All in-person attendees will get a free BizSpark code which will give you access to all Visual Studio editions, a Windows Store publishing account, free Azure credits, and more!
지난 7월 29일, 개발자 여러분을 위해 준비한 "Windows 10 앱개발 100분 완성" 라이브 영상으로 Windows 10 UWP (Universal Windows Platform) 부터 IoT Core까지 Windows 10 과 관련된 전반적인 내용은 물론 개발에 필요한 핵심정보들을 전달해드립니다. 실시간으로 진행된 Q&A 와 Windows 10 앱개발 데모까지 On-demand 영상으로 확인하실 수 있습니다.
목차
1. UWP
2. XAML Controls
3. Networking
4. Linq
5. Adaptive UI
6. Data Binding
7. SQLite Local Database
8. Toast
Windows 10 pentru dezvoltatori - InfoEducație 2015Julian Atanasoae
În această prezentare vom vorbi despre ce aduce nou Windows 10, ce înseamnă arhitectura de aplicații universale și cum ne ajută să targetăm telefoane, tablete, PC-uri, Xbox și chiar HoloLens și Raspberry Pi. De asemenea, vedem cum ne ajută Microsoft să targetăm platformele concurente - iOS și Android.
Маргарита Остапчук "Що нового в Windows 10 для розробників"Fwdays
Універсальна платформа Windows - це велика зміна для Microsoft, що надає радикально нові можливості для розробників: можливість створювати один додаток, який може запускатись на кількох типах пристроїв, здійснюючи підтримку відповідного досвіду використання.
Universal Windows PlatformProgramando para todos y todasMariano Sánchez
Universal Windows Platform (UWP) es la propuesta de Microsoft para poder desarrollar una única aplicación que corra en toda la plataforma Windows (IOT, PC, Mobile, Xbox, HoloLens) utilizando una nueva API existente en todos los dispositivos con Windows 10. En esta sesión revisaremos los fundamentos de esta tecnología.
Introduction to Cross Platform Mobile Apps (Xamarin)BizTalk360
This presentation is from the TechMeet360 event held on July 9, 2016 at BizTalk360 office premises. In this slide, BizTalk360's Senior Software Developer gives introduction to Cross Platform Mobile Apps (Xamarin) and its amazing features, benefits, extensibility and other customization options.
With Windows 10 devices reaching nearly 300 million, this platform is becoming a very relevant platform for game publishers to target. Join this session to get a great overview of the Universal platform. We will cover the differences & similarities to desktop games development, the Windows store, and state of all the middleware engines and other Microsoft technologies you can use to easily port your game from other platforms (or desktop) to Universal.
Continuous integration and delivery with Xamarin and VSTSGill Cleeren
Writing the code for your next Xamarin project isn’t all that difficult. But the coding is only part of the job.
Using Visual Studio Team Services, it’s now easier than ever to set up continuous integration for your Xamarin app development to build and test your apps, including unit tests and UI tests. You can even integrate with the Xamarin Test Cloud to execute UI test for your apps on numerous devices, running in the cloud. You’ll learn how HockeyApp can help us with the distribution of the test versions of the app to our real testers and how you can monitor crashes while testing. Finally, we’ll learn about release management to create the packages ready for the different stores.
With Xamarin now free for everyone, the popularity of the cross-platform framework is increasing rapidly. We’ve now had the time to play around with it, now the time has come to build serious apps with it.
In this session, you’ll learn how a real-world Xamarin application architecture is built, with an emphasis on testability and maintainability. The app we’ll look at is called MyTrains, an application used to book train journeys.
You’ll see an architecture that has proven itself over different projects already. The architecture is using the MvvmCross framework. You’ll see how the architecture is built from the ground up, starting with model, the repositories and the services. On top of that, we’ll build the view models which will be used by the views in the iOS and Android apps. Along the way, you’ll see how MvvmCross uses data binding and commanding and how navigation is handled in MVVM
You’ll walk away with an example of how real applications in Xamarin should be built. You’ll be able to use this as your starting point for your next Xamarin application.
Building your first iOS app using XamarinGill Cleeren
Your task before coming to this session: know C# and .NET. Your mission during this session: learn how you can leverage your C# knowledge to build iOS apps. If you decide to accept this mission: be prepared to see how in just 60 minutes, a complete iOS app will appear in front of you. All using C#. This session will destroy itself after 60 minutes.
Are you struggling to create a consistent user interface for your web app? Don't want to bring in too many expensive designers? Take a look at Bootstrap!
Building a community - BuildStuff Lithuania 2014Gill Cleeren
You want to be a user group lead? Thinking of starting your own user group? Awesome! But there are a number of things to think about before starting. Is your whole idea viable? Where do I get speakers and attendees? Should I create a legal entity? How do I finance the whole thing?
In this session, Gill Cleeren will tell you how he has had a successful user group in Belgium for almost 10 years now.
C# everywhere: Xamarin and cross platform developmentGill Cleeren
C# is hotter than ever. Using Xamarin, we can use C# to not only build our apps on Windows Phone but also on iOS and Android. The magic that sits between are PCLs (Portable Class Libraries) that we can re-use on all these platforms. The goal is of course achieving the highest level of code sharing and re-using.
In this talk, we'll see how we can share code between Windows Phone, iOS and Android to build a cross-platform app using Xamarin. You'll also see how much of the marketing fluff is real: do we really get a lower time-to-market when sharing code and is this approach really cheaper than building 3 apps separately? Come to this talk and learn all about it
jQuery is the new favorite of web developers. This lightweight JavaScript library makes developers love writing JavaScript code again! What needed 20 lines of code first is now reduced to 3 lines. Who wouldn’t be enthusiastic?! Microsoft showed its love for the library by fully integrating it in Visual Studio. I dare to ask: Should you stay behind? In this session, we’ll take a look at jQuery and we’ll teach you what you need to know to get on your way. More specifically, we’ll look at selectors, attributes, working with WCF, jQuery UI and much more. You may walk out of this session wearing a sticker: “I love jQuery”!
HTML5 contains many new interesting features that make the platform a capaple development platform. Sockets, SVG, geolocation, local storage and many more are included in the platform. In this one hour session, we will look at cool implementations of 10 features of HTML5
We’re not going to get into a real fight in this talk, don’t worry. Instead we are going to compare the 2 popular languages in their current state and see what the benefits and disadvantages are. Maybe we’ll throw some Angular in the battle as well and see what influence that has on the outcome of the match. After this talk, you’ll be better armed in your next meeting on which technology you should use for your next project!
Why you shouldn't dismiss windows 8 for your lob appsGill Cleeren
In this webinar, we are going to take a look at the different mobile platforms to build business apps and we are going to focus on one in particular, and that is Windows 8. Windows 8 launched almost a year ago and in the near future, it’ll start playing an important role in business app development.
The video recording is available at http://gicl.me/13iHpk7
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
4. http://windows.Microsoft.com
Agenda
• The Story of 10
• XAML: then and now
• Data binding improvements
• Adaptive, adaptive and more adaptive
• New in Live Tiles
• The App Lifecycle
• (Optional) App-to-App communication
• (Optional) App Services
6. http://windows.Microsoft.com
Windows Core
The refactored common core
One hardware platform
Universal hardware driver
Standard network and I/O
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Desktop
SKU
Phone
SKU
Xbox
SKU
13. http://windows.Microsoft.com
Windows app
A single binary
Running on any device
Testing for capabilities
Adjusting to devices
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
14. http://windows.Microsoft.com
The developer story
When writing for iOS,
A developer writes for iPad & iPhone
When writing for Android,
A developer writes for all supported devices
When writing for Windows 8,
A developer writes for each devices
When writing for Windows 10,
A developer writes for every device
19. http://windows.Microsoft.com
Test capabilities at runtime
Use Adaptive Code to light-up
your app on specific devices
var api = "Windows.Phone.UI.Input.HardwareButtons";
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api))
{
Windows.Phone.UI.Input.HardwareButtons.CameraPressed
+= CameraButtonPressed;
}
23. http://windows.Microsoft.com
RelativePanel
Defines an area within which you can position and align child objects in relation to
each other or the parent panel.
RelativePanel is a constraint based layout container that you can use to create UIs
by expressing spatial relationships between elements.
Using RelativePanel’s attached properties, you can position a UI element relative to
another UI element (A is RelativePanel.Below B) as well as relative to the panel (A is
RelativePanel.AlignTopWithPanel).
-MSDN
61. http://windows.Microsoft.com
x:Bind
Compiled binding
Bindings are committed at compile-time
Strongly-typed binding
Duck binding is not supported
Default mode is OneTime
OneWay and TwoWay are still available
Standard binding approaches
INotifyPropertyChanged, IObservableVector, INotifyCollectionChanged
69. http://windows.Microsoft.com
Binding for Events
<Button Click="PokeEmployee">Poke Employee</Button>
<Button Click="{x:Bind Employee.Poke}">Poke Employee</Button>
Signature
Have no parameters - void Poke()
Match event parameters - void Poke(object sender, RoutedEventArgs e)
Match event base types - void Poke(object sender, object e)
Overloading is not supported
Because all events are eligible:
This may replace ICommand & EventToCommand
Note: this does not include parameter or CanExecute
70. http://windows.Microsoft.com
Page.ViewModel
public sealed partial class MainPage : Page
{
public MainPage()
{
InitializeComponent();
this.DataContextChanged += (s, e) =>
{
ViewModel = DataContext as ViewModels.MainPageViewModel;
};
}
// strongly-typed view models enable x:bind
public ViewModels.MainPageViewModel ViewModel { get; set; }
}
72. http://windows.Microsoft.com
When to use classic binding
Duck Typing
Text=“{Binding Age}” works for both PersonModel & WineModel
Dictionary graphs
Use {Binding} with JSON or other untyped objects
Code-behind binding: adding and removing
bindings on the fly
Can add/remove {x:Bind} @ runtime
Use in a style
{x:Bind} can’t be used in a style for setters
{x:Bind} can be used in a DataTemplate that is defined in the style
73. {x:Bind} is not for
every situation right now.
It will in the future.
74. x:Bind can meet your binding
needs most of the time.
Let’s say around 80%
79. http://windows.Microsoft.com
Tailored design
Build pages/code for individual families
Use MRT in App.xaml.cs to determine the family
One-handed interface?
Typically phone or small tablets
Test diagonal screen size (<7")
if (physical_diagonal_size <= 7)
// optimized for one-handed operation
rootFrame.Navigate(typeof(MainPage_OneHanded), e.Arguments);
else
rootFrame.Navigate(typeof(MainPage), e.Arguments);
89. http://windows.Microsoft.com
Three core adaptive approaches
Responsive design
Resize your content
Reflow your content
Adaptive design
Reposition your content
Redesign your content
Tailored design
96. http://windows.Microsoft.com
Using Specific Versions of an API
Adaptive code techniques are not only for handling
device family-specific code
You write your app against a base UWP version, but 6
months later, UWP v.Next ships to users machines
Applies to Extension SDKs and Packages as well – new versions may offer new functionality
You want to keep supporting customers who haven’t
updated yet, but take advantage of up-level APIs for those
who have
98. http://windows.Microsoft.com
Gate use of up-level APIs
var contract = "Devices.Scanners.ScannerDeviceContract";
int majorVersionRequired = 3;
if (Windows.Foundation.Metadata.ApiInformation.
IsApiContractPresent(contract, majorVersionRequired ))
{
// Call the API that is present in V3 and above
...
}
else
{
// Your original code supporting users who haven’t upgraded yet
...
}
100. http://windows.Microsoft.com
What about shared projects?
Shared Projects share code
at the code level, pre-
compilation
Share with Windows 8.1 projects, Xamarin projects,
anything…
Still completely supported
#if Compilation directives used to conditionally include
code by those projects referencing the Shared Project
1. WINDOWS_APP
2. WINDOWS_PHONE_APP
3. WINDOWS_UAP (new)
101. http://windows.Microsoft.com
Use Adaptive Code in Shared too!
#if WINDOWS_PHONE_APP
// Processing for Windows Phone 8.1 only
Windows.Phone.UI.Input.HardwareButtons.CameraPressed
+= this.Camera_Pressed;
#elif WINDOWS_UAP
// Processing for Windows UWP – Desktop AND Mobile
if (Windows.Foundation.Metadata.ApiInformation
.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons";))
{
// But this is only for UWP AND Mobile
Windows.Phone.UI.Input.HardwareButtons.CameraPressed
+= this.Camera_Pressed;
}
#endif
103. http://windows.Microsoft.com
Basic State
Plate
App Logo
Short Name
Plate
App Logo
Short Name
Semi-Live State
Plate
App Logo
Short Name
Badge
Plate
App Logo
Short Name
Badge
Live State
Plate
App Icon
Short Name
Badge
Content
Plate
Short Name
Badge
App Icon
Content
Tile anatomy
105. http://windows.Microsoft.com
Update tile badge
// build badge
var type = BadgeTemplateType.BadgeNumber;
var xml = BadgeUpdateManager.GetTemplateContent(type);
// update element
var elements = xml.GetElementsByTagName("badge");
var element = elements[0] as Windows.Data.Xml.Dom.XmlElement;
element.SetAttribute("value", "47");
// send to lock screen
var updator = BadgeUpdateManager.CreateBadgeUpdaterForApplication();
var notification = new BadgeNotification(xml);
updator.Update(notification);
106. http://windows.Microsoft.com
Responsive tiles
Tiles are not
always the same size
Tiles adapt to
the screen they are on
Since the Start grid has different densities
and adapts to the screen size of your device,
so do our tiles and the content within them.
High density exampleLow density example
109. http://windows.Microsoft.com
Legacy templates
If a template meets your
needs, go ahead and use it.
Previous templates remain
Phone and Windows templates have been merged
There are over 80 templates available
110. http://windows.Microsoft.com
Create a secondary tile
var tileId = "DetailsTile";
var pinned = SecondaryTile.Exists(tileId);
if (!pinned)
{
var tile = new SecondaryTile(tileId)
{
DisplayName = "Record details",
Arguments = "123"
};
// extra details
var success = await tile.RequestCreateAsync();
}
132. http://windows.Microsoft.com
Extended execution
Requesting extended execution
There is no guarantee resources are available
Extended execution has no UI
Scenario “I have data this time”
Handle the Revoked event (1 second warning)
Scenario “I’m a special kind of app”
These apps run indefinitely
Special kinds of apps
1. Turn-by-turn (location tracking) app
2. Audio & VOIP application
133. There is a balance between load
speed & shutdown time
148. http://windows.Microsoft.com
URI Activation++
Invoke a specific app
var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";
var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");
await Launcher.LaunchUriAsync(launchUri, options);
149. http://windows.Microsoft.com
URI Activation++
Send Files
var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";
var token = SharedStorageAccessManager.AddFile (gpxFile);
ValueSet inputData = new ValueSet();
inputData.Add("Token", token);
var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");
await Launcher.LaunchUriAsync(launchUri, options, inputData);
150. http://windows.Microsoft.com
Query URI Support
Discover if app already installed to handle a Uri
var queryUri = new Uri("instapaper:");
await Launcher.QueryUriSupportAsync(queryUri, LaunchUriType.LaunchUri);
?
var queryUri = new Uri("instapaper:");
string packageFamilyName = "24919.InstapaperIt";
await Launcher.QueryUriSupportAsync(queryUri, LaunchUriType.LaunchUriForResults, packageFamilyName);
152. http://windows.Microsoft.com
URI Activation for Device Settings
Category Settings page Mobile and/or Desktop Uri
System
Display (on desktop)
Screen (on mobile)
Both ms-settings://screenrotation
Notifications Both ms-settings://notifications
Storage Sense Both ms-settings://storagesense
Battery Saver Both ms-settings://batterysaver
Maps Both ms-settings://maps
Devices Bluetooth Both ms-settings://bluetooth
Network and Wi-fi
Wi-Fi Both ms-settings://network/wifi
Airplane mode Both ms-settings://network/airplanemode
Cellular Both ms-settings://network/cellular
Data Sense Both ms-settings://datasense
NFC Mobile only ms-settings://proximity
Proxy Desktop only ms-settings://network/proxy
More… [See documentation for complete list]
154. http://windows.Microsoft.com
Launch for Results
Launching the app
var options = new LauncherOptions();
options.TargetApplicationPackageFamilyName = "24919.Instap";
var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");
await Launcher.LaunchUriForResultsAsync(launchUri, options, data);
var resultData = new ValueSet();
resultData.Add("Result", value);
operation.ProtocolForResultsOperation.ReportCompleted(resultData);
App1 App2
156. With App Services, store
applications can provide services to
other store applications
157. http://windows.Microsoft.com
What are App Services?
UWP offers many APIs that allow apps to interact with the
platform
• Windows.ApplicationModel.Contacts
• Windows.ApplicationModel.Email
• Windows.System.Launcher.LaunchUriAsync to launch settings, maps, store etc…
• more…
UWP also allows apps to interact with each other
• Uri Associations using LaunchUriAsync
• File associations using LaunchFileAsync
• Launch for results using LaunchUriForResultsAsync
• App Services
161. http://windows.Microsoft.com
AppServiceConnection connection = new AppServiceConnection();
connection.AppServiceName = "microsoftDX-appservicesdemo";
connection.PackageFamilyName = "24919ArunjeetSingh.InstapaperIt";
AppServiceConnectionStatus connectionStatus = await connection.OpenAsync();
if (connectionStatus == AppServiceConnectionStatus.Success)
{
//Send data to the service
var message = new ValueSet();
message.Add("Command", "CalcSum");
message.Add("Value1", Int32.Parse(Value1.Text));
message.Add("Value2", Int32.Parse(Value2.Text));
//Send message and wait for response
AppServiceResponse response = await connection.SendMessageAsync(message);
if (response.Status == AppServiceResponseStatus.Success)
{
int sum = (int)response.Message["Result"];
new MessageDialog("Result=" + sum).ShowAsync();
}
}
else
{
//Drive the user to store to install the app that provides the app service
}
App Services – Client
162. http://windows.Microsoft.com
namespace AppServicesDemoTask
{
public sealed class AppServiceTask : IBackgroundTask
{
private static BackgroundTaskDeferral _serviceDeferral;
public void Run(IBackgroundTaskInstance taskInstance)
{
// Associate a cancellation handler with the background task.
taskInstance.Canceled += TaskInstance_Canceled;
// Get the deferral object from the task instance
_serviceDeferral = taskInstance.GetDeferral();
var appService = taskInstance.TriggerDetails as AppServiceTriggerDetails;
if (appService.Name == "microsoftDX-appservicesdemo")
{
//Maybe ValidateCaller(appService.CallerPackageFamilyName) ??
appService.AppServiceConnection.RequestReceived += RequestReceived;
}
}
...
App Services – Service (1/2)
163. http://windows.Microsoft.com
private async void RequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args)
{
var message = args.Request.Message;
// This service uses a Command keyed entry for the client to invoke services from the App Service
string command = message["Command"] as string;
switch (command)
{
case "DoIt": {
var messageDeferral = args.GetDeferral();
int value1 = (int)message["Value1"];
... Do some processing
//Set a result to return to the caller
var returnMessage = new ValueSet();
returnMessage.Add("Result", result);
var responseStatus = await args.Request.SendResponseAsync(returnMessage);
messageDeferral.Complete();
break;
}
case "Quit": {
//Service was asked to quit. Complete service deferral so platform can terminate
_serviceDeferral.Complete();
break;
}
App Services – Service (2/2)
165. http://windows.Microsoft.com
Two-way Communication
Client and server can keep a two-way chatty
communication channel open
Client can attach a RequestReceived event handler to its own
AppServiceConnection instance
Both client and server can send and receive messages
AppServiceConnectionStatus connectionStatus = await connection.OpenAsync();
if (connectionStatus == AppServiceConnectionStatus.Success)
{
connection.RequestReceived += OnRequestReceived;
}
If you want to keep support for windows 8.1 you can keep your shared project – and leverage the new compiler directive “WINDOWS_UAP” for Windows 10 specific functionality.
If you want to leverage full UAP targeting Windows 10, instead of compiler directives leverage the new ApiInformation.