Introduction to Mobile Development

Similar documents
Xamarin. MS (IT), 4 th Sem. HOD, Dept. Of IT, HOW DOES XAMARIN WORKS?

Introduction to Xamarin Cross Platform Mobile App Development

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

Mobile Development Updates From #MSBuild 2017 &.NET Standard (& What It Means For You) Andrew Birch

Steps to Set Up the Environment of Xamarin in Visual

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

ArcGIS Runtime SDK for.net Building Apps. Rex Hansen

Xamarin for C# Developers

ArcGIS Runtime SDK for.net: Building Xamarin Apps. Rich Zwaap Thad Tilton

ArcGIS Runtime SDK for.net Building Apps. Antti Kajanus David Cardella

Cross-Platform Mobile Platforms and Xamarin. Presented by Mir Majeed

Austin Mobile.NET Develops Group

Tizen.NET. Transition of Tizen Developer Environment. Samsung Electronics S/W Center Sung-Jae Lee, Seungkeun Lee

Agenda. Overview of Xamarin and Xamarin.Android Xamarin.Android fundamentals Creating a detail screen

Xamarin Mobile Application Development: Cross-Platform C# And Xamarin.Forms Fundamentals By Dan Hermes READ ONLINE

Xamarin Mobile Development For Android Cookbook

A NET Refresher

Take Your Team Mobile with Xamarin

Azure Mobile Apps and Xamarin: From zero to hero. Nasos Loukas Mobile Team KYON

XAMARIN Application Development - Workshop

Demystifying.NET Standard and.net Core. Presented by Steve Ives

Xamarin Mobile Application Development Cross Platform C And Xamarin Forms Fundamentals

CS 235AM, Mobile Application Development: Android Spring 2016

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Classification and Selection of Cross-Platform Tools. Michiel Willocx 17/06/2015

Razvoj multiplatformskih mobilnih aplikacija sa Xamarin Forms. Andrej Radinger, MVP, Mobendo

Android PC Splash Brothers Design Specifications

C# Programming in the.net Framework

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introducing C# and the.net Framework

Mobile and Social Computing

MICROSOFT VISUAL STUDIO 2010 Overview

Mobile Development A Whirlwind Tour!

Efficiency of Java Code for Mobile Application Development

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

First Results of the Performance Analysis

Index. Alessandro Del Sole 2017 A. Del Sole, Beginning Visual Studio for Mac,

Build Cross Platform Video Chat Apps With Xamarin

Miguel de Icaza A Genius Free Software Evangelist. Cristhian Figueroa PhD Student Ingegneria Informatica e dei Sistemi Politecnico di Torino 2013

Learn to develop.net applications and master related technologies.

Software Development. Integrated Software Environment

The Visual Studio 2015 Checklist

The C# Programming Language. Overview

2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days

10/9/2012. Sample C# program:

Android App Development

EEE-425 Programming Languages (2013) 1

Introduction. CS 2210 Compiler Design Wonsun Ahn

RAD Studio XE Datasheet

Introduction to Java Programming

Integrated Software Environment. Part 2

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Multi-platform Mobile App. Development with Apache Cordova

Android Validation Xml Against Schema Visual Studio 2010

New programming language introduced by Microsoft contained in its.net technology Uses many of the best features of C++, Java, Visual Basic, and other

XAMARIN BUILDING COST EFFECTIVE CROSS-PLATFORM MOBILE SOLUTIONS

Chapter 11 Program Development and Programming Languages

ASP.net. Microsoft. Getting Started with. protected void Page_Load(object sender, EventArgs e) { productsdatatable = new DataTable();

10267A CS: Developing Web Applications Using Microsoft Visual Studio 2010

Introduction to Android

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

Copyright

Mobile Development With C#: Building Native IOS, Android, And Windows Phone Applications By Greg Shackles READ ONLINE

Nokia for developers. Alexey Kokin. Developer Relations

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

XAMARIN MOBILE APPLICATION PDF

Application Development for Mobile and Ubiquitous Computing

20483BC: Programming in C#

Etanova Enterprise Solutions

ArcGIS for Developers: An Introduction. Moey Min Ken

[ :25:55.588] [Info] Installation ID: 04cdabde-1d90-49ee-9df5-7daeed7f6d51 [ :25:55.594] [Info] Operating system: Mac OS X

Creating and Running Your First C# Program

EEE-425 Programming Languages (2013) 1

SharePoint 20488: Developing Microsoft SharePoint Server 2013 Core Solutions. Upcoming Dates. Course Description. Course Outline

SharePoint 2013 Developer

Course Outline: Course 10267A: Introduction to Web Development with Microsoft Visual Studio 2010 Learning Method: Instructor-led Classroom Learning

HP SDN Document Portfolio Introduction

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

Copyright

MS_40541 Build Native Cross-Platform Mobile Apps with a Shared C# Business Logic for ios, Android, and UWP in C#.NET with Xamarin and Visual Studio

Overview of BlackBerry Dynamics Platform

Python for Earth Scientists

ANDROID SDK. Developers Guide

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

Developing Microsoft SharePoint Server 2013 Core Solutions

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

Course 20488A: Developing Microsoft SharePoint Server 2013 Core Solutions

JBoss Users & Developers Conference. Boston:2010

COURSE 20488B: DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS

Android Application Development A Beginners Tutorial

Top 40.NET Interview Questions & Answers

ANSYS Workbench as an Integration Platform for CAE Simulation

Xamarin Crossplatform Application Development By Jonathan Peppers READ ONLINE

Notes of the course - Advanced Programming. Barbara Russo

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations

Platform SDK Deployment Guide. Platform SDK 8.1.2

Connect and Transform Your Digital Business with IBM

Learn to Code with C#

SIGGRAPH Briefing August 2014

Unit 1: Visual Basic.NET and the.net Framework

Transcription:

Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done in an afternoon. Or it can be an extremely involved process that involves rigorous up-front design, usability testing, QA testing on thousands of devices, a full beta lifecycle, and then deployment a number of different ways. This guide is a thorough introductory examination of building a Xamarin mobile application, including: 1. Introduction to Xamarin List of features of the Xamarin platform. 2. How Does Xamarin Work? A brief overview of how Xamarin works to bring C# to ios and Android. 3. Get started! Dive in and build a Xamarin app, for ios, Android, or all the platforms using Xamarin.Forms. This document is intended to introduce the Xamarin platform. To learn more about the process of building mobile applications from design through to testing, refer to the Introduction to the Mobile Software Development Lifecycle document. Please refer to our system requirements to confirm you are able to install Xamarin. Introduction to Xamarin When considering how to build ios and Android applications, many people think that the native languages, Objective-C, Swift, and Java, are the only choice. However, over the past few years, an entire new ecosystem of platforms for building mobile applications has emerged. Xamarin is unique in this space by offering a single language C#, class library, and runtime that works across all three mobile platforms of ios, Android, and Windows Phone (Windows

Phone s native language is already C#), while still compiling native (non-interpreted) applications that are performant enough even for demanding games. Each of these platforms has a different feature set and each varies in its ability to write native applications that is, applications that compile down to native code and that interop fluently with the underlying Java subsystem. For example, some platforms only allow apps to be built in HTML and JavaScript, whereas some are very low-level and only allow C/C++ code. Some platforms don t even utilize the native control toolkit. Xamarin is unique in that it combines all of the power of the native platforms and adds a number of powerful features of its own, including: 1. Complete Binding for the underlying SDKs Xamarin contains bindings for nearly the entire underlying platform SDKs in both ios and Android. Additionally, these bindings are strongly-typed, which means that they re easy to navigate and use, and provide robust compile-time type checking and during development. This leads to fewer runtime errors and higher quality applications. 2. Objective-C, Java, C, and C++ Interop Xamarin provides facilities for directly invoking Objective-C, Java, C, and C++ libraries, giving you the power to use a wide array of 3rd party code that has already been created. This lets you take advantage of existing ios and Android libraries written in Objective-C, Java or C/C++. Additionally, Xamarin offers binding projects that allow you to easily bind native Objective-C and Java libraries using a declarative syntax. 3. Modern Language Constructs Xamarin applications are written in C#, a modern language that includes significant improvements over Objective-C and Java such as Dynamic Language Features, Functional Constructs such as Lambdas, LINQ, Parallel Programming features, sophisticated Generics, and more. 4. Amazing Base Class Library (BCL) Xamarin applications use the.net BCL, a massive collection of classes that have comprehensive and streamlined features such as powerful XML, Database, Serialization, IO, String, and Networking support, just to name a few. Additionally, existing C# code can be compiled for use in an applications, which provides access to thousands upon thousands of libraries that will let you do things that aren t already covered in the BCL. 5. Modern Integrated Development Environment (IDE) Xamarin uses Visual Studio

for Mac on Mac OS X and Visual Studio on Windows. These are both modern IDEs that include features such as code auto completion, a sophisticated Project and Solution management system, a comprehensive project template library, integrated source control, and many others. 6. Mobile Cross Platform Support Xamarin offers sophisticated cross-platform support for the three major mobile platforms of ios, Android, and Windows Phone. Applications can be written to share up to 90% of their code, and our Xamarin.Mobile library offers a unified API to access common resources across all three platforms. This can significantly reduce both development costs and time to market for mobile developers that target the three most popular mobile platforms. Because of Xamarin s powerful and comprehensive feature set, it fills a void for application developers that want to use a modern language and platform to develop cross-platform mobile applications. i This Getting Started series focuses on getting started building ios and Android applications. Microsoft offers tutorials for Windows Phone development here. To learn more about cross-platform development with Xamarin (including UWP apps for Windows), read the Building Cross-Platform Applications guide. How Does Xamarin Work? Xamarin offers two commercial products: Xamarin.iOS and Xamarin.Android. They re both built on top of Mono, an open-source version of the.net Framework based on the published.net ECMA standards. Mono has been around almost as long as the.net framework itself, and runs on nearly every imaginable platform including Linux, Unix, FreeBSD, and Mac OS X. On ios, Xamarin s Ahead-of-Time ( AOT) Compiler compiles Xamarin.iOS applications directly to native ARM assembly code. On Android, Xamarin s compiler compiles down to Intermediate Language ( IL), which is then Just-in-Time ( JIT) compiled to native assembly when the application launches.

In both cases, Xamarin applications utilize a runtime that automatically handles things such as memory allocation, garbage collection, underlying platform interop, etc. MonoTouch.dll and Mono.Android.dll Xamarin applications are built against a subset of the.net BCL known as the Xamarin Mobile Profile. This profile has been created specifically for mobile applications and packaged in the MonoTouch.dll and Mono.Android.dll (for ios and Android respectively). This is much like the way Silverlight (and Moonlight) applications are built against the Silverlight/Moonlight.NET Profile. In fact, the Xamarin Mobile profile is equivalent to the Silverlight 4.0 profile with a bunch of BCL classes added back in. For a full list of available assemblies and classes, see the Xamarin.iOS Assembly List and the Xamarin.Android Assembly List In addition to the BCL, these.dlls include wrappers for nearly the entire ios SDK and Android SDK that allows the underlying SDK APIs to be invoked directly from C#. Application Output When Xamarin applications are compiled, the result is an Application Package, either an.app file in ios, or.apk file in Android. These files are indistinguishable from application packages built with the platform's default IDEs and are deployable in the exact same way. Getting Started Now you've learned a little about how Xamarin works, it's time to dive in! The next step is to start building the app using one of these guides: Hello, ios

Hello, Android Introduction to Xamarin.Forms

Summary This document has merely introduced the Xamarin platform. The real fun starts when you get your first app up-and-running. Check out the Hello, ios, Hello, Android, and Introduction to Xamarin.Forms guides to begin.