Get in Touch

Course Outline

Introduction

Week 1: Introduction to Mobile Development

  • Mobile App Ecosystem and Trends
    • Overview of the mobile application landscape (iOS and Android)
    • Distinctions between native, hybrid, and cross-platform applications
    • Summary of the mobile application development workflow and associated tools
  • Native vs Cross-Platform Development
    • Core differences between developing for a single platform (native) versus multiple platforms (cross-platform)
    • Pros and cons of each methodology
    • Survey of common native platforms (iOS, Android) and cross-platform tools (React Native, Flutter)
  • Introduction to JavaScript Programming
    • Core syntax and structure of JavaScript
    • Variables, constants, and data types (number, string, boolean, object)
    • Operators and expressions
    • Control flow mechanisms: if, else, switch
    • Introduction to functions and scoping (global versus local scope)
  • Setting up Xcode for iOS Development
    • Overview of the Xcode IDE: Interface, tools, and workflow
    • Installation of Xcode and operation of the iOS simulator
    • Introduction to the Swift programming language
    • Writing a basic Swift application and executing it on the iOS simulator
  • Setting up Android Studio for Android Development
    • Installation of Android Studio and environment configuration
    • Configuration and usage of the Android Emulator
    • Introduction to the Kotlin programming language and its basic syntax
    • Writing a basic Kotlin application and executing it on the Android emulator
  • Setting up React Native Development Environment
    • Installation of Node.js and React Native CLI
    • Introduction to Expo and project creation using Expo
    • Execution of a simple "Hello World" application on both iOS and Android emulators

Week 2: iOS and Android Fundamentals

  • Introduction to Swift and Xcode IDE
    • Variables and data types in Swift (Int, Float, String, Bool, etc.)
    • Constants defined with let and variables with var
    • Control flow statements (if, switch, loops)
    • Functions and parameters in Swift
    • Error handling in Swift
  • User Interface Design in iOS
    • Introduction to storyboards and Xcode Interface Builder
    • Designing application layouts using Auto Layout and constraints
    • Incorporating UI components: buttons, labels, text fields, and images
    • Managing user interactions and events (e.g., button clicks)
    • Constructing a simple login form and validating user input
  • Introduction to Kotlin and Android Studio IDE
    • Core Kotlin syntax (variables, data types, and functions)
    • Understanding Kotlin’s null safety features and data classes
    • Overview of Android application architecture and components (Activities, Fragments)
    • Managing the activity lifecycle in Android applications
  • User Interface Design in Android
    • Designing Android UIs using XML layout files
    • Utilizing layout managers (LinearLayout, RelativeLayout, ConstraintLayout)
    • Incorporating interactive components (buttons, text views, edit texts)
    • Using Java/Kotlin to manage user input and activity transitions
    • Constructing a login form with input validation
  • Debugging Basics in Xcode and Android Studio
    • Utilizing breakpoints, logs, and the debugger console
    • Essential debugging tools and techniques for iOS (Xcode Instruments, Simulator)
    • Essential debugging tools for Android (Logcat, Android Debug Bridge)
  • Testing and Running Apps on Real Devices
    • Connecting physical devices to Xcode and Android Studio
    • Deploying applications to physical devices (iPhones and Android phones)
    • Simulating various network conditions, battery levels, and performance metrics

Week 3: Cross-Platform Development with React Native

  • Introduction to React Native and JavaScript for Mobile
    • Definition of React Native and its benefits
    • Overview of how React Native compiles JavaScript into native code
    • JSX Syntax: Writing HTML-like structures within JavaScript
    • React components: Functional versus Class-based components
    • State and Props: Managing data flow within React Native components
  • Styling in React Native
    • Introduction to Flexbox and its significance in layout design
    • Creating responsive layouts compatible with both iOS and Android
    • Applying platform-specific styling using React Native's Platform module
  • React Navigation for Cross-Platform Apps
    • Introduction to React Navigation and navigation containers
    • Creating Stack Navigation for screen transitions
    • Implementing Tab and Drawer navigation for complex applications
    • Transmitting data between screens and managing navigation states
  • Accessing Native Device Features
    • Utilizing device features such as the camera and location services in React Native
    • Integrating APIs such as Geolocation, Camera, and AsyncStorage
    • Managing permissions for accessing device hardware (noting differences between iOS and Android)
    • Storing data locally with AsyncStorage and integrating third-party libraries for persistence
  • Preparing Apps for Deployment
    • Configuring application settings for production in Xcode and Android Studio
    • Building APKs for Android and testing on physical devices
    • Preparing iOS applications for App Store submission (app icons, signing certificates)
    • Finalizing React Native projects for production deployment across both platforms
  • Final Project Presentation
    • Presenting the final cross-platform React Native application to the class
    • Collecting feedback and discussing potential enhancements
    • Final Q&A session and closing remarks

Summary and Next Steps

Requirements

  • Fundamental understanding of programming concepts

Target Audience

  • Mobile developers
  • Programmers
 105 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories