Flutter Next - Js Integration
Flutter Next - Js Integration
Table of Contents
1. Set Up Your Next.js Backend
Option 1: Use Next.js API Routes (Serverless)
bash
mkdir -p pages/api
touch pages/api/hello.js
javascript
Page 2 of 5
bash
yaml
dependencies:
flutter:
sdk: flutter
http: ^0.13.5
dart
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
void main() {
runApp(MyApp());
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Flutter & Next.js')),
body: Center(
child: FutureBuilder<String>(
future: fetchMessage(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
Page 3 of 5
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
return Text(snapshot.data ?? 'No data');
}
},
),
),
),
);
}
}
bash
flutter run
bash
javascript
dependencies:
web_socket_channel: ^2.2.0
dart
import 'package:flutter/material.dart';
import 'package:web_socket_channel/web_socket_channel.dart';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('WebSocket Example')),
body: StreamBuilder(
stream: _channel.stream,
builder: (context, snapshot) {
return Center(
child: Text(snapshot.hasData ? '${snapshot.data}' : 'Waiting for data...'),
);
},
),
);
}
@override
void dispose() {
_channel.sink.close();
super.dispose();
}
}
3. Run both Next.js and Flutter, and they will communicate in real time.
Once deployed, update Flutter's API URLs to match your production backend.
Conclusion
Page 5 of 5