Course Outline
Introduction
Week 1: Overview of Mobile Development for Government
- Mobile Ecosystem and Platforms
- Overview of mobile operating systems (iOS and Android)
- Key differences between iOS, Android, and cross-platform development
- Popular app stores (Apple App Store, Google Play Store)
- Introduction to native, hybrid, and cross-platform development for government
- Native vs Hybrid vs Cross-Platform
- Advantages and challenges of each development method
- Overview of Swift (for iOS), Kotlin (for Android), and React Native (cross-platform)
- How code translates to mobile platforms (JavaScript to native code in React Native)
- Programming Fundamentals
- Introduction to programming concepts (variables, data types, functions, control flow)
- Comparison of Swift, Kotlin, and JavaScript syntax for government applications
- Writing simple programs using Swift, Kotlin, and JavaScript for government use cases
- Setting up Development Environments
- Installing Xcode and Android Studio for government projects
- Setting up React Native CLI and Expo for government applications
- Running basic "Hello World" apps on simulators and emulators for government testing
Week 2: Introduction to Swift, Kotlin, and JavaScript for Government
- Swift Programming for iOS
- Variables, constants, and data types in Swift for government applications
- Control flow statements (
if,switch, loops) for government logic - Functions and parameters in Swift for government functions
- Introduction to Xcode's interface and Swift Playgrounds for government development
- Kotlin Programming for Android
- Variables, data types, and functions in Kotlin for government applications
- Understanding Kotlin’s null safety for government data integrity
- Control flow and loop structures for government processes
- Introduction to Android Studio’s interface and Kotlin Playground for government development
- JavaScript for React Native
- Variables, constants, and control flow in JavaScript for government applications
- ES6 features: arrow functions, template literals, and destructuring for government coding
- Writing and running basic JavaScript programs in React Native using Expo for government projects
Week 3: iOS User Interface Design for Government
- UI Elements in iOS
- Introduction to UIKit and SwiftUI for government applications
- Adding and customizing UI elements like buttons, labels, and text fields for government interfaces
- Using Interface Builder to design UI for government use cases
- Working with Storyboards and designing multi-screen UIs for government projects
- Auto Layout and Constraints
- Understanding the Auto Layout system for government apps
- Using constraints for responsive layouts across different screen sizes in government applications
- Creating stack views and dynamically adjusting UI elements for government interfaces
- SwiftUI Basics
- Introduction to declarative UI design in SwiftUI for government apps
- Building simple UI components using SwiftUI for government projects
Week 4: Android User Interface Design for Government
- XML Layouts in Android
- Introduction to XML-based layout design for government applications
- Working with common layouts: LinearLayout, RelativeLayout, ConstraintLayout for government interfaces
- Adding and customizing UI elements: buttons, text views, image views for government use cases
- Using ConstraintLayout for responsive and dynamic layouts in government apps
- Material Design
- Integrating Material Design principles (colors, icons, typography) for government applications
- Using Material Components (buttons, floating action buttons, cards) for government interfaces
- Implementing themes and styling for Android apps in government projects
Week 5: React Native User Interface Design for Government
- React Native Flexbox Layout
- Understanding Flexbox for responsive layout design in government applications
- Creating column and row-based layouts for government interfaces
- Styling UI components with Flexbox properties (justifyContent, alignItems, etc.) for government use cases
- React Native Components
- Working with core components like
Text,View,TextInput, andButtonfor government applications - Creating interactive UI elements such as forms and buttons for government projects
- Using the
ScrollViewcomponent for dynamic content in government apps
- Working with core components like
Week 6: Data Handling in iOS and Android for Government
- iOS Data Handling
- Using UserDefaults for simple data persistence in government applications
- Introduction to Core Data for local storage of complex data in government projects
- Fetching data from APIs using URLSession for government data retrieval
- Parsing JSON data and displaying it in the UI for government interfaces
- Android Data Handling
- Using SharedPreferences for storing small amounts of data in government applications
- Introduction to SQLite and Room Persistence Library for managing databases in government projects
- Fetching data from APIs using Retrofit for government data retrieval
- Parsing JSON and handling API responses for government interfaces
Week 7: React Native State Management and APIs for Government
- State and Props in React Native
- Managing data flow within React Native components for government applications
- Using
useStatehook for managing local component state in government projects - Passing data between parent and child components via props for government interfaces
- Fetching Data in React Native
- Using the Fetch API and Axios to make HTTP requests for government applications
- Displaying fetched data in lists (using
FlatList,SectionList) for government interfaces - Persisting data locally using AsyncStorage in React Native for government projects
Week 8: Navigation in iOS and Android for Government
- iOS Navigation
- Introduction to navigation controllers and managing multiple screens for government applications
- Using segues to transition between view controllers for government interfaces
- Passing data between view controllers for government projects
- Implementing TabBar and NavigationBar for structured navigation in government apps
- Android Navigation
- Working with Activities and Intents for multi-screen apps in government applications
- Passing data between Activities using Bundles for government interfaces
- Creating a Navigation Drawer and BottomNavigationView for government projects
- Implementing fragments for flexible UI navigation in government apps
Week 9: Navigation in React Native for Government
- React Navigation Basics
- Installing and setting up React Navigation for government applications
- Using Stack Navigator for screen transitions in government projects
- Implementing Tab Navigator and Drawer Navigator for complex navigation in government apps
- Passing parameters between screens and managing navigation state for government interfaces
Week 10: Advanced Features for Government
- iOS Advanced Features:
- Core location and maps
- Accessing device location with Core Location for government applications
- Displaying maps using MapKit for government projects
- Handling geolocation and user location tracking for government interfaces
- Camera and media
- Accessing device camera and photo library for government applications
- Capturing and displaying images with UIImagePickerController for government projects
- Storing and retrieving media files for government interfaces
- Core location and maps
- Android Advanced Features
- Location and maps
- Using the Google Maps API to display maps and user location in government applications
- Accessing GPS data and handling geolocation for government projects
- Camera and media
- Using CameraX to capture photos and handle camera permissions for government applications
- Displaying images and handling media storage for government interfaces
- Location and maps
- React Native Advanced Features
- React Native maps
- Integrating maps using
react-native-mapsfor government applications - Handling location-based services (geolocation, route mapping) for government projects
- Integrating maps using
- Camera and media access
- Using the React Native Camera library for capturing photos in government applications
- Accessing device media storage and handling files for government interfaces
- React Native maps
Week 11: Debugging and Testing for Government
- iOS Debugging and Testing
- Using Xcode debugger
- Setting breakpoints and inspecting variables in Xcode for government applications
- Using the console for real-time debugging in government projects
- Common debugging issues and how to resolve them for government interfaces
- Unit testing in iOS
- Writing and running unit tests using XCTest framework for government applications
- Mocking objects and testing UI components for government projects
- Using Xcode debugger
- Android Debugging and Testing
- Using Logcat in Android Studio
- Logging and analyzing errors using Logcat for government applications
- Debugging Android apps with breakpoints for government projects
- Unit testing in Android
- Writing unit tests using JUnit for government applications
- Testing Android UI components with Espresso for government interfaces
- Using Logcat in Android Studio
- React Native Debugging and Testing
- React Native debugging tools
- Using Chrome DevTools and React Native Debugger for real-time debugging in government applications
- Console logs and inspecting network requests for government projects
- Unit testing in React Native
- Writing unit tests using Jest and Enzyme for government applications
- Testing React Native components and managing test cases for government interfaces
- React Native debugging tools
Week 12: App Deployment and Capstone Project for Government
- Deployment and Distribution
- iOS App Store submission
- Preparing your app for distribution (icons, certificates, provisioning profiles) in government applications
- Using App Store Connect to submit the app for review in government projects
- Using TestFlight for beta testing in government interfaces
- Android Play Store submission
- Preparing APK and signing the app for distribution in government applications
- Using Google Play Console for app submission and tracking in government projects
- Understanding Play Store policies and guidelines for government interfaces
- iOS App Store submission
- Capstone Project Development
- Final project development
- Building a fully functional app of your choice for government use cases
- Incorporating advanced features like API calls, navigation, media, and location for government applications
- Presenting and demoing the final app to peers and instructors in government projects
- Final project development
Summary and Next Steps for Government
Requirements
- Basic comprehension of programming principles
- Fundamental knowledge of JavaScript
Target Audience
- Mobile application developers
- Software programmers for government
Testimonials (5)
Very usefull additional informations
Grzegorz - Comp S.A.
Course - BLoC Pattern
Edward is an awesome facilitator
Zibusiso Ncube - Agricatural Research Council
Course - Ionic 4 and Angular for Developers
Maybe more exercises could be better for lerning but the time was to little
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Course - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic