Have you wanted to build a mobile app that works on every popular OS, but haven't had the time to learn each language for each platform? Or maybe, you've heard success and/or horror stories about developing cross platform apps one time with one set of languages? Well join Xamarin MVP and .NET consultant, Dan Hermes, as he dispels some of the rumors and introduces Xamarin, the fully native cross platform mobile app development platform.
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Developing Cross-platform Native Apps with Xamarin
1. Developing Cross-Platform
Native Apps with
Xamarin
for Boston Tech Workshops
by Dan Hermes
Xamarin MVP, Software Consultant
Lexicon Systems
dan@lexiconsystemsinc.com
www.mobilecsharpcafe.com
@danhermes
3. My Xamarin Book
Now Available on Amazon
“This weighty book gives clear guidance that will help you
build quality apps, starting with architectural considerations,
and then jumping into practical code strategies.”
- Bryan Costanich, Vice President, Xamarin
“Dan Hermes’ extraordinary book is the most intelligent work
on cross-platform mobile development I’ve seen.”
– Jesse Liberty, Director of New Technology Development, Falafel Software,
Xamarin Certified Developer / Xamarin MVP
7. Mobile App Types
• Mobile Web /Responsive
• Browser-based
• Native
• iOS, Android, OR Windows
• Hybrid
• Web app wrapped in a native app
• Cross-platform
• iOS, Android, AND Windows
11. Smartphone OS Market Share
• Android – 66%
• iOS – 28%
• Windows Phone – 3%
What does this mean?
Single platform apps are risky
12. Cross-platform Apps
• Develop using a single technology (ex. C#, HTML5)
• Can run on all platforms
• iOS
• Android
• Windows Phone
13. What Are the Benefits
of Cross-platform Apps?
• Shared Code
• Code reuse
• One technology stack
• Instead of several
• Native app quality
• Native app performance
• Native phone functionality (location, camera, etc.)
14. Biggest Challenges
of Multi-platform Development
Code Divergence
Development Complexity
Team Divergence
Process Complexity
Schedule
Cost=
15. Cross-Platform Solutions
Xamarin
Code in C# then compile to respective native platforms
Titanium, NativeScript & React Native
Native shell around a JavaScript core app with some UI compiled to native
Cordova
Device-resident web app that can be wrapped in a native shell
16. Xamarin’s Approach
Native UI
C# +
XAML
Fully native apps written
entirely in C#
Shared App Logic in C#
Xamarin delivers fully native user
interfaces and app functionality
Complete access to 100% of the
native APIs for iOS, Android and
Windows in C#
Share app logic and UI code across
device platforms
17. Xamarin Studio
Optimized for cross-platform
mobile development
Explore native APIs with
code completion
World class Android and
iOS designers
Powerful debugging on
simulator or device
20. Native Performance
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
21. Mobile Visionary in Gartner Magic Quadrant
“Xamarin's architectural approach provides
completely native UIs with better performance than
other cross-platform techniques… Xamarin uses
multifaceted technology built by a cohesive team with a
solid long-term track record.”
Mobile Visionary in Magic Quadrant
24. Benefits of Cross-Platform Development
• Combine code and development teams
• Shared codebase
• Same programming skillset
• Run on multiple platforms
• iOS
• Android
• Windows Phone
25. Xamarin’s Default App Architecture
Native UI
C# +
XAML
Shared app logic,
platform-specific UI,
all in C#
Shared App Logic in C#
iOS C# UI Android C# UI Windows C# UI
Shared App Logic
Platform-specific UI code in C#
Shared app logic code in C#
Fine-grain control over the app user
interface
Good for apps with sophisticated UX
requirements (complicated gestures,
animations, design)
26. Xamarin.Forms
• Cross-platform user interface for Xamarin
• Announced in May of 2014
• Growing set of cross-platform controls
• Each control will be mapped to its native equivalent at runtime
27.
28. Xamarin.Forms UI
Xamarin.Forms features first developed for C# (code-first)
XAML implementation then provided, so…
Anything you can do in C#, I can do in XAML
What is XAML?
C# or XAML for UI Development
29. The Xamarin.Forms App Architecture
Shared App Logic
Xamarin.Forms
Increase Code Sharing Up to 100% and Deliver a Fully Native App
Shared UI code in C#
Shared app logic code in C#
Mix-and-Match the use of Xamarin.Forms
with platform-specific code.
Good for forms-based, apps with a lot of
data entry screens
Easy to learn API makes you productive
immediately, without platform-specific
knowledge
34. When to Use Xamarin.Forms?
• Learning Xamarin
• Cross-platform scaffolding
• Basic business apps
• Basic design
• Simple cross-platform screens
• Device-unique controls are not needed
• Complex graphics processing is not needed
45.
Certification training and professional platform for orthopedic surgeons
•50,000 orthopedic surgeon user base
•Surgical topics, case studies, images
•Sample tests and test questions
•Surgeons can vote, comment, and cite journal entries
50.
Biotech market leader
•DNA and breast cancer research
•Engage lab techs more deeply through their ThermoFisher
equipment
•Bring real-time data directly from DNA-processing
laboratory equipment into the hands of scientists
Xammy
Finalist
55. Federal Aviation Administration (FAA)
• Recreational drone use presents
risks and threats
• FAA announcing new regulations
• Help drone flyers fly safely
56. B4UFLY
• Plan your trips
• Airport locations
• Controlled Airspace
• Special Airspace
• Flight Warnings
• No-fly Zones
57. Xamarin gives us cross-platform reach
with native power and performance
58. Web and Mobile Work Together
• Modern biz apps combine web and mobile technology
• They share data sources, look and feel, and support one another
• A Unified technology foundation simplifies this
• Mobile and web apps all built with C# provides this foundation
• Xamarin
• .NET
• ASP.NET MVC
• Angular and other JavaScript options
59. Need Something Xamarin-flavored?
• I do Xamarin consultations
• I do Xamarin coaching and training
• My firm does Xamarin development
• We help make Xamarin projects work
60. Developing Cross-Platform
Native Apps with
Xamarin
Dan Hermes
developer, author, consultant,
founder of Lexicon Systems
dan@lexiconsystemsinc.com
Available on Amazon
My blog: www.mobilecsharpcafe.com
Twitter: @danhermes
Hinweis der Redaktion
Xamarin is the only major framework that compiles to respective native binaries for a 100% native application.
Appcelerator’s Titanium, Telerik’s NativeScript and Facebook’s React Native have 100% native UIs but offshore their logic to the native JavaScript engine.
Your customers are going mobile
Notes
Can save time by reusing code
Can save money
Notes:
Since being announced, Xamarin.Forms has grown and will continue to grow
Controls are added occasionally when updates are made to Xamarin
When the application is run, a control that is abstracted in Xamarin.Forms will be mapped to its native equivalent. For example, the Xamarin.Forms.Button control maps to UIButton in iOS, Button in Android and Button in Windows Phone
References:
Image Source: http://www.meritsolutions.com/wp-content/uploads/2015/09/Xamarin-Approach-1024x491.png
Notes:
Platform-specific is sometimes called Traditional architecture, and uses Xamarin.Android or Xamarin.iOS.
References:
Xamarin Mobile Application Development by Dan Hermes http://amzn.to/1rowG7K
Image courtesy of Xamarin
Image courtesy of Xamarin
Full-featured E-Commerce, Video Education, Calculator, and IoT Device Integration