Building Native
“apps” with Visual
Studio 2015
Central Penn .NET code camp 2015
Michael Melusky @mrjavascript
About the speaker
• Michael Melusky
 Software Engineer for Audacious Inquiry in Baltimore, MD
 Instructor at Pennsylvania State University, Franklin & Marshall College, and ITT
Technical Institute
 Regular speaker at the Java and .NET user group meetings and code camps
Devices for Native “apps”
• Devices to target:
 Microsoft Windows Phone
 Apple iPhone
 Android Devices
 Android Phones
 Android Tables
 Amazon Fire TV
 Other Apple Devices
 Apple iPad
 Apple Watch
When Developing for Apple iOS
• Xcode
• JetBrains “AppCode”
• Both applications can be used to build “apps” using either Swift of Objective-
C
When Developing for Android
• Any Java development tool suite of your choice:
 Eclipse
 JetBrains IntellJ
• Google Dart?
• Jetbrains Kotlin?
When Developing for Windows Phone
• Microsoft Visual Studio with C#
Unifying Development of Platforms?
• Native App Development
• Unity Framework
• Microsoft Visual Studio 2015
 Apache Cordova
 Xamarin
Apache Cordova
• Previously referred to as “PhoneGap”
• enables software programmers to build applications for mobile devices using
JavaScript, HTML5, and CSS3, instead of relying on platform-specific APIs
like those in Android, iOS, or Windows Phone
Apache Cordova Time
• ** DEMO **
Features of Apache Cordova
Issues with Apache Cordova
• StackOverflow.com Developer Survey 2015
Why use Apache Cordova?
• Want to share more UI between platforms, with fewer native looking
elements.
• Share UI assets with a mobile website
• Have HTML / JS developers
• Are OK with a somewhat less smooth UI on older Android and iOS devices,
or don’t plan on supporting older Android (pre 4.2)
Other Options?
• Xamarin
 Need to do apps with less shared UI, more shared logic.
 Have .Net developers
 Need a high performing, native looking app
Xamarin
• Native User Interfaces
• Xamarin apps are built with standard, native user interface controls. Apps
not only look the way the end user expects, they behave that way too
• Native API Access
• Xamarin apps have access to the full spectrum of functionality exposed by
the underlying platform and device, including platform-specific capabilities
like iBeacons and Android Fragments
• Native Performance
• Xamarin apps leverage platform-specific hardware acceleration, and are
compiled for native performance. This can’t be achieved with solutions that
interpret code at runtime
Xamarin Code Time
• ** DEMO **
Questions?
• @mrjavascript (Twitter/SlideShare)

Building Native “apps” with Visual Studio 2015

  • 1.
    Building Native “apps” withVisual Studio 2015 Central Penn .NET code camp 2015 Michael Melusky @mrjavascript
  • 2.
    About the speaker •Michael Melusky  Software Engineer for Audacious Inquiry in Baltimore, MD  Instructor at Pennsylvania State University, Franklin & Marshall College, and ITT Technical Institute  Regular speaker at the Java and .NET user group meetings and code camps
  • 3.
    Devices for Native“apps” • Devices to target:  Microsoft Windows Phone  Apple iPhone  Android Devices  Android Phones  Android Tables  Amazon Fire TV  Other Apple Devices  Apple iPad  Apple Watch
  • 4.
    When Developing forApple iOS • Xcode • JetBrains “AppCode” • Both applications can be used to build “apps” using either Swift of Objective- C
  • 5.
    When Developing forAndroid • Any Java development tool suite of your choice:  Eclipse  JetBrains IntellJ • Google Dart? • Jetbrains Kotlin?
  • 6.
    When Developing forWindows Phone • Microsoft Visual Studio with C#
  • 7.
    Unifying Development ofPlatforms? • Native App Development • Unity Framework • Microsoft Visual Studio 2015  Apache Cordova  Xamarin
  • 8.
    Apache Cordova • Previouslyreferred to as “PhoneGap” • enables software programmers to build applications for mobile devices using JavaScript, HTML5, and CSS3, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone
  • 9.
  • 10.
  • 11.
    Issues with ApacheCordova • StackOverflow.com Developer Survey 2015
  • 12.
    Why use ApacheCordova? • Want to share more UI between platforms, with fewer native looking elements. • Share UI assets with a mobile website • Have HTML / JS developers • Are OK with a somewhat less smooth UI on older Android and iOS devices, or don’t plan on supporting older Android (pre 4.2)
  • 13.
    Other Options? • Xamarin Need to do apps with less shared UI, more shared logic.  Have .Net developers  Need a high performing, native looking app
  • 14.
    Xamarin • Native UserInterfaces • Xamarin apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too • Native API Access • Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments • Native Performance • Xamarin apps leverage platform-specific hardware acceleration, and are compiled for native performance. This can’t be achieved with solutions that interpret code at runtime
  • 15.
  • 16.