APP Course · 90 lessons · approx. 684 minutes

Learn App Development

The career path to your own app: with React Native you build screens from View and Text, arrange them with Flexbox, react to taps and input, show lists, switch between pages with navigation and tabs, load data from a server and save on the device. Every app really runs – you see it in a phone preview. After that you get to know the native ways step by step: SwiftUI for the iPhone, Jetpack Compose for Android and Flutter for both.

  • Your first app: View and Text
  • Layout with Flexbox
  • Tapping and state
  • Input with TextInput
  • Lists in apps
  • Images, scrolling and platform
  • Navigating between screens
  • Tabs and app structure
  • Data from the network
  • Saving and the device
  • Project: habit tracker
  • Pro knowledge for apps
  • SwiftUI: screens for the iPhone
  • SwiftUI: lists, input and navigation
  • Jetpack Compose: Android apps with Kotlin
  • Compose: input, navigation and ViewModel
  • Flutter: one codebase for iOS and Android
  • Flutter: input, navigation and data

What you’ll learn

  1. Chapter 1Your first app: View and Text – How a React Native app is built: the App component, boxes with View, text inside Text, styles with StyleSheet and your own building blocks.
    Your first app · Text belongs in <Text> · Styles with StyleSheet · Your own building blocks with props · Boss: your digital business card
  2. Chapter 2Layout with Flexbox – In React Native every View is a flexbox: columns and rows, distributing and aligning, sharing space with flex, and spacing.
    Column or row: flexDirection · Distributing and aligning · Sharing space with flex · Spacing: padding, margin and gap · Boss: profile header
  3. Chapter 3Tapping and state – Apps react to your finger: Pressable and Button with onPress, state with useState, showing things under conditions and lists in state.
    Tapping with Pressable · The ready-made Button · Show it or not: conditions · State with lists and objects · Boss: drinking tracker
  4. Chapter 4Input with TextInput – The keyboard on the phone: TextInput with value and onChangeText, submitting, validating, passwords and a sign-in screen.
    Typing with TextInput · Submitting input · Validating input · Passwords and keyboards · Boss: sign-in screen
  5. Chapter 5Lists in apps – Showing many entries: map with key, FlatList with renderItem and keyExtractor, empty lists and separators, adding, deleting and ticking off entries.
    Lists with map and key · FlatList for long lists · Empty lists, header and separators · Adding and deleting entries · Boss: shopping list with ticks
  6. Chapter 6Images, scrolling and platform – Image with a fixed size, ScrollView for long pages and carousels, combining styles and differences between iOS and Android.
    Images with Image · Scrolling with ScrollView · Combining styles · iOS or Android: Platform · Boss: product card
  7. Chapter 7Navigating between screens – Several screens like in every app: NavigationContainer and stack, navigate, passing parameters, going back and useNavigation.
    Screens in a stack · Moving on with navigate · Passing data: parameters · Back and useNavigation · Boss: recipe app with favourites
  8. Chapter 8Tabs and app structure – The tab bar at the bottom like in almost every app: bottom tabs with icons and badges, a stack inside a tab and shared data with context.
    The tab bar · Icons and badges · A stack inside a tab · Shared data with context · Boss: learning app with tabs and favourites
  9. Chapter 9Data from the network – Apps fetch data from servers: fetch in useEffect, loading indicator, catching errors, sending data and a weather app with its own API.
    Loading data with fetch · Loading indicator · Errors while loading · Sending data with POST · Boss: weather app
  10. Chapter 10Saving and the device – Data stays on the phone: AsyncStorage, saving lists as JSON, confirmations with Alert, settings with Switch and a notes app that remembers.
    Saving with AsyncStorage · Saving lists with JSON · Confirmations with Alert · Settings with Switch · Boss: a notes app that remembers
  11. Chapter 11Project: habit tracker – Your final project step by step: data model, ticking off with streaks, new habits, statistics and the finished app with tabs and storage.
    The data model · Ticking off and streaks · Creating a new habit · Statistics · Boss: habit tracker
  12. Chapter 12Pro knowledge for apps – What makes good apps: custom hooks, accessibility, light and dark, app configuration for the store and a settings screen.
    Custom hooks · Accessibility · Light and dark · App configuration for the store · Boss: settings screen
  13. Chapter 13SwiftUI: screens for the iPhone – Apple's modern way to iPhone apps, guided: views as structs, Text, VStack and HStack, modifiers and state with @State.
    A view in SwiftUI · VStack, HStack and Spacer · Styling with modifiers · @State and Button · Boss: drinking tracker in SwiftUI
  14. Chapter 14SwiftUI: lists, input and navigation – Continuing with SwiftUI, guided: List and ForEach, TextField with a binding, NavigationStack, Toggle and a to-do list.
    Lists with List and ForEach · Input with TextField and $ · Navigation with NavigationStack · Toggle and conditions · Boss: to-do list in SwiftUI
  15. Chapter 15Jetpack Compose: Android apps with Kotlin – Google's modern way to Android apps, guided: @Composable functions, Column and Row, modifiers, state with remember and lists with LazyColumn.
    A composable function · Row, Column and Modifier · State with remember · Lists with LazyColumn · Boss: drinking tracker in Compose
  16. Chapter 16Compose: input, navigation and ViewModel – Continuing with Jetpack Compose, guided: TextField, lists with mutableStateListOf, navigation with NavHost, logic in the ViewModel and a notes app.
    Input with TextField · Lists in state: mutableStateListOf · Navigation with NavHost · Logic into the ViewModel · Boss: notes in Compose
  17. Chapter 17Flutter: one codebase for iOS and Android – Google's Flutter with Dart, guided: widgets, layout with Row, Column and Padding, StatefulWidget with setState, lists and a drinking tracker.
    Everything is a widget · Row, Column and Padding · StatefulWidget and setState · Lists with ListView.builder · Boss: drinking tracker in Flutter
  18. Chapter 18Flutter: input, navigation and data – Continuing with Flutter, guided: TextField with onChanged, Navigator, loading data with http and FutureBuilder, saving with shared_preferences and a to-do list.
    Input with TextField and onChanged · Navigation with Navigator · Loading data with http and FutureBuilder · Saving with shared_preferences · Boss: to-do list in Flutter

Final project: Your habit tracker

A complete app with tabs, lists, inputs, saved data and statistics.

How it works

Every lesson starts with short explanation pages. Then you practise with multiple-choice questions, fill-in-the-gap tasks, putting code in order and writing your own code – with hints and instant feedback. Free, without ads, on phone, tablet and PC.

Learn App Development now