SlideShare uma empresa Scribd logo
1 de 41
Windows Phone App
Development Overview

Alan Mendelevich
AdDuplex Founder
ailon@ailon.org
http://devblog.ailon.org
Twitter: @ailon
Agenda
•   Hardware
•   Metro
•   Development Overview
•   Publication
Hardware
Hardware Specification 2010
Display                 Multimedia
480x800 QVGA            Codec acceleration
320x480 HVGA (future)

Capacitive              Memory
touch                   256MB RAM or more
4 or more contact       8GB Flash or more
points
Sensors
A-
GPS, Accelerometer, C   GPU
ompass, Light           DirectX 9
                        acceleration
Camera
5 mega pixels or
more                    CPU
                        ARMv7
Hardware buttons        Cortex/Scorpion or
Start, Search, Back     better
Hardware Specification 2011
Form Factors
OEMs
Metro
Metro
Inspiration
Metro Principles
•   Clean, light, open, fast
•   Celebrate typography
•   Alive & in motion
•   Content not chrome
•   Authentically digital
Accent Colors




12
Gestures
Touch Target Sizes
• Minimum recommended
  touch target size – 9mm
  (~90 px)
• Minimum spacing between
  touchable elements – 2mm
• Visible element size – 60-
  100% of touch surface
Application Bar
• Up to 4 buttons
• Only the main
  actions
• Use slide out menu
  for less important
  items
Pivot
• Grouping and filtering of information
• Switching by tapping or swipe gesture
Panorama
• “Rich” content
• Leads user to the
  next screen
• Starting point for
  multiple
  destinations



                       17
Metro & Your Own Style
Development
Overview
Flavors of Applications


 Modern XAML/event-driven      High performance game
  application UI framework       framework
 Rapid creation of visually    Rapid creation of multi-screen
  stunning apps                  2D and 3D games
 Metro-themed UI               Rich content pipeline
  controls                      Mature, robust, widely adopted
 500,000 developers             technology
  spanning Windows               spanning
  and web                        Xbox 360,
                                 Windows,
                                 and Zune
Free Powerful Tools
• Expression Blend   • Visual Studio
Free Powerful Tools
• http://create.msdn.com
  – Visual Studio 2010 Express
  – Windows Phone Emulator
  – Silverlight
  – XNA Game Studio 4.0
  – Microsoft Expression Blend for Windows
    Phone
  – .NET Framework 4
Silverlight for
Windows Phone
Overview
Silverlight 4+
• Based on Silverlight 4
• Plus specific modules (phone functions,
  sensors, etc.)
• XAML + C# (or VB.NET)
• Optimized for performance on smaller,
  less powerful devices
XAML
•   eXtensible Application Markup Language
•   XML based
•   Used in WPF and Silverlight
•   Declaratively describes
    UI, animations, etc.
Theming
• Users can switch system
  colors
  – Select black or white
    background
  – Select “accent” color
• Standard Silverlight
  controls automatically
  adapt to selected theme
• Preset styles
Navigation
• Navigation is page based
     – Similar to web navigation
     – Pages are identified by
       URIs


private void hyperlinkButton1_Click(
       object sender, RoutedEventArgs e)
{
  NavigationService.Navigate(
     new Uri("/SecondPage.xaml",
            UriKind.RelativeOrAbsolute)
  );
}




                                           27
Back Button
• Returns to the previous page
  – UI shouldn’t duplicate this functionality
• The behavior could be overridden when
  going to the previous page isn’t logical
  – Closing a pop-up dialog, etc.
  – Can’t be used for actions absolutely unrelated
    to “returning”, like shooting, etc.
Application Bar
• Use AppBar instead of a
  custom menu system
• Up to 4 buttons + menu
• Buttons for most
  important tasks only
• White color on the
  transparent background
  (without circle)
Orientation support
• Pages can be vertical, horizontal or change
  orientation automatically
• Set via SupportedOrientations property
• PortraitOrLandscape value – automatic
  orientation switching
Data Binding
• Automatically binds object properties
• Separation of concerns
  (design/development)
  – MVVM pattern
Pivot and Panorama
• The best starting
  point for apps
• Complies with
  Metro out of the
  box
• Present information
  in easily digestible
  portions
Pivot vs. Panorama
           Pivot                    Panorama
• Can be used to display    • More impressive
  more information          • Background images
• Supports programmatic       automatically stretched
  switching                 • Horizontal PanoramaItem
• LoadingPivotItem and        for vizualization of content
  UnloadingPivotItem          of different width
  events for delayed
  content loading
• Effective use of screen
  real estate
Launchers and Choosers
• Each app runs in its own sandbox and
  can’t accept system resources or other
  apps
• Launchers and Choosers mitigate this by
  allowing indirect access to these features
Application Lifecycle
                                                Fast App Resume
                                                Resuming .. .



Restore state!
State preserved!                running
IsAppInstancePreserved
IsAppInstancePreserved ==                                Save State!
== false
true



                    activated             deactivated
Tombstone
the oldest
app


       Tombstoned               dormant   Phone resources detached
                                          Threads & timers suspended
Publishing
Publishing Options
Publishing Process
Application and Game Submission


                      .xap            App     .xap
               App
                                  Packaging &
            Submission   .dll                   .dll
                                   Validation
                                                          Marketplace




        Windows Phone 7 Deployment Service


        Add            Apply .xap                .xap
      Metadata          Test              Sign
                                                   .dll
                      Criteria .dll
Summary
•   Modern mobile platform
•   Metro design language
•   Silverlight or XNA or Silverlight+XNA
•   Centralized app Marketplace
Additional resources
• App Hub
  – http://create.msdn.com
• Programming Windows Phone by Charles
  Petzold
  – http://www.charlespetzold.com/phone/
• Twitter - #wpdev
Questions?




             Alan Mendelevich
             Twitter: @ailon
             ailon@ailon.org

Mais conteúdo relacionado

Semelhante a Windows phone app development overview

Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality EngineersAhmed Faidy
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightTung Nguyen Thanh
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookKyle McInnes
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)drupalconf
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentCan Elmas
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1drudolph11
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Discovering the wp8 sdk
Discovering the wp8 sdkDiscovering the wp8 sdk
Discovering the wp8 sdkNico Vermeir
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDamir Beylkhanov
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidJawad Mohmand
 
Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Kunal Chowdhury
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps StoryInnoTech
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)rudigrobler
 
Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyLohith Goudagere Nagaraj
 

Semelhante a Windows phone app development overview (20)

Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality Engineers
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlight
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBook
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Discovering the wp8 sdk
Discovering the wp8 sdkDiscovering the wp8 sdk
Discovering the wp8 sdk
 
Google android os
Google android osGoogle android os
Google android os
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps Story
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)
 
Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET Technology
 

Mais de Alan Mendelevich

The Future of Data Visualization on the Web. FrontEnd Con 2019.
The Future of Data Visualization on the Web. FrontEnd Con 2019.The Future of Data Visualization on the Web. FrontEnd Con 2019.
The Future of Data Visualization on the Web. FrontEnd Con 2019.Alan Mendelevich
 
The Future of Data Visualization on the Web (YGLF)
The Future of Data Visualization on the Web (YGLF)The Future of Data Visualization on the Web (YGLF)
The Future of Data Visualization on the Web (YGLF)Alan Mendelevich
 
The Future of Data Visualization on the Web
The Future of Data Visualization on the WebThe Future of Data Visualization on the Web
The Future of Data Visualization on the WebAlan Mendelevich
 
The Business Side of Windows 10 Apps - MS NetWork6
The Business Side of Windows 10 Apps - MS NetWork6The Business Side of Windows 10 Apps - MS NetWork6
The Business Side of Windows 10 Apps - MS NetWork6Alan Mendelevich
 
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...Alan Mendelevich
 
Business Side of Windows Apps
Business Side of Windows AppsBusiness Side of Windows Apps
Business Side of Windows AppsAlan Mendelevich
 
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...Alan Mendelevich
 
8 Reasons to Bootstrap as Long as You Can
8 Reasons to Bootstrap as Long as You Can8 Reasons to Bootstrap as Long as You Can
8 Reasons to Bootstrap as Long as You CanAlan Mendelevich
 
Ads in Mobile Games and Apps 101
Ads in Mobile Games and Apps 101Ads in Mobile Games and Apps 101
Ads in Mobile Games and Apps 101Alan Mendelevich
 
New EU VAT regulations for #LTstartups
New EU VAT regulationsfor #LTstartupsNew EU VAT regulationsfor #LTstartups
New EU VAT regulations for #LTstartupsAlan Mendelevich
 
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...Alan Mendelevich
 
AdDuplex pitch deck (November, 2013)
AdDuplex pitch deck (November, 2013)AdDuplex pitch deck (November, 2013)
AdDuplex pitch deck (November, 2013)Alan Mendelevich
 
Developer's Guide to Windows Phone App Marketing and Monetization
Developer's Guide to Windows Phone App Marketing and MonetizationDeveloper's Guide to Windows Phone App Marketing and Monetization
Developer's Guide to Windows Phone App Marketing and MonetizationAlan Mendelevich
 
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...Alan Mendelevich
 
Succeeding? Failing? Learning (Hub Camp 15)
Succeeding? Failing? Learning (Hub Camp 15)Succeeding? Failing? Learning (Hub Camp 15)
Succeeding? Failing? Learning (Hub Camp 15)Alan Mendelevich
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Alan Mendelevich
 
The Windows Store and Monetizing your App
The Windows Store and Monetizing your AppThe Windows Store and Monetizing your App
The Windows Store and Monetizing your AppAlan Mendelevich
 
Developer's Guide to Marketing and Monetization of Windows Phone Apps
Developer's Guide to Marketing and Monetization of Windows Phone AppsDeveloper's Guide to Marketing and Monetization of Windows Phone Apps
Developer's Guide to Marketing and Monetization of Windows Phone AppsAlan Mendelevich
 
Making Money with Windows Phone or Windows 8 app
Making Money with Windows Phone or Windows 8 appMaking Money with Windows Phone or Windows 8 app
Making Money with Windows Phone or Windows 8 appAlan Mendelevich
 
Succeeding? Failing? Learning!
Succeeding? Failing? Learning!Succeeding? Failing? Learning!
Succeeding? Failing? Learning!Alan Mendelevich
 

Mais de Alan Mendelevich (20)

The Future of Data Visualization on the Web. FrontEnd Con 2019.
The Future of Data Visualization on the Web. FrontEnd Con 2019.The Future of Data Visualization on the Web. FrontEnd Con 2019.
The Future of Data Visualization on the Web. FrontEnd Con 2019.
 
The Future of Data Visualization on the Web (YGLF)
The Future of Data Visualization on the Web (YGLF)The Future of Data Visualization on the Web (YGLF)
The Future of Data Visualization on the Web (YGLF)
 
The Future of Data Visualization on the Web
The Future of Data Visualization on the WebThe Future of Data Visualization on the Web
The Future of Data Visualization on the Web
 
The Business Side of Windows 10 Apps - MS NetWork6
The Business Side of Windows 10 Apps - MS NetWork6The Business Side of Windows 10 Apps - MS NetWork6
The Business Side of Windows 10 Apps - MS NetWork6
 
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...
From Developer to Startup CEO: Things I've Learned on the Journey (CEE MVP Co...
 
Business Side of Windows Apps
Business Side of Windows AppsBusiness Side of Windows Apps
Business Side of Windows Apps
 
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...
Краткое руководство разработчика по раскрутке и монетизации приложений для Wi...
 
8 Reasons to Bootstrap as Long as You Can
8 Reasons to Bootstrap as Long as You Can8 Reasons to Bootstrap as Long as You Can
8 Reasons to Bootstrap as Long as You Can
 
Ads in Mobile Games and Apps 101
Ads in Mobile Games and Apps 101Ads in Mobile Games and Apps 101
Ads in Mobile Games and Apps 101
 
New EU VAT regulations for #LTstartups
New EU VAT regulationsfor #LTstartupsNew EU VAT regulationsfor #LTstartups
New EU VAT regulations for #LTstartups
 
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...
Developer's Guide to Windows Phone App Marketing and Monetization (fall 2014 ...
 
AdDuplex pitch deck (November, 2013)
AdDuplex pitch deck (November, 2013)AdDuplex pitch deck (November, 2013)
AdDuplex pitch deck (November, 2013)
 
Developer's Guide to Windows Phone App Marketing and Monetization
Developer's Guide to Windows Phone App Marketing and MonetizationDeveloper's Guide to Windows Phone App Marketing and Monetization
Developer's Guide to Windows Phone App Marketing and Monetization
 
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...
Developer's Guide to Marketing and Monetization of Windows Phone Apps (June 2...
 
Succeeding? Failing? Learning (Hub Camp 15)
Succeeding? Failing? Learning (Hub Camp 15)Succeeding? Failing? Learning (Hub Camp 15)
Succeeding? Failing? Learning (Hub Camp 15)
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
 
The Windows Store and Monetizing your App
The Windows Store and Monetizing your AppThe Windows Store and Monetizing your App
The Windows Store and Monetizing your App
 
Developer's Guide to Marketing and Monetization of Windows Phone Apps
Developer's Guide to Marketing and Monetization of Windows Phone AppsDeveloper's Guide to Marketing and Monetization of Windows Phone Apps
Developer's Guide to Marketing and Monetization of Windows Phone Apps
 
Making Money with Windows Phone or Windows 8 app
Making Money with Windows Phone or Windows 8 appMaking Money with Windows Phone or Windows 8 app
Making Money with Windows Phone or Windows 8 app
 
Succeeding? Failing? Learning!
Succeeding? Failing? Learning!Succeeding? Failing? Learning!
Succeeding? Failing? Learning!
 

Último

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Windows phone app development overview

  • 1. Windows Phone App Development Overview Alan Mendelevich AdDuplex Founder ailon@ailon.org http://devblog.ailon.org Twitter: @ailon
  • 2. Agenda • Hardware • Metro • Development Overview • Publication
  • 4. Hardware Specification 2010 Display Multimedia 480x800 QVGA Codec acceleration 320x480 HVGA (future) Capacitive Memory touch 256MB RAM or more 4 or more contact 8GB Flash or more points Sensors A- GPS, Accelerometer, C GPU ompass, Light DirectX 9 acceleration Camera 5 mega pixels or more CPU ARMv7 Hardware buttons Cortex/Scorpion or Start, Search, Back better
  • 11. Metro Principles • Clean, light, open, fast • Celebrate typography • Alive & in motion • Content not chrome • Authentically digital
  • 14. Touch Target Sizes • Minimum recommended touch target size – 9mm (~90 px) • Minimum spacing between touchable elements – 2mm • Visible element size – 60- 100% of touch surface
  • 15. Application Bar • Up to 4 buttons • Only the main actions • Use slide out menu for less important items
  • 16. Pivot • Grouping and filtering of information • Switching by tapping or swipe gesture
  • 17. Panorama • “Rich” content • Leads user to the next screen • Starting point for multiple destinations 17
  • 18. Metro & Your Own Style
  • 20. Flavors of Applications  Modern XAML/event-driven  High performance game application UI framework framework  Rapid creation of visually  Rapid creation of multi-screen stunning apps 2D and 3D games  Metro-themed UI  Rich content pipeline controls  Mature, robust, widely adopted  500,000 developers technology spanning Windows spanning and web Xbox 360, Windows, and Zune
  • 21. Free Powerful Tools • Expression Blend • Visual Studio
  • 22. Free Powerful Tools • http://create.msdn.com – Visual Studio 2010 Express – Windows Phone Emulator – Silverlight – XNA Game Studio 4.0 – Microsoft Expression Blend for Windows Phone – .NET Framework 4
  • 24. Silverlight 4+ • Based on Silverlight 4 • Plus specific modules (phone functions, sensors, etc.) • XAML + C# (or VB.NET) • Optimized for performance on smaller, less powerful devices
  • 25. XAML • eXtensible Application Markup Language • XML based • Used in WPF and Silverlight • Declaratively describes UI, animations, etc.
  • 26. Theming • Users can switch system colors – Select black or white background – Select “accent” color • Standard Silverlight controls automatically adapt to selected theme • Preset styles
  • 27. Navigation • Navigation is page based – Similar to web navigation – Pages are identified by URIs private void hyperlinkButton1_Click( object sender, RoutedEventArgs e) { NavigationService.Navigate( new Uri("/SecondPage.xaml", UriKind.RelativeOrAbsolute) ); } 27
  • 28. Back Button • Returns to the previous page – UI shouldn’t duplicate this functionality • The behavior could be overridden when going to the previous page isn’t logical – Closing a pop-up dialog, etc. – Can’t be used for actions absolutely unrelated to “returning”, like shooting, etc.
  • 29. Application Bar • Use AppBar instead of a custom menu system • Up to 4 buttons + menu • Buttons for most important tasks only • White color on the transparent background (without circle)
  • 30. Orientation support • Pages can be vertical, horizontal or change orientation automatically • Set via SupportedOrientations property • PortraitOrLandscape value – automatic orientation switching
  • 31. Data Binding • Automatically binds object properties • Separation of concerns (design/development) – MVVM pattern
  • 32. Pivot and Panorama • The best starting point for apps • Complies with Metro out of the box • Present information in easily digestible portions
  • 33. Pivot vs. Panorama Pivot Panorama • Can be used to display • More impressive more information • Background images • Supports programmatic automatically stretched switching • Horizontal PanoramaItem • LoadingPivotItem and for vizualization of content UnloadingPivotItem of different width events for delayed content loading • Effective use of screen real estate
  • 34. Launchers and Choosers • Each app runs in its own sandbox and can’t accept system resources or other apps • Launchers and Choosers mitigate this by allowing indirect access to these features
  • 35. Application Lifecycle Fast App Resume Resuming .. . Restore state! State preserved! running IsAppInstancePreserved IsAppInstancePreserved == Save State! == false true activated deactivated Tombstone the oldest app Tombstoned dormant Phone resources detached Threads & timers suspended
  • 38. Publishing Process Application and Game Submission .xap App .xap App Packaging & Submission .dll .dll Validation Marketplace Windows Phone 7 Deployment Service Add Apply .xap .xap Metadata Test Sign .dll Criteria .dll
  • 39. Summary • Modern mobile platform • Metro design language • Silverlight or XNA or Silverlight+XNA • Centralized app Marketplace
  • 40. Additional resources • App Hub – http://create.msdn.com • Programming Windows Phone by Charles Petzold – http://www.charlespetzold.com/phone/ • Twitter - #wpdev
  • 41. Questions? Alan Mendelevich Twitter: @ailon ailon@ailon.org

Notas do Editor

  1. Žemesnė rezoliucija paskelbta ir kol kas užmiršta. Laukiami specifikacijos pakeitimai susiję su sandoriu su Nokia.
  2. 2009m. nuspręsta pradėti iš naujoTikslas – sukurti gražų, paprastą interfeisą greitam ir maloniam naudojimui
  3. Transporto ikonografija, spalvos, labai aiškus šriftai (todėl ir Metro)Turinio prikėlimas gyvenimui naudojant judesį ir animacijas (iš Xbox)Patyrimo praplėtimas (papildomas turinys) (iš Zune PC)Interfeiso elementai iš Zune HD
  4. Greičio pojūtis, susikoncentravimas ties pagrindiniais dalykais, negailestingas nereikalingų elementų mažinimas, tuščio ploto panaudojimas, turinio „išsiliejimas“ už ekrano ribųYpatingas dėmesys šriftams ir tekstuiJudesys suteikia gyvumo ir greitaveikos pojūtį, pritraukia dėmesį, įneša tūrį ir gylįAtsisakyta beveik visų apipavidalinimo elementų, turinys yra „dizainas“jokių šešėlių, pseudo 3D, stiklo imitacijų ir pan. Nebandyti būti tuo, kuo nesi.
  5. The user can select theme colors (personalization)Color is also used as a secondary element to highlight hierarchyIn case of contacts: phone numbers are highlighted in different colorsIn case of calendar: the current date is highlightedAll theme API’s are available to all developers, allowing developers to fit their applications into the theme that users select.
  6. Standartizuoti gestai
  7. - Svarbu išbandyti ant tikro telefono
  8. T.y. kontekstinis meniuGali būti kitas kiekviename puslapyjePagrindiniai veiksmai – mygtukai, papildomi – meniu
  9. - Tabai
  10. Galima integruotis i PicturesHub‘ą arba Music& Video
  11. NemokamiPuikiai veikia kartu
  12. Visus reikalingus įrankius galima parsisiųsti nemokamai viename pakete
  13. Kai pradėjo kurti WP einamojiSilverlight versija buvo 3Paimta kaip pagrindas, plius papildomos bibliotekos darbui su specifiniais telefono uždaviniaisInterfeisas aprašomas XAML kalba, programuojama C# (dabar galima ir VB.NET, bet nerekomenduoju)Varikliukas optimizuotas telefonams
  14. Nustatytų stilių naudojimas užtikrina, kad gerai atrodys su skirtingomis temomis ir personalizuotu akcentuBūtina išbandyti su šviesiu fonu
  15. - MP testuotojai labai kreipia dėmesį į Back veikimą
  16. Jei yra teksto įvedimo galimybė tikrai patartina numatyti veikimą horizontaliai
  17. - Dizaineriui nereikia žinoti kaip suprogramuoti tam tikri dalykai, programuotojui nereikia žinoti kaip jie atvaizduojami
  18. InstallationApp codePhone capabilitiesLanguageCertification:- ReliabilityPerformanceSecurity