Hey everyone! If you're starting Flutter in 2026, this is your perfect first step: we'll set up Flutter from scratch, fix common issues, and build a real counter app using the best practices of 2026, including Riverpod, the state management everyone's using now. No prior experience needed.
By the end, you'll have a running app on your emulator or device. Let's go!
Quick: why Flutter in 2026? It's powering everything mobile (Android & iOS), web, and desktop, with sleek performance thanks to Impeller. AI integrations are coming fast, and the job market is expanding.
Now, set up. Head to flutter.dev and follow the installation process for your OS. Use the YouTube video above as a guide.
Once you're done with the installation. Switching to VS Code…
Create project:
flutter create my_first_app
cd my_first_app
code .
Open lib/main.dart - delete the default counter for a clean start.
First, add dependencies (pubspec.yaml):
dependencies:
flutter:
sdk: flutter
flutter_riverpod: any # Latest Riverpod
Run flutter pub get.
Set up Riverpod provider scope in main.dart:
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
void main() {
runApp(const ProviderScope(child: MyApp()));
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'My First Flutter App 2026',
theme: ThemeData(primarySwatch: Colors.blue),
home: const HomePage(),
);
}
}
Create a counter provider (new file: lib/providers/counter_provider.dart):
import 'package:flutter_riverpod/flutter_riverpod.dart';
final counterProvider = StateProvider<int>((ref) => 0);
Home page (lib/screens/home_page.dart or replace main):
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../providers/counter_provider.dart';
class HomePage extends ConsumerWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final count = ref.watch(counterProvider);
return Scaffold(
appBar: AppBar(title: const Text('Flutter 2026 Counter')),
body: Center(
child: Text('Count: $count', style: const TextStyle(fontSize: 48)),
),
floatingActionButton: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
FloatingActionButton(
onPressed: () => ref.read(counterProvider.notifier).state++,
child: const Icon(Icons.add),
),
const SizedBox(height: 10),
FloatingActionButton(
onPressed: () => ref.read(counterProvider.notifier).state--,
child: const Icon(Icons.remove),
),
],
),
);
}
}
Run it: flutter run and hot reload demo!
You just built a modern Flutter app with 2026 best practices! Riverpod makes scaling easy.
Top comments (0)