SlideShare a Scribd company logo
1 of 30
M.I. Isham Mohamed
Intro to Cross Platform
Native apps development
With Xamarin
Xamarin Student Ambassador
Undergraduate intern
IFS
@isham_m_iqbal
http://ishammohamed.me
http://programmium.wordpress.com
http”//github.com/ishammohamed
Java and Java
• Java, the language.
• Java, the platform.
C# and .NET
• C#, the language.
• .NET, the platform.
Understand .NET
• It’s a framework, platform & environment not
language
– You build code using .NET framework (equals
.NET libraries)
– The code runs on the .NET platform (in the CLR)
– You need to install .NET environment (.NET
framework redistributable)
Understand .NET
C# vs Java
• Both are good, better and best on their
own aspects.
• C# has continued to evolve and emerging.
• C# is faster than Java on Windows kernel,
while Java can run on any – Before 2004.
• Now C# can run on any – Thanks Mono.
Wait.. an interesting statData types Java C#
Single-root (unified) type system No; but wrapper types Yes[1]
Signed integers Yes; 8, 16, 32, 64 bits Yes; 8, 16, 32, 64 bits
Unsigned integers No; but some method support.[2]
Yes; 8, 16, 32, 64 bits
Character Yes[3]
Yes
Date/time Yes; reference type[4]
Yes; value type
IEEE 754 binary32 floating point number Yes Yes
IEEE 754 binary64 floating point number Yes Yes
Boolean type Yes Yes
High precision decimal number No; but see 'Arbitrary size decimals' below 128-bit (28 digits) Decimal type
Arbitrary size decimals Reference type; no operators[5]
No
Strings Immutable reference type, Unicode Immutable reference type, Unicode
Arbitrary size integers Reference type; no operators Yes[6]
Complex numbers No Yes
Reference types Yes Yes
Arrays Yes[7]
Yes
Value types No; only primitive types Yes
Type annotations Yes Yes
Enumerated types Yes; reference type Yes; scalar
Lifted (nullable) types No; but wrapper types Yes
Tuples No; limited 3rd party available.[8]
No; but standard library support with limited arity
Pointers No;[9]
only method references [10]
Yes[11]
You all would like to
become mobile
developers
Targeting only one
platform is not a good
solution for your app.
You could become a
better mobile app
developer solution
developer.
Major platforms
Platform NativeLanguage Cloud & Push Services
iOS Objective C, Swift iCloud, APN
Android Java Google Play Games,
Google Fit, Google
Cloud, GPN…. And more
Windows Phone C#, C++, F# Azure, WPNS
How to target all
platforms
Silo approach
• The present approach adopted by 90%
of the app dev companies.
• Separate teams for separate platforms
for the same app.
• Can achieve true nativity.
• Costly.
• Ex – Facebook, Twitter, Foursquare apps
in iOS, Android and Windows Phone.
HTML5 approach
• Bit earlier approach.
• How many of us remember the awful
Facebook app for Android in 2009.
• In Sri Lanka, most people do this kind
of silly work.
• Very low cost.
• Even Microsoft gave a big support to
this until last year.
• Now mostly they support native.
(and still this)
• Ex – Yamu.lk, some good games.
HTML5 approach
HTML5 approach
No magic..!
Generate a HTML5
web page
Make an
(Android/iOS/WP)
app with WebView
control
Load the web page
created on the
WebView and
deliver the app..
Xamarin approach
• Real definition of Cross platform.
• Share the same code & logic
among platforms.
• The FUTURE of mobile
programming.
• Being adopted rapidly.
• NATIVE.. NATIVE.. NATIVE..
• Low Cost.
• Robustness maintained.
Xamarin C# Shared
backend
{iOS}
C# UI
{Android}
C# UI
{Windows}
C# UI
Windows APIs
iOS APIs
Android APIs
How Xamarin makes iOS apps
.app
.NET
C#
Bindings
How Xamarin makes Android apps
.apk
.NET
C#
Bindings
Requirements
• Xamarin Subscription
– This comes with Xamarin Studio
• Xcode and VS supported
Hello boss.. We know Java well
Big 0
Xamarin Starter License
• Free..*
http://xamarin.com/starter
*conditions apply
Xamarin Student License
• Free..!!
https://www.dreamspark.com/Product/Product.aspx?productid=100
*conditions apply
The T-Shirt I am wearing
• Free..!!!!!
https://xamarin.com/c-sharp-shirt
*conditions apply
DEMO

More Related Content

Viewers also liked

Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Xamarin
 
Cross platform mobile development with C#
Cross platform mobile development with C#Cross platform mobile development with C#
Cross platform mobile development with C#chriskoiak
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinPuja Pramudya
 
Develop Windows 8 & Windows Phone apps using crucial Google APIs
Develop Windows 8 & Windows Phone apps using crucial Google APIsDevelop Windows 8 & Windows Phone apps using crucial Google APIs
Develop Windows 8 & Windows Phone apps using crucial Google APIsIsham Mohamed Iqbal
 
Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Ramolelo
 
Juang jaya breeding marketing center english
Juang jaya breeding marketing center   englishJuang jaya breeding marketing center   english
Juang jaya breeding marketing center englishJohannes Silaban
 
Personalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityPersonalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityIsham Mohamed Iqbal
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentationjshepherd5107
 
Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Edwin Clemenz
 
Marketing project
Marketing projectMarketing project
Marketing projectSonu Ninan
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentationjshepherd5107
 
MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.Isham Mohamed Iqbal
 
Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Johannes Silaban
 
Aurora, location based blogging platform
Aurora, location based blogging platformAurora, location based blogging platform
Aurora, location based blogging platformIsham Mohamed Iqbal
 
Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Vanda Maio
 
Transition management
Transition managementTransition management
Transition managementAditi Sharma
 

Viewers also liked (20)

Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Introduction to Xamarin 2.0
Introduction to Xamarin 2.0
 
Cross platform mobile development with C#
Cross platform mobile development with C#Cross platform mobile development with C#
Cross platform mobile development with C#
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Develop Windows 8 & Windows Phone apps using crucial Google APIs
Develop Windows 8 & Windows Phone apps using crucial Google APIsDevelop Windows 8 & Windows Phone apps using crucial Google APIs
Develop Windows 8 & Windows Phone apps using crucial Google APIs
 
Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Step by step giude [Comic Strip]
Step by step giude [Comic Strip]
 
Juang jaya breeding marketing center english
Juang jaya breeding marketing center   englishJuang jaya breeding marketing center   english
Juang jaya breeding marketing center english
 
Cartel feliz cumple
Cartel feliz cumpleCartel feliz cumple
Cartel feliz cumple
 
Personalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityPersonalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented reality
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentation
 
Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Novena vocations-2016-english(1)
Novena vocations-2016-english(1)
 
Marketing project
Marketing projectMarketing project
Marketing project
 
Utpl
UtplUtpl
Utpl
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentation
 
MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.
 
Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]
 
Aurora, location based blogging platform
Aurora, location based blogging platformAurora, location based blogging platform
Aurora, location based blogging platform
 
Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Revista Bimby Agosto 2015
Revista Bimby Agosto 2015
 
Atomic physics
Atomic physicsAtomic physics
Atomic physics
 
Transition management
Transition managementTransition management
Transition management
 

Similar to Introduction to Xamarin Development

Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google DevsCraig Dunn
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...GreeceJS
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentKrishnaMildain
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corsoUniversity of Catania
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platformsguestfa9375
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platformssmancke
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalJames Quick
 
Cross Platform, Native Mobile Application Development Using Xamarin and C#
Cross Platform, Native Mobile Application Development Using Xamarin and C#Cross Platform, Native Mobile Application Development Using Xamarin and C#
Cross Platform, Native Mobile Application Development Using Xamarin and C#Shravan Kumar Kasagoni
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentIntergen
 
Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011Brian LeRoux
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapGautam Chaudhary
 
Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Eyal Eizenberg
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTMLludlola
 
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxRickyLoberiano
 
C# vs Java What are The Differences.pdf
C# vs Java What are The Differences.pdfC# vs Java What are The Differences.pdf
C# vs Java What are The Differences.pdfchristiemarie4
 
Advance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptxAdvance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptxpercivalfernandez3
 

Similar to Introduction to Xamarin Development (20)

Mono for Android... for Google Devs
Mono for Android... for Google DevsMono for Android... for Google Devs
Mono for Android... for Google Devs
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
Android | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application developmentAndroid | Xamarin | Mobile Application development
Android | Xamarin | Mobile Application development
 
LAP II - Lezione 01 Introduzione al corso
LAP II - Lezione 01   Introduzione al corsoLAP II - Lezione 01   Introduzione al corso
LAP II - Lezione 01 Introduzione al corso
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
mobile development platforms
mobile development platformsmobile development platforms
mobile development platforms
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-Technical
 
Cross Platform, Native Mobile Application Development Using Xamarin and C#
Cross Platform, Native Mobile Application Development Using Xamarin and C#Cross Platform, Native Mobile Application Development Using Xamarin and C#
Cross Platform, Native Mobile Application Development Using Xamarin and C#
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Mobeers waterloo-2011
Mobeers waterloo-2011Mobeers waterloo-2011
Mobeers waterloo-2011
 
Multi-platform Mobile apps with Phonegap
Multi-platform Mobile apps with PhonegapMulti-platform Mobile apps with Phonegap
Multi-platform Mobile apps with Phonegap
 
Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTML
 
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptxADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
ADVANCED PROGRAMMING TECHNOLOGIES NOWADAYS - Copy.pptx
 
C# vs Java What are The Differences.pdf
C# vs Java What are The Differences.pdfC# vs Java What are The Differences.pdf
C# vs Java What are The Differences.pdf
 
Top 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdfTop 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdf
 
Advance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptxAdvance C# Programming Part 1.pptx
Advance C# Programming Part 1.pptx
 

Recently uploaded

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Introduction to Xamarin Development

  • 1. M.I. Isham Mohamed Intro to Cross Platform Native apps development With Xamarin
  • 2. Xamarin Student Ambassador Undergraduate intern IFS @isham_m_iqbal http://ishammohamed.me http://programmium.wordpress.com http”//github.com/ishammohamed
  • 3. Java and Java • Java, the language. • Java, the platform.
  • 4. C# and .NET • C#, the language. • .NET, the platform.
  • 5. Understand .NET • It’s a framework, platform & environment not language – You build code using .NET framework (equals .NET libraries) – The code runs on the .NET platform (in the CLR) – You need to install .NET environment (.NET framework redistributable)
  • 7. C# vs Java • Both are good, better and best on their own aspects. • C# has continued to evolve and emerging. • C# is faster than Java on Windows kernel, while Java can run on any – Before 2004. • Now C# can run on any – Thanks Mono.
  • 8. Wait.. an interesting statData types Java C# Single-root (unified) type system No; but wrapper types Yes[1] Signed integers Yes; 8, 16, 32, 64 bits Yes; 8, 16, 32, 64 bits Unsigned integers No; but some method support.[2] Yes; 8, 16, 32, 64 bits Character Yes[3] Yes Date/time Yes; reference type[4] Yes; value type IEEE 754 binary32 floating point number Yes Yes IEEE 754 binary64 floating point number Yes Yes Boolean type Yes Yes High precision decimal number No; but see 'Arbitrary size decimals' below 128-bit (28 digits) Decimal type Arbitrary size decimals Reference type; no operators[5] No Strings Immutable reference type, Unicode Immutable reference type, Unicode Arbitrary size integers Reference type; no operators Yes[6] Complex numbers No Yes Reference types Yes Yes Arrays Yes[7] Yes Value types No; only primitive types Yes Type annotations Yes Yes Enumerated types Yes; reference type Yes; scalar Lifted (nullable) types No; but wrapper types Yes Tuples No; limited 3rd party available.[8] No; but standard library support with limited arity Pointers No;[9] only method references [10] Yes[11]
  • 9. You all would like to become mobile developers
  • 10. Targeting only one platform is not a good solution for your app.
  • 11. You could become a better mobile app developer solution developer.
  • 12. Major platforms Platform NativeLanguage Cloud & Push Services iOS Objective C, Swift iCloud, APN Android Java Google Play Games, Google Fit, Google Cloud, GPN…. And more Windows Phone C#, C++, F# Azure, WPNS
  • 13. How to target all platforms
  • 14. Silo approach • The present approach adopted by 90% of the app dev companies. • Separate teams for separate platforms for the same app. • Can achieve true nativity. • Costly. • Ex – Facebook, Twitter, Foursquare apps in iOS, Android and Windows Phone.
  • 15. HTML5 approach • Bit earlier approach. • How many of us remember the awful Facebook app for Android in 2009. • In Sri Lanka, most people do this kind of silly work. • Very low cost. • Even Microsoft gave a big support to this until last year. • Now mostly they support native. (and still this) • Ex – Yamu.lk, some good games.
  • 17. HTML5 approach No magic..! Generate a HTML5 web page Make an (Android/iOS/WP) app with WebView control Load the web page created on the WebView and deliver the app..
  • 18. Xamarin approach • Real definition of Cross platform. • Share the same code & logic among platforms. • The FUTURE of mobile programming. • Being adopted rapidly. • NATIVE.. NATIVE.. NATIVE.. • Low Cost. • Robustness maintained. Xamarin C# Shared backend {iOS} C# UI {Android} C# UI {Windows} C# UI
  • 19.
  • 23. How Xamarin makes iOS apps .app .NET C# Bindings
  • 24. How Xamarin makes Android apps .apk .NET C# Bindings
  • 25. Requirements • Xamarin Subscription – This comes with Xamarin Studio • Xcode and VS supported
  • 26. Hello boss.. We know Java well Big 0
  • 27. Xamarin Starter License • Free..* http://xamarin.com/starter *conditions apply
  • 28. Xamarin Student License • Free..!! https://www.dreamspark.com/Product/Product.aspx?productid=100 *conditions apply
  • 29. The T-Shirt I am wearing • Free..!!!!! https://xamarin.com/c-sharp-shirt *conditions apply
  • 30. DEMO

