Get in Touch

Course Outline

Introduction

Week 1: Introduction to Mobile Development

  • Mobile App Ecosystem and Trends
    • Overview of the mobile application landscape for iOS and Android platforms
    • Distinguishing characteristics among native, hybrid, and cross-platform application methodologies
    • Survey of standard workflows and instrumentation used in mobile application development
  • Native vs Cross-Platform Development
    • Comparison of development strategies for single-platform (native) versus multi-platform (cross-platform) deployment
    • Evaluation of benefits and limitations associated with each methodology, particularly for government operations
    • Survey of primary native platforms (iOS, Android) and widely adopted cross-platform frameworks (React Native, Flutter)
  • Introduction to JavaScript Programming
    • Fundamental syntax and structural elements of JavaScript
    • Management of variables, constants, and data types (numeric, string, boolean, object)
    • Application of operators and expressions
    • Control flow mechanisms: if, else, and switch statements
    • Concepts of functions and scoping (distinguishing global from local scope)
  • Setting up Xcode for iOS Development
    • Familiarization with the Xcode integrated development environment (IDE): interface components, tools, and workflows
    • Installation procedures for Xcode and operation of the iOS simulator
    • Introduction to the Swift programming language
    • Construction and execution of a basic application using Swift within the iOS simulator
  • Setting up Android Studio for Android Development
    • Installation of Android Studio and configuration of the development environment
    • Configuration and utilization of the Android Emulator
    • Introduction to Kotlin syntax and foundational concepts
    • Construction and execution of a basic application using Kotlin within the Android emulator
  • Setting up React Native Development Environment
    • Installation of Node.js and the React Native command-line interface (CLI)
    • Introduction to Expo framework and project initialization
    • Execution of a foundational application on both iOS and Android emulators

Week 2: iOS and Android Fundamentals

  • Introduction to Swift and Xcode IDE
    • Data types in Swift (Int, Float, String, Bool, etc.) and variable declaration
    • Usage of let for constants and var for variables
    • Control flow statements including if, switch, and iterative loops
    • Definition and parameterization of functions in Swift
    • Strategies for error handling within Swift applications
  • User Interface Design in iOS
    • Familiarization with storyboards and the Xcode Interface Builder
    • Construction of application layouts utilizing Auto Layout and constraints
    • Integration of interface elements: buttons, labels, text fields, and images
    • Management of user interactions and event handling (e.g., button clicks)
    • Development of a simple login form with input validation logic
  • Introduction to Kotlin and Android Studio IDE
    • Fundamental Kotlin syntax including variables, data types, and functions
    • Understanding Kotlin’s null safety features and data class structures
    • Overview of Android application architecture and core components (Activities, Fragments)
    • Management of the activity lifecycle within Android applications
  • User Interface Design in Android
    • Construction of Android interfaces using XML layout files
    • Utilization of layout managers (LinearLayout, RelativeLayout, ConstraintLayout)
    • Integration of interactive elements (buttons, text views, edit texts)
    • Implementation of user input handling and activity transitions via Java/Kotlin
    • Development of a login form with robust input validation
  • Debugging Basics in Xcode and Android Studio
    • Utilization of breakpoints, log outputs, and the debugger console
    • Standard debugging tools and techniques for iOS (Xcode Instruments, Simulator)
    • Standard debugging tools for Android (Logcat, Android Debug Bridge)
  • Testing and Running Apps on Real Devices
    • Connection of physical devices to Xcode and Android Studio environments
    • Deployment of applications to physical hardware (iPhones and Android devices)
    • Simulation of various network conditions, battery states, and performance metrics

Week 3: Cross-Platform Development with React Native

  • Introduction to React Native and JavaScript for Mobile
    • Rationale for utilizing React Native in mobile development contexts
    • Overview of the mechanism by which React Native translates JavaScript into native code
    • JSX Syntax: Implementation of HTML-like structures within JavaScript
    • React components: Distinction between functional and class-based components
    • State and Props: Management of data flow within React Native component hierarchies
  • Styling in React Native
    • Fundamentals of Flexbox and its critical role in layout design
    • Creation of responsive layouts compatible with both iOS and Android environments
    • Implementation of platform-specific styling utilizing React Native's Platform module, ensuring compliance for government applications
  • React Navigation for Cross-Platform Apps
    • Overview of React Navigation and navigation container architecture
    • Configuration of Stack Navigation for screen transitions
    • Implementation of Tab and Drawer navigation structures for complex applications
    • Data transmission between screens and management of navigation states
  • Accessing Native Device Features
    • Utilization of device capabilities such as camera and location services within React Native
    • Integration of APIs including Geolocation, Camera, and AsyncStorage
    • Management of permissions for hardware access (addressing differences between iOS and Android)
    • Local data storage using AsyncStorage and integration of third-party libraries for persistence
  • Preparing Apps for Deployment
    • Configuration of application settings for production environments in Xcode and Android Studio
    • Compilation of APKs for Android and testing on physical devices
    • Preparation of iOS applications for App Store submission (including app icons and signing certificates)
    • Finalization of React Native projects for production deployment across platforms, with specific considerations for government standards
  • Final Project Presentation
    • Presentation of the final cross-platform React Native application to stakeholders
    • Collection of feedback and discussion of potential improvements
    • Final question and answer session and closing remarks

Summary and Next Steps

Requirements

  • Fundamental knowledge of software engineering principles

Target Audience

  • Application engineers specializing in mobile platforms
  • Software developers focused on creating tailored solutions for government
 105 Hours

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories