What you’ll learn
- 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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.