• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Enterprise iPad Development Without Notes

Enterprise iPad Development Without Notes



Keith Tingle's presentation notes from March's Meeting

Keith Tingle's presentation notes from March's Meeting



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

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.

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

    Enterprise iPad Development Without Notes Enterprise iPad Development Without Notes Presentation Transcript

    • Enterprise iPad Development (JAX ARCSIG) Keith Tingle 3/27/2012
    • Architectural Choices• Two Options – Native iOS application – HTML 5 application• Choose well now, make a enormous difference later in the game.• Key Factors – Are you cloning portions of a web site that is already built? – Are the users entirely internal? – How often do you deploy hot fixes? – How do you intend to test your software?
    • Native Apps – PreReqs• You *need* Apple hardware to develop for iOS – Your whole team needs Macs? – Virtualization• Tools – Xcode 4.3.2 • Free from Mac App Store • Requires Lion• iOS Developer Program – $99 / year – Provisioning Portal & iTunes Connect• iOS Developer Enterprise Program – $299 / year – Requires your company to have a Dun & Bradstreet number – Allows deployment outside of App Store w/ some restrictions
    • Native Apps – The Basics Objective-C C Objective-C (*.m) Objective C++ (*.mm)C++ Objective-Cclass @interface/@implementationprivate, protected, public @private, @protected, @publicthrow, catch @throw, @catch
    • Objective-C – Key Features• Dynamic Language – @selector, SEL• Automatic Reference Counting (ARC) – iOS 5 compiler feature• Blocks – Similar to anonymous delegates in other languages • Blocks are closures • Used in Grand Central Dispatch (GCD)• Exceptions – Not commonly used in Cocoa development – Programmers use exceptions to alert themselves to unrecoverable errors
    • Cocoa Touch• Originally built for the iPhone – UITableView • Great for the iPhone • Good enough for the iPad? – No real grid control – No tree control – Added for iPad • SplitViewController • Popover Control
    • Example Native iPad LOB App• Data – SQLite 3 • Straight C interface • fmdb – Objective-C wrapper for SQLite C API – https://github.com/ccgus/fmdb • Core Data – Apple’s ORM tool for OS X & iOS• Security – Preemptive HTTP Basic Authentication • Avoid unnecessary round-trips – iOS Keychain• Controls – AQGrid – Open source ‘grid’ written by Alan Quatermain • https://github.com/AlanQuatermain/AQGridView
    • Deploying Native iPad AppsDeployment Profile Device ID? User Types MethodDevelopment Development Yes Developer USB CableAd Hoc Ad Hoc Yes Testers Over the AirApp Store Distribution No Everyone App StoreEnterprise Distribution No Internal Users Over the AirB2B Distribution NO Customers App Store
    • HTML 5 on the iPad• How close can we get to the feel of a native iPad application with HTML5? • Web Clips • Mobile Safari extensions
    • Native vs. HTML 5• Monetization • Reuse existing web site – Purchase code! – In-app purchases • Ability to push hot fixes – iAd • Internal, B2B users• Notifications treated the same• More local storage • More tools are available• DRM • More developers• Keychain Access
    • Resources• HTML5 Application Cache – https://developer.mozilla.org/en/http://• Preparing Your Web Content for iPad – http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/ _index.html – http://developer.apple.com/library/safari/#documentation/AppleAppl ications/Reference/SafariWebContent/ConfiguringWebApplications/C onfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051- CH3-SW3
    • Offline Operation – HTML 5 Apps• Application Manifests – <html manifest=“app-files.appcache”> – Supported by Mobile Safari (and all WebKit-based browsers) – http://www.w3.org/TR/html5/offline.html – https://developer.mozilla.org/en/Offline_resources_in_Fir efox