Intro to Development for ios. Dave Koziol Arbormoon Software, Inc.

Similar documents
Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc.

ios Certified Associate Developer (ICAD)

CSC 581: Mobile App Development Spring 2018

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content

Developing Applications for ios

CS193p Spring 2010 Wednesday, March 31, 2010

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

Duration 5 days (For basic crowd 5+3days needed)

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content

CSE 438: Mobile Application Development Lab 2: Virtual Pet App

iphone Application Programming Lecture 5: View Programming

CSC 581: Mobile App Development Spring 2019

Implementing UI Designs in Interface Builder

LEARNING ios APP DEVELOPMENT With Swift 3 & ios 10

Praktikum Entwicklung von Mediensystemen mit

Mobile App Development. ios Platform

What s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer

Publisher v3 Documentation

Building Mapping Apps for ios With Swift

Xcode 6 and ios 8 What s New for Software Developers

Contents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need

Mobile Development A Whirlwind Tour!

Mobile Apps 2010 iphone and Android

Cocoa Touch Best Practices

Lecture 8 Demo Code: Cassini Multithreading

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net

Assignment IV: Smashtag Mentions

Objective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008

IOS 8 SDK Development: Creating IPhone And IPad Apps With Swift By Chris Adamson

Copyright

A Better MVC. 300 line view controllers or bust. Dave A guy who thinks too deeply about stuff

ios Application Development Course Details

Widget Tour. iphone and ipod touch Development Fall 2009 Lecture 7

Social Pinboard: ios(swift) Application

Building GUIs with UIKit. Kevin Cathey

Lesson 1: Hello ios! 1

User Experience: Windows & Views

Chapter 2 Welcome App

Architecting ios Project. Massimo Oliviero

iphone Game Software development using Apple Core API s Mobile video content streaming for iphone using HTTP Live Streaming

Building the App - Part 5 - Adding a Link

lecture 10 UI/UX and Programmatic Design cs : spring 2018

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

ios Application Development Lecture 3: Unit 2

Document Version Date: 1st March, 2015

CSC 581: Mobile App Development Spring 2019

Android & iphone. A Comparison. Stefan Tramm JUGS, Jahresevent

Copyright

Modern Auto Layout. Building Adaptive Layouts For ios. Keith Harrison. Web: useyourloaf.com Version: 1.0 ( ) Copyright 2018 Keith Harrison

Contents. Before You Begin. Copyright 2010 by Deitel & Associates, Inc. All Rights Reserved.

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

Technology Expertise STUDIO GRAPHENE

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

New UIKit Support for International User Interfaces

Steps to Set Up the Environment of Xamarin in Visual

Mobile Development - Lab 2

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop

Secure Storage and Protecting Data at Rest

Creating Great App Previews

Introduction to Xamarin Cross Platform Mobile App Development

Supported Devices, OS, and Browsers

Objectives. Submission. Register for an Apple account. Notes on Saving Projects. Xcode Shortcuts. CprE 388 Lab 1: Introduction to Xcode

Copyright

Topics in Mobile Computing

ios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer

Registering for the Apple Developer Program

About 1. Chapter 1: Getting started with iphone 2. Remarks 2. Versions 2. Examples 2. Installation or Setup 2. What is iphone. 3

Mobile development initiation

Mac Application Development By Example Beginner's Guide Pdf

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction

Manual Of Ios 7 Beta 2 Ipad 3 >>>CLICK HERE<<<

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

Medication Tracker App for iphone Ryan Hitt CPET 491 Purdue University Fort Wayne Department of Computer, Engineering, and Information Technology

Mastering Xcode for iphone OS Development Part 1. Todd Fernandez Sr. Manager, IDEs

News- ipad: ios(swift) Application

IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 PDF

epicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE

Guide Install Ios 7 Beta 2 Ipad Mini Ipsw >>>CLICK HERE<<<

IOS 9 App Development Essentials: Learn To Develop IOS 9 Apps Using Xcode 7 And Swift 2 By Neil Smyth

Mac Os X The Missing Manual For Pc Emulator

Mobile Development Lab 3

Pushing the Limits. ios 6 Programming TOUCH ADVANCED APPLICATION DEVELOPMENT FOR APPLE IPHONE, IPAD, AND IPOD WILEY. Rob Napier and Mugunth Kumar

Sun City Grand Computers Devices SIG. Grand Computers 1 GraComputers

ios 9 SDK Development

Announcements. Today s Topics

ios 12 App Development Essentials

Exploring Cross-platform Tools For Mobile Development: Lessons Learned. mlearning: Tips and Techniques for Development and Implementation

ArcGIS for Developers: An Introduction. Moey Min Ken

Richard Mallion. Swift for Admins #TEAMSWIFT

ios SDK Release Notes for ios 10.1 Beta 1

User Experience: Windows & Views

Wiki User Guide Pdf Ipad 2 Ios >>>CLICK HERE<<<

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour

BlackBerry 10 and ios. porting and developing JAM11 Suavek Zajac September 25-27, 2012

Media and Gaming Accessibility

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

Mobile Technologies. Types of Apps

Mobile Apps Introduction Getting Started Features Resources

Stylight Apps - Our Learnings. Sebastian Schuon

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

Transcription:

Intro to Development for ios Dave Koziol Arbormoon Software, Inc.

About Me Long time Apple Developer (21 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Multiple Top 5 apps in the itunes App Store

Audience Background Prior coding experience? Current Students? IT Industry? Others?

Languages Requirements Background Process Resources Q&A Overview

Languages ios Development Language Historically: Objective-C 2014: Apple introduced Swift Transition to Swift is ongoing

Languages: Swift Intended to be: modern object oriented safer support functional programming Currently version 4.1 Still evolving

Languages: Swift Playgrounds (ipad) Animated interactive tool for learning Swift Free for ipad in the App Store

Requirements Mac that supports current macos (10.13+) Apple ios Developer Account Free, $99 per year, or $299 per year https://developer.apple.com/programs/ Supported ios Device (ios 10 or ios 11) Xcode 9.2 (5.3GB Download) Free in Mac App Store

Requirements: Supported Devices iphone 5s, 6, 6 Plus, 6S, 6S Plus, SE, 7, 7 Plus, 8, 8 Plus, and X ipod Touch (6th Generation) ipad Air, Air 2, and 5th Generation ipad mini 2, 3 and 4 All ipad Pros

Background: Xcode Text Editing

Background: Xcode Storyboards

Background: Xcode Integrated Debugger

Background: Xcode Playgrounds Interactive tool to play with Swift, and see the results.

Background: Simulator Simulates all current devices

Background: ios Heavily based on mac OS Applications are sandboxed True multitasking OS, but ability to use multitasking is limited.

Background: ios Stack Your App CocoaTouch Media Core Services Core OS

Background: ios Stack Core OS Your App CocoaTouch Media Core Services Core OS BSD/POSIX Sockets File System Bonjour Keychain Threads Security

Background: ios Stack Core Services Your App CocoaTouch Media Core Services Core OS SQLite Core Location Address Book Collections Core Location Preferences Core Motion

Background: ios Stack Media Your App CocoaTouch Media Core Services Core OS Core Graphics Core Text OpenGL ES AV Foundation Core Audio Video Playback Core Animation

Background: ios Stack CocoaTouch Your App CocoaTouch Media Core Services Core OS UIKit MapKit GameKit Messages UI AddressBook UI

Process: Typical Develop App in Xcode Developer tests on device(s) with developer builds Testers test on devices with TestFlight or Ad Hoc builds Distribute via App Store

Process: Views & Controllers GUI widgets are UIViews UIViewControllers drive the UIViews One controller for each page of your App. Might have UINavigationControllers or UITabBarControllers to switch views. Views can be defined in code or in storyboards.

UINavigationBar UITableView UITableViewCell

Process: More Views UIButton, UILabel, UITextField, UISlider, UISwitch, UISegmentedController, UIPickerView, UIActivityIndicatorView, UIImageView, UIPageControl, UIWebView, MKMapView, UISearchBar, UICollectionView, etc.

Process: App Life Cycle Starts in main(int argc, char * argv) Typically calls UIApplicationMain(argc, argv, nil, nil) Info.plist defines storyboard & more for App App Delegate typically implements application(didfinishlaunchingwithoptions) View Controllers often override viewdidload() or viewwillappear()

Process: Debugging NSLog - Output to console, like printf Warning this can be expensive in release builds Visual Debugger Test on a real device

Process: Device Testing Xcode can load debug builds onto a device Need a paid or University developer account for testing by others. Apps are signed Use TestFlight, Apple Configurator, HockeyKit or App Store to deploy to devices.

Process: Getting Started Start with the best Template. Check Use Core Data for database support. Take the time to figure out Storyboards and AutoLayout.

Process: Deployment Target 81% of users are on ios 11 and above according to Apple.

Resources: Learning Developing ios 11 Apps with Swift by Stanford ios 10 SDK Development by Chris Adamson ios Programming: The Big Nerd Ranch Guide (6th Edition) by Keur & Hillegass

Resources: Other Tools CocoaPods - Library reuse tool AppCode - Replacement for Xcode from JetBrains Visual Studio for Mac - Unity, Xamarin

Resources: Cross- Platform Google s Flutter - Dart Microsoft s Xamarin - C# ReactNative - JavaScript Titanium SDK - JavaScript

Resources: Followup Sessions Intro to Coding for Android 6/19 8pm, Grand Circus Designing for Mobile 6/20 2pm, 20 Witherell App Development - Native Vs. Cross-Platform 6/20 6pm, Grand Circus Surviving and Thriving in Tech (When You re Not a Techie) 6/21 1pm, Aloft Detroit

Resources: Local Community Motor City CocoaHeads 3rd Thursday of every month, food 6:30, Talk 7pm https://www.meetup.com/motorcitycocoaheads/ CocoaHeads Ann Arbor 2nd Thursday of every month, Pizza 6:30pm, Talk 7pm Web: http://meetup.com/a2-cocoaheads Mobile Monday Groups in Ann Arbor and Detroit Web: http://mobilemondaymichigan.org

Resources: Community Stack Overflow Web: http://stackoverflow.com ios Developers HQ Web: https://ios-developers.io/

Q&A