Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Startup Institute - Intro to Mobile

Startup Institute - Intro to Mobile

An introductory talk about getting into mobile programming and building apps

Christopher Ingebrigtsen

December 04, 2013
Tweet

Other Decks in Programming

Transcript

  1. Introduction Been working in Startups for a while Founded Tap.me,

    Joined Belly as Second Employee Graduated from DePaul with a focus in Video Game Programming
  2. Android and iOS Basics iOS has about 6 devices whose

    life cycle isn’t up. Android has a lot. Android has a larger market A lot of devs start iOS first
  3. Recent Updates Apple recently released iOS 7. Features an entire

    design update. Everything is flatter. iOS 7 adoption is at 75% Android has been updating faster. Typically 1 a year. This year has had two major versions. Current version is 4.4 (Kitkat) Bulk of Android Users live in 2.3.x, 4.0.x, 4.1.x
  4. I have an idea for an app, where should I

    start? That depends. If you have experience with C iOS. Java? Android. Making an HTML5 App? iOS Both? Probably not right away.
  5. I have an idea for an app, where should I

    start? Part 2 Is it a free app? Android got more app downloads in Q1 Paid? iOS is the clear winner
  6. Getting under the hood iOS iOs apps are typically written

    in Objective-C but can be written in C, C++, HTML 5. There’s a few additional frameworks that let you program apps in Ruby and other languages. Apple’s Developer Program costs $99 dollars a year.
  7. Getting under the hood iOS part 2 Xcode is an

    IDE (Integrated Development Enviroment) that you use for iOS development. Objective - C is a mix of Smalltalk and C. Syntax is unique. Lots of [self callSomeMethod];
  8. Storyboard Part 1 Interfaces are typically done in Interface Builder

    / Storyboard. Drag and Drop tool makes getting to “Hello World!” Easy. In addition to laying out designs, you can do basic interactions. Hooking up buttons, transitions, etc.
  9. Getting under the hood Android Android apps are typically programmed

    in Java. You can program in C++ but, you really need to understand what’s going on. HTML5 apps just don’t run well on most Android devices. Putting apps on the store is a one time $25 fee.
  10. Getting under the hood Android part 2 Android has two

    IDEs. Eclipse (which is open source and works for multiple langauges) and Android Studio. Eclipse is older but really robust. Android Studio is already ahead of Eclipse in a lot of places.
  11. Getting under the hood Android part 3 Java is a

    C style syntax language that’s compiled into bytecode and ran in an interpted. Typically the Java Virtual Machine. Person chris = new Person(“Chris”, 27); chris.haveBirthday();
  12. Android XML Part 1 Android’s ui is mostly designed in

    XML. Closer to laying out a website
  13. Android XML Part 2 As with iOS not all ui

    stuff will be limited to xml. Newer versions of Android have improved UI significantly. Some of this has been back ported. Jake Wharton has done a great job backporting a lot of things. (JakeWharton on github)
  14. Simulators Simulators let you test mobile code right on your

    computer. Both iOS and Android have robust simulators. Android’s is notoriously slow. “You’re not programming for the simulator”
  15. Simulators Simulators let you test mobile code right on your

    computer. Both iOS and Android have robust simulators. Android’s is notoriously slow. “You’re not programming for the simulator”
  16. Unit Tests Prior to the release of iOS 7, you

    pretty much had to use an open source test framework. Now Xcode is good built in tests with XCTest. Android uses JUnit. Built into Eclipse. Travis CI will do continuous integration on both.
  17. Misc There’s a lot of open source code to use

    on Github for basic things. CocoaPods is RubyGems for iOS Itunes U has great classes that go more indepth with real coding examples for iOS programming.