BUILD 2014, San Francisco
What’s New for Windows and Windows Phone Developers (9-001) – Charles Torre, Kevin Gallo
Day 1, 2 Apr 2014, 11:30AM-12:00PM
Disclaimer: This post contains my own thoughts and notes based on watching BUILD 2014 keynotes and presentations. Some content maps directly to what was originally presented. Other content is paraphrased or represents my own thoughts and opinions and should not be construed as reflecting the opinion of Microsoft or of the presenters or speakers.
Charles Torre – Exec Producer – App Experience
Kevin Gallo – Director of Windows Developer Platform
(Partner Director Program Management)
What is Universal app?
- Write once, run on multiple devices
- Tuned to each device
Common set of APIs
- Work across all devices
- 90-95% of APIs are shared
- Small number are appropriate to only certain devices (e.g. SMS)
- Basically the same API that we’ve had in the past
All languages—C#, VB, Javascript, et al
Two major new things
- Larger subset of API on Windows Phone (90-95%)
- Project system in Visual Studio supports cross-platform projects (shared template)
For existing Windows Phone apps
- Written in Silverlight 8.0, doesn’t have access to new APIs
- But latest version of Silverlight does
How to migrate old apps
- Upgrade project from 8.0 to 8.1
- Then have access to all APIs
-
Or use Light Up
- Keep as 8.0
- Use reflection to detect 8.1, take advantage of some features
- App “lights up” when running on 8.1 phone
Q: What’s difference between PCL-based application and Universal app?
- PCL – subset of APIs that work across libraries; can share just code
-
Universal app – can share XAML, localization, etc.
- Share more than just code
- Natural evolution of PCL
Q: Can I make apps by using only HTML5/Javascript?
-
Choices
- C#/XAML
- DirectX / XAML
- HTML5 / JavaScript
- Flexibility
- Can mix/match
Q: How to ensure quality apps on Windows devices?
- Microsoft is providing tools for diagnostics & performances
- Diagnostics help find bottlenecks
- Reduces developer time for making great app
Q: Possible to create Universal App from existing WP8 app?
- Some changes have been made to XAML
- XAML is more “predictable”
- Little bit of work to port, but not too bad
Q: Why choose Windows 8 platform over Android/iOS?
- Not really about choosing
- Rather, about reaching customer
Q: Do I need to know multiple languages to create a WP app?
- No
Q: Full .NET on Win RT?
- No
Q: Upgrade XNA to 8.1?
- No, we haven’t done that much. Still need to port to DirectX
Q: DirectX 12 on phone?
- Have not yet announced
Q: Universal App – separate app packages?
- Yes, because they are different binaries
- But Project system makes seamless
- Two targets
Q: Option for devs to use 3rd party Javascript frameworks?
- Yes, fully support 3rd party libraries
- Goal is to help devs do cross-platform
- Contributing WinJS to open source
- Interop works (very important)
Q: When will SDK be available?
- RC being released now, RTM later
Q: Some APIs that can’t be shared?
- Not really
- Mainly: SMS, printing
- 90-95% of code will be shared
Q: Universal Apps support DirectX with C#?
- No, just C or C++
Q: When will XBox One apps use this model?
- Coming in the future
Q: What device are you using right now?
- Nokia 1020 as Phone; Surface Pro as development for Windows
Shared Core, Shared Kernel, drivers?
- We’ve merged Windows, Windows Phone, XBox kernels
- From APIs down to drivers and kernel
Optimizations for power & memory management?
- Have tuned for phone, and then every device is faster, due to shared codebase
- E.g. Shared libs between different apps—they’ll just exist in one place on the phone
Q: Why no VB support for Universal Apps?
- We do support VB.NET
Q: C++ and managed C++/CLI support for Universal Apps?
- Same interface for C++ on Windows and Phone
Q: Will Universal App work on Win 7?
- No. Just Win 8.1, Windows Phone 8.1
- Stuff replaced is down at the OS level
Q: Can you use JavaScript code for Universal Apps?
- Yes
Q: Support for 3rd party devs to write kernel drivers?
- No comment
Q: Use C?
- Yes
Q: New Live Tile APIs?
- Can do updating from background a bit better
- Better experience on tile
Background computing on power-constrained platform is challenging
- Triggers—in background, CPU can run just a little bit of code when code wakes up
- Makes app much more interactive
- Conserves power, but gives user good experience
How granular can toast be? Can we drill down into app after clicking on toast
- I think so
Action Center
- Developer can access to see events that have happened in the past
Q: Traditional desktop apps being phased out?
- Absolutely not
- Not “phasing out” anybody’s code
- Leverage investment that you’ve made in these apps
- Maybe a bit tough to transition to use new technologies
- Coming—more info on how we’ll stitch these two worlds together
- Maybe a bit too hard to leverage new stuff in existing apps
- WinRT Broker is first installment in this set of things to bridge worlds