Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FlutterMTL September Meetup - Build Full-Stack App in Dart
Search
GDG Montreal
September 21, 2023
Programming
0
75
FlutterMTL September Meetup - Build Full-Stack App in Dart
GDG Montreal
September 21, 2023
Tweet
Share
More Decks by GDG Montreal
See All by GDG Montreal
Build an AI doctor assistant on Android by Florian Denu
gdgmontreal
0
26
Building an arcade with Android by Éric Boissonneault
gdgmontreal
0
18
Navidot - Presentation of a school project using Flutter in 3 months
gdgmontreal
0
10
Getting Started Right: A Guide to Project Structure & Architecture
gdgmontreal
0
12
Flutter @Next’24 - How Google did promoted Flutter
gdgmontreal
0
10
Introduction to Game Development in Flutter with Flame
gdgmontreal
0
20
Leveraging generics to create flexible, type-safe, highly reusable code
gdgmontreal
0
14
Demystifying OWASP Top 10 Mobile Risks
gdgmontreal
0
14
Core concepts of Navigation in Flutter
gdgmontreal
0
23
Other Decks in Programming
See All in Programming
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
170
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
220
"config" ってなんだ? / What is "config"?
okashoi
0
300
Netty Chicago Java User Group 2024-04-17
sullis
0
200
What We Can Learn From OSS
inouehi
0
440
Next.js App Router
quramy
12
1.8k
Goのエラースタックトレースの歴史と今後
sonatard
10
1.8k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.8k
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Apache Hive 4 on Treasure Data
ryukobayashi
1
420
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
380
禅の心を手に入れよ
eltociear
1
310
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
325
20k
GraphQLとの向き合い方2022年版
quramy
33
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
8
1.3k
KATA
mclloyd
16
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
The Cult of Friendly URLs
andyhume
74
5.7k
Automating Front-end Workflow
addyosmani
1357
200k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Transcript
Build Full-Stack Dart Application Jhin Lee, S/W Developer @Unity
Jhin Lee Full-Stack Developer @Unity | GDG & Flutter Montreal
Organizer • Full Stack Developer (Android, iOS, Flutter, Web, DevOps or anything!) • 10yr+ Android and Embedded System Engineer (AOSP, Linux Kernel, HAL, etc.) • Scrum Master (PSM2) • https://www.linkedin.com/in/leehack/
Agenda 1 2 3 4 5 Why full-stack in Dart?
What do we build? Global Architecture Project Structure Reset APIs 6 Let’s Code!
One Programming Language Share codes between Backend and Frontend Flutter
(and Dart Frog!) It’s easy and fun! Performance??? + + + Why Full Stack in Dart? + +
So, What will we build today?
None
Global Architecture • Frontend in Flutter • Backend in Dart
Frog • Shared package in pure Dart
Project Structure Mono repo • Frontend Flutter Codes in /packages/frontend_flutter
◦ Flutter UI and REST API Client • Backend Dart Frog Codes in /packages/backend_frog ◦ Dart Frog REST API Server • Shared library in /packages/todo ◦ Data Model ◦ Repository Interface Frontend and Backend uses the Shared library as a dependency.
REST APIs • /todos ◦ POST - Add a new
todo ◦ GET - Get all todo list • /todos/:id ◦ GET - Get a todo by id ◦ PUT - Update a todo ◦ DELETE - Delete a todo by id
Let’s Code! Dart Frog Flutter Docker Melos Riverpod
References • Article for more detail - https://dev.to/leehack/lets-build-a-full-stack-dart-app-36lm • Dart
Frog Website - https://dartfrog.vgv.dev/ • Melos Website - https://melos.invertase.dev/ • Riverpod Website - https://riverpod.dev/
Questions?
Thank you!