Editor's Notes

  1. You build code using .NET framework (equals .NET libraries) The code runs on the .NET platform (in the CLR) You need to install .NET environment (.NET framework redistributable)
  2. http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
  3. Talk about the push notifications also here
  4. Since HTML 5 and JS, AWS and Azure support JS mobile services.
  5. When it comes to cloud, Xamarin has its own cloud service and own testing service as well. But since C# is the shared language we can use Azure as comparing to Azure Xamarin cloud is bit expensive.
  6. .Phone – the namespace has classes for background task and native picture decosing .networking – networking related api, contains classes to control hostname, ip and more .storage – provide classes to store and open files from the device’s storage and SD card .foundation – control windows runtime fundamentals, control async tasks and working with images and URIs .devices - Contains information related to the hardware of Windows Phone devices. System.Net… those are for C# and they are common to all platforms..
  7. We call these are frameworks.. Like namespaces for Windows C# Mapkit - provides an interface for embedding maps directly into your own windows and views. Provide supports to adding overlays, and performing reverse-geocoding lookups to determine placemark information for a given map coordinate. Uikit - provides the window and view architecture needed to manage an app’s user interface, the event handling and app model iBeacon - iBeacon is the trademark for an indoor positioning system Coregraphics – frameworkd for rendering graphics Coremotion - receive motion data from device hardware
  8. Tts – tts Action bar – like a title bar for app, determne where user is in the app and give him support. Printing Framework – a framework that support hardcopy printing Renderscript - RenderScript provides a platform-independent computation engine that operates at the native level. Use it to accelerate your apps that require extensive computational horsepower. Remember iOS and Android has 100% ported APIs to Xamarin.
  9. IL Code stands for Intermediate Language Code. It is a CPU independent partially compiled code. JIT stands for Just In Timer Compiler. It is the internal compiler of .NET which takes IL code from CLR and executes it to machine specific instructions.
  10. Next slide is.. The answer to Java peeps…
  11. What matters at the end of the day is (press enter now) BIG O.. The faster your code runs…