development windows phone & w8 - mobile...
TRANSCRIPT
Windows Phone
*39PDA
Principles of Mobile Application Design
Václav Jirovský, ČVUT FIT
Development Win8 & WP
Topics
What is Windows Phone?– Versions
– Design guidelines
– Architecture
Development– Languages & IDE
– Application resources
– Data storage
– Localization
– Live Tiles
Universal apps
Windows Store– Overview
– Rules
Resources
Development Win8 & WP
What is Windows Phone?
OS for mobile devices
Development Win8 & WP
Windows Phone != Windows Mobile
Development Win8 & WP
WP versions overview
Windows Phone 7– „revolution“ – no backward compatibility with Windows Mobile
– Discontinued - you can’t upgrade your WP7 device
Windows Phone 8– New core same as in Windows 8
– Backward app compatibility with WP7
Windows Phone 8.1– Improved UI, enterprise fuctions
– Backward app compatibility with WP8
Development Win8 & WP
Multi-pages design
Panorama
Development Win8 & WP
Multi-pages design
Panorama
Development Win8 & WP
Multi-pages design
Pivot
Development Win8 & WP
Gestures
Development Win8 & WP
UI controls
App bar
App bar
Development Win8 & WP
UI controls
Development Win8 & WP
Design
Enhancements
Buttons
Source: http://blogs.msdn.com/b/africaapps/archive/2014/03/08/ux-guidelines-for-windows-phone-8.aspx
Development Win8 & WP
App pages flow
Back button Back button
Development Win8 & WP
App lifecycle
Development Win8 & WP
Development
Development Win8 & WP
What you need?
Windows 8 Pro 64-bit– processor with Hyper-V+SLAT support
Visual Studio 2013 (Update 2)+
Windows Phone Emulators images– https://dev.windows.com/en-us/develop/download-phone-sdk
Where to get it (for free)?
Dreamspark – students– www.dreamspark.cz
Bizspark – startups– www.bizspark.cz
Development Win8 & WP
Architecture
Development Win8 & WP
Development using C# (C++, VB)
Used technologies: XAML, C#
XAML
Development Win8 & WP
Development using HTML5+CSS
Used technologies: HTML, JavaScript, CSS
Microsoft open-source library WinJS– Calls system API (access to file, sensors,...)
HTML5 data- attributes
<div id="ratingControlHost"data-win-control="WinJS.UI.Rating"data-win-options="{maxRating: 10, averageRating: 6}">
</div>
<div id="timepicker“data-win-control="WinJS.UI.TimePicker“data-win-options="{current: '10:29 am'}">
</div>
Development Win8 & WP
DEMO
C# and WinJS project wizard
Development Win8 & WP
Appmanifest
XML files Package.appxmanifest,
WMAppManifest.xml
Describes app– Application name
– icons
– Languages
– Permissions
• For example: microphone, sensors, webcam
…
Development Win8 & WP
DEMO
Appmanifest
Development Win8 & WP
Notification - live tiles
Development Win8 & WP
Push notifications - principle
Development Win8 & WP
Notification – live tiles WP8.0
Iconic Tile Flip Tile
Cycle Tile
Development Win8 & WP
DEMO
Tile notifications
Tile template cataloghttp://msdn.microsoft.com/en-us/library/windows/apps/hh761491.aspx
Development Win8 & WP
Notification - toasts
Development Win8 & WP
DEMO
Toast notifications
Development Win8 & WP
Image resources
Splashscreen Icons
Development Win8 & WP
Data storage
Local settings
Roaming settings– Synced across user’s devices
Isolated storage– Local folder, Roaming folder
– SQLite
Network storage– Azure Mobile Services
Development Win8 & WP
Localization
In view are binded texts (strings) needed to be
translated
Language resource file
Similar as Gettext
Development Win8 & WP
Background tasks
PeriodicTask– Runs every ~ 30 minutes
– Max. 25 seconds
– Max. 6MB RAM usage
ResourceIntensiveTask– Runs when charging & battery >=90% & Wi-Fi & phone is not used
– Max. 6MB RAM usage
Development Win8 & WP
Universal applications
Development Win8 & WP
Universal applications
Source: http://www.slideshare.net/devfish/universal-apps-for-windows-runtime
Development Win8 & WP
Universal applications - API
Development Win8 & WP
Universal applications - API
Windows Runtime covers
more than 90% Windows
Phone Runtime API
Development Win8 & WP
Universal applications
Develop one application for– Windows Phone
– Windows 8.1 (tablets+computers)
– Xbox One
Same principle as responsive web design
One controller (code), more views
User buys one app = pays once = happy user
Development Win8 & WP
Universal applications
In Visual Studio universal app is made by:
– Windows Store project
– Windows Phone project
– “glue project”
Development Win8 & WP
DEMO
Universal applications VS project
Development Win8 & WP
Windows Store
Development Win8 & WP
Windows Store
https://dev.windows.com/en-us/dashboard
Together for Windows 8.1 & Windows Phone
Registration fee– Lifetime registration
– For students free registration
App is compiled into one package (.xap)
Development Win8 & WP
Windows Store – certification process
All apps (even updates of existing app) goes
through certification
Usually takes 3-5 days
Long list of certification rules– http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx
“Aplikace nevyhovuje požadavku 4.4. Tento požadavek se týká aplikací, které mají funkce zásadního
významu. To znamená, že když aplikace selže, může dojít ke zranění lidí. Příkladem takovéto
nekompatibilní aplikace je aplikace GPS určená k použití při pohotovostním zásahu, kdy jde o život, nebo
aplikace určená k řízení letecké dopravy.”
Development Win8 & WP
DEMO
Generate package (WACK) + submit new app to
Store
Development Win8 & WP
More resources
MSDN documentation– Documentation, demos, tutorials
– http://msdn.microsoft.com/en-us/library/windows/apps/br229565.aspx
– http://dev.windows.com
StackOverflow– Lot of answered questions
– http://stackoverflow.com
Development Win8 & WP
Thank you for you attention!
Václav Jirovský
@vjirovsky