Building cross-platform Modern Apps: the Design perspective. Amit Bahree, Senior Director, Avanade @bahree, http://desigeek.com

Similar documents
Lecture 4 Cross-Platform Development. <lecturer, date>

An Analysis of Mobile Application Development Approaches

QML and JavaScript for Native App Development

Making Mobile a Reality

Developing Cross-Platform.NET Apps with ArcGIS Runtime

Building cross-platform mobile apps with Xamarin

How to pick the right development model for your next mobile project

Build apps your users will love with Xamarin. Mobile Edge 11 Nov 2015

27th Embarcadero Developer Camp General Session

Cross-Platform Tools

Cross-Platform Mobile Apps Solution

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Bridging the Gap: from a Web App to a Mobile Device App

Evaluation of Xamarin Forms for MultiPlatform Mobile Application Development

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

WHITEPAPER. Pros & cons of native vs cross-platform mobile development with Xamarin

Take full advantage of IBM s IDEs for end- to- end mobile development

Client Overview. Engagement Situation

Cross-Platform Phone Apps & Sites with jquery Mobile

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

/// CHOOSING THE BEST MOBILE TECHNOLOGY. Overview

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

Accelerating Business Value by

Cross-platform mobile development with Visual C

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

01. Introduction of Android

Microsoft Visual Studio: Developing Cross-Platform Apps With C# Using Xamarin

HTML5: Separating Fact and Fiction. #wipjam

Leveraging Partners and Open Source Technology in your Mobility Strategy. emids webinar Thursday, August 11, :00 pm 2:00 pm EDT

Retool your HTML/JavaScript to go Mobile

SYST35300 Hybrid Mobile Application Development

Cross-platform Mobile Development.

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Avanade & Xamarin: The fast path to mobile success.

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Development of mobile applications for multiple platforms

... Introduction Acknowledgments... 19

Mobile Application Development

A Way Out of the Mobile App Development Conundrum

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

Example of Standard API

Take Your Team Mobile with Xamarin

Whitepaper. Trans. for Mobile

Building Cross Platform Mobile Apps Dev Tools, MBaaS, Architecture, APIs

A Guide to Mobile App Development Platforms

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI /19/14 HANNAH MILLER

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Introducing Windows Workflow Foundation. Building Basic Activities. Building Composite Activities. Activity Development Advanced Features

Mumbai, India 1 kunalprajapati365@gmail.com 2 phadakedhananjay@gmail.com 3 archit.poddar@gmail.com

research: technical implemenation

Building native mobile apps for Digital Factory

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

Article. One for All Apps in HTML5

System Requirements for Microsoft Dynamics NAV 2015

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

ADF Mobile Overview and Frequently Asked Questions

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz Java Developer

Developing and deploying mobile apps

Sybase Unwired Platform 2.0

Cross-Platform Game Development Best practices learned from Marmalade, Unreal, Unity, etc.

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

Cross-Platform Mobile Application Development

ORACLE ADF MOBILE DATA SHEET

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Viability of developing cross-platform mobile business applications using a HTML5 Mobile Framework

Mobile and Social Computing

AppDev OnDemand Microsoft Development Learning Library

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Rhomobile cross-platfrom

To Study and Design a Cross-Platform Mobile Application for Student Information System using PhoneGap Framework

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Your Technology Partner Offshore and Onsite. Outsourced Software Development Services at

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Comparison of Cross-Platform Mobile Development Tools

Choosing a Mobile Application Development Approach

Survey, Comparison and Evaluation of Cross Platform Mobile Application Development Tools

ni.com Remote Connectivity with LabVIEW

Transcription:

Building cross-platform Modern Apps: the Design perspective Amit Bahree, Senior Director, Avanade @bahree, http://desigeek.com

Agenda Mobile Platforms CoIT Development Options Xamarin Architecture Patterns and Principles Demos! Questions

Key Objectives Discuss cross platforms development needs Approach to select the right option Reusing your current investment Xamarin Overview

Mobile Web Growth

Mobile Platforms

A New Way of Work Business Personal A

Options Web / Mobile Web Bootstrap (twitter) Zurb Foundation Mobify ASP.NET Platform Specific Visual Studio XCode Eclipse HTML 5 Sencha jquery joapp jqtouch Interpreted RhoMobile Appcelerator JMango Hybrid PhoneGap Facebook Cross Compiled Kony ifactr DevExpress Xamarin Lowest Common Denominator?

What about Native? Platform Dev Tools Emulators Delivery Model

Xamarin Cross Platform Based on open source (Mono) Supports ios, OSX, WP, Android, and Windows 8 Code Reuse Share code across platforms Invoke existing libraries built in Java, C#, Objective C Modern Development C#, LINQ, Lambda, Events Visual Studio Xamarin Studio Component Store Native API Regular C# class libraries, mapped to Android and ios APIs Native Support Native API (e.g. GPS, NFC, etc.) Platform specific UI Controls (e.g. Tab Control on Android) UI Design Good UI design tools Point and Click UI Design

Application Layers User Interface App Layer Shared Code Xamarin.Mobile Business Logic Services Layer Data Access Layer Data Layer

Demo Introduction to Xamarin Simple Contact application ios Development on Windows and Mac XStudio and Visual Studio

Xamarin Architecture Windows Windows Phone App ios, OSX ios, OSX App Android Android App Windows Phone Toolkit Xamarin.iOS (All ios specific wrapper classes.) Xamarin.Android (Android specific wrapper classes).net Framework Mono Framework + GC Platform APIs OS C# Application Run Time Xamarin Windows Phone OS ios, OSX [Linux based] Android [Linux based]

Xamarin App Compile and Run ios, OSX Xamarin.iOS Xamarin.Android Android App App Launch Xamarin Complier Ahead-of-Time (AOT) Bindings to C and Obj-C Runtime + APIs Xamarin Compiler Bindings to Android NDK (C/C++) Bindings (Android Callable Wrappers) to Dalvik/Java Just in Time Complier(JIT) Native ARM assembly code Intermediate Language Native ARM assembly code

Demo Applying MVVM for cross platform device development Advanced Contact Application Native APIs Hardware Access Reuse across Android and ios

Patterns and Principles Façade Singleton Provider Dependency Inversion Async MVVM Strategy Layering

Demo Bringing it all together Real-time airline tracker ipad, Android Slate, Win 8 Slate Native integration Maps, and GPS Off-line data support Code Reuse across the platforms

Recap Mobile growth and platforms Mobile development options Native development challenges Xamarin Architecture Patterns and Principles Demos!

Questions? amit.bahree@avanade.com @bahree http://desigeek.com

Catch all the excitement by visiting us at booth in the expo Know more about Accenture-Avanade-Microsoft Power of 3 relationship Explore cools things we do with Microsoft technologies, Kinect and Windows 8 There s something in store for you too! Participate in a short quiz and win interesting goodies!

Resources Microsoft Virtual Academy http://aka.ms/mva Windows Server 2012 Evaluation http://aka.ms/ws2012rtm System Center 2012 SP1 Evaluation http://aka.ms/sc2012rtm Windows Server 2012 Virtual Labs http://aka.ms/ws2012vlabs

2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS 2013 Microsoft Corporation. All rights reserved. PRESENTATION. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.