• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Deep Dive Xamarin.iOS
 

Deep Dive Xamarin.iOS

on

  • 814 views

My presentation from St. Louis Days of .NET that covers the 20% of concepts that helps you get through the 80% of your iOS app development with Xamarin.IOS.

My presentation from St. Louis Days of .NET that covers the 20% of concepts that helps you get through the 80% of your iOS app development with Xamarin.IOS.

Statistics

Views

Total Views
814
Views on SlideShare
813
Embed Views
1

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 1

https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Deep Dive Xamarin.iOS Deep Dive Xamarin.iOS Presentation Transcript

    • Xamarin.IOS Xamarin.IOS Ben Bishop ben@rendr.io
    • for code/slides... @benjamminstl @rendrstl
    • Who Am i? • My name is Ben Bishop (Twitter: @benjamminstl) • I grew up in a small rural town of Indiana • Went to Purdue University • Now lives in Saint Louis • Been independent for 4+ years • Worked at an agency for 5 years, 1 year at TMG
    • my new company http://rendr.io
    • David ortinau http://xamarin.com/evolve/2013
    • FLash Away3D, AIR, AS3, RobotLegs, FlexUnit
    • Native IOS Xamarin.IOS, Facebook, Twitter, SQLite, C#, NUnit
    • $1200+ 60 hours
    • Native Android Xamarin.Android, C#, Twitter, Facebook, SQLite
    • Hybrid PhoneGap, HTML, CSS3, jQuery, Backbone, RequireJS
    • Mobile optimized Web jQuery, Backbone, CSS3, Ruby on Rails, Moustache, JSON
    • WHAT IS A XAMARIN? “The best damn mobile team, building the best damn mobile platform.”
    • What is Mono? • Mono 1.0 was released on June 30, 2004 • “The Mono runtime contains a code execution engine that translates ECMA CIL byte codes into native code and supports a number of processors: ARM, MIPS SPARC, PowerPC, S390 , x86, x86-64 and IA-64 for 64-bit modes.” • Also has support for LLVM • Runs on Linux, OSX, Windows, PS3, XBox 360, Wii
    • How does Mono Work? “Xamarin compiles your app to a native binary, not cross-compiled, and not interpreted.”
    • Code Structure By only having to write core code once, more time can be spent tuning the UI per platform.
    • cross platform strategies
    • must have components Components that keep you from having to write platform specific code.
    • xamarin.mobile A component that helps abstract your code for location, photos, and contacts across all platforms.
    • Xamarin.Social A component that helps abstract your code for App.Net, Twitter, Facebook, and Flickr
    • xamarin.auth Makes OAuth suck less.
    • Data RestSharp, SQLite.NET, and JSON.net help you store and retrieve data for your app.
    • Frameworks https://github.com/MvvmCross/MvvmCross https://github.com/benbishop/MonkeyArms
    • interfaces are your friend
    • iOS Implementation Have your platform specific views implement the interface.
    • android implementation
    • ios implementation
    • android implementation
    • Mediator/View Model Your Mediator or ViewModel will have a reference to the View
    • UI Logic
    • Mock your views Moq lets you mock your views for Unit Tests.
    • Unit Test UI Logic Moq can raise events and verify Method invocation.
    • Test runner
    • Strings ResourceManager https://gist.github.com/benbishop/6232751
    • detect locale
    • anatomy of an iOS app
    • info.plist
    • info.plist
    • important Need to specify 640x1136 Launch Image so iOS knows your app supports tall UI
    • entitlements.plist New for iOS7
    • New to iOS7
    • Main.CS Entry point for your app
    • AppDelegate.cs Creates the UI Window and attaches a ViewController.
    • ViewController This is responsible for your screen.
    • ViewController Lifecycle
    • Setup/tear down Great place to do any setup/tear down.
    • View
    • Creating a view
    • UIBUTTON
    • frame vs bounds Frame A view's frame (CGRect) coordinate is the position of its rectangle in thestarts at the top left. superview's system. By default it Bounds A view'sits own coordinate expresses a bounds (CGRect) system. view rectangle in
    • extend views
    • class extensions All UIView classes now have a CenterHorizontally method
    • Images for multi DPI
    • Text Input
    • view event handling
    • View Controller Types UIViewController TabViewController UITableViewController UINavigationController
    • UITabViewController
    • Setting title/Icon
    • Header buttons
    • detecting ios7
    • UITableViews
    • UITableViews
    • UITableviewsource
    • UITableviewsource
    • UITableviewCell
    • uitableviewcell styles
    • UIPickerView
    • UIPickerView
    • uipickerview source
    • UIPICKERVIEWMODEL
    • UIPickerviewModel
    • UIPickerviewModel
    • UIPickerviewmodel
    • Dialog http://docs.xamarin.com/guides/ios/user_interface/monotouch .dialog/
    • Rapid UI dev
    • JSON support
    • Attributes Let’s decorate!!
    • parting thoughts
    • experiences • iOS sandbox is limited.You are at Apple’s mercy • Provisioning is a pain • iOS SDK is very prescriptive in regards to look and feel • Most things are genuinely easier in iOS than Android. Music player, sharing to FB/Twitter, selecting photos... • Few device configurations to work with.
    • Gracias