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

AD_340_-_Week_1.pdf

Nate Ebel
April 12, 2020
130

 AD_340_-_Week_1.pdf

Nate Ebel

April 12, 2020
Tweet

Transcript

  1. ad 340
    week 1
    lecture

    View Slide

  2. ad 340
    week 0 review
    Review the syllabus
    Explore the Week 0 module in Canvas
    Locate and complete the Week 0
    discussion assignment

    View Slide

  3. ad 340
    Announcements
    Office hours moved to Monday
    To clarify; the $25 Google Developer Account
    fee is 100% optional and won't impact your
    grade

    View Slide

  4. ad 340
    week 1

    View Slide

  5. ad 340
    Assignments
    Discussion assignment
    App assignment
    // both are in Canvas

    View Slide

  6. ad 340
    Discussion Assignment
    What makes a great mobile app?
    What features?
    What price?
    What level of performance?

    View Slide

  7. ad 340
    App Assignment
    We will be creating our first Android app
    // Much more detail later

    View Slide

  8. ad 340
    introducing
    mobile app development

    View Slide

  9. ad 340
    Why learn app development?
    Estimated 3.5 billion smartphones
    Add in tablets, smart watches, IoT devices...

    View Slide

  10. ad 340
    Why learn app development?
    Less expensive and more portable
    Smart devices are ubiquitous
    Majority of people in the world have at least one
    smart device

    View Slide

  11. ad 340
    Why learn app development?
    Large market opportunity for businesses and
    developers
    30,000+ listings for "mobile developer" on
    LinkedIn
    Many more indie & freelance opportunities

    View Slide

  12. ad 340
    Challenge of app development
    Unique interactions (touch, rotation, gestures)
    Many different form factors
    Varying performance
    Limited network connectivity & memory

    View Slide

  13. ad 340
    User interactions
    Mobile apps require touch input
    1-finger, 2-finger, multiple fingers
    Gesture detection
    Different size touch devices (finger, stylus, etc)
    Lack of tooltips

    View Slide

  14. ad 340
    Varying form factors
    No standard mobile device size
    No standard screen orientation
    No standard mobile device hardware
    Account for screen resolution, screen size,
    presence of keyboard, sensor availability, etc

    View Slide

  15. ad 340
    limited resources
    Mobile devices go anywhere
    Makes them accessible & challenging
    Do you have internet? Is it fast?
    How expensive is your data plan?
    How much memory do you have on device?

    View Slide

  16. ad 340
    Challenge of app development
    People are impatient
    People become distracted
    Plenty of competition
    Software is challenging

    View Slide

  17. ad 340
    people are impatient
    People become distracted
    Check calendar
    Play music
    Order food
    Skim twitter
    etc...

    View Slide

  18. ad 340
    people are impatient
    People will uninstall apps if they are not
    responsive
    People will abandon apps if not quickly useful

    View Slide

  19. ad 340
    Types of
    mobile development

    View Slide

  20. ad 340
    types of mobile development
    Native - iOS or Android
    Cross Platform - React Native, Flutter, etc
    Mobile Web

    View Slide

  21. ad 340
    native app development
    Straight from Apple or Google
    Best control over user experience
    Full access to hardware, sensors, etc
    Requires multiple code bases and teams
    Requires specialized skillsets

    View Slide

  22. ad 340
    cross platform development
    Shared codebase for iOS & Android
    Leverage skillsets of web or other devs
    Possibly faster for small projects
    Less direct access to hardware, sensors, OS
    User experience may not match user
    expectations

    View Slide

  23. ad 340
    mobile web
    Leverage existing web developers and code
    Extremely easy to ship and distribute
    Least access to hardware, sensors, OS
    Widely varying user experience

    View Slide

  24. ad 340
    picking a mobile technology
    is a complex decision

    View Slide

  25. ad 340
    Why
    Android
    development?

    View Slide

  26. ad 340
    why android development?
    Android accounts for 70+% of all mobile
    devices
    As of 2019, over 2.5 billion Android devices

    View Slide

  27. ad 340
    why android development?
    Android is much more approachable
    Consumer devices are less expensive
    Much cheaper to become an Android
    developer

    View Slide

  28. ad 340
    why android development?
    Android apps can be developed using
    Windows, Mac, Linux, ChromeOS
    Google Developer Account cost is $25 for life
    Android app reviews are very fast

    View Slide

  29. ad 340
    Planning Our
    Path forward

    View Slide

  30. ad 340
    Where are we heading
    this quarter?

    View Slide

  31. ad 340
    Go from 0 to app developers
    Build an app similar to what is often expected
    during interview take home assignments

    View Slide

  32. ad 340
    Go from 0 to app developers
    Create our first app
    Add functionality
    Deploy & test
    Upload the the app store (Optional)

    View Slide

  33. ad 340
    setting up
    our development
    environment

    View Slide

  34. ad 340
    Our Development Environment
    Android Studio (IDE)
    Git (Version Control)
    GitHub (Code Hosting & HW Submission)

    View Slide

  35. ad 340
    Android Studio
    Integrated Development Environment (IDE) for
    Android
    Built by Google
    Based on IntelliJ

    View Slide

  36. ad 340
    Android Studio Tools
    Android SDK
    Android Emulator
    Platform & Build Tools

    View Slide

  37. ad 340
    Installing Android Studio
    https://developer.android.com/studio/install

    View Slide

  38. ad 340
    Installing Android Studio
    Demo

    View Slide

  39. ad 340
    Creating our
    first android app

    View Slide

  40. ad 340
    Creating our first android app
    https://developer.android.com/studio/projects
    /create-project
    Demo

    View Slide

  41. ad 340
    adding our project
    to github
    Demo

    View Slide

  42. ad 340
    building an
    android apk
    Demo

    View Slide