Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vapor - Swift Server-Side
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Giovane Possebon
April 18, 2018
Technology
81
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vapor - Swift Server-Side
Giovane Possebon
April 18, 2018
More Decks by Giovane Possebon
See All by Giovane Possebon
Sketch and Zeplin
giovanepossebon
0
51
FROM MV(X) TO VIP(ER)
giovanepossebon
0
38
Other Decks in Technology
See All in Technology
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
150
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
180
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
3
2.4k
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
100
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
130
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
870
20260912_スクフェス三河
kgnkhkr
0
370
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
1
1.3k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
500
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
270
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
The browser strikes back
jonoalderson
0
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Heart Work Chapter 1 - Part 1
lfama
PRO
9
36k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Transcript
None
GIOVANE POSSEBON RAFAEL LEANDRO iOS Developer iOS Developer @giovanepossebon @CRF_Rafa
None
"Vapor is the most used web framework for Swift” INTRODUÇÃO
brew install Vapor INSTALLATION
TEMPLATES vapor new <projectName> --template=web
vapor build -> vapor run COMPILE & RUN
vapor xcode
FOLDER STRUCTURE
DROPLET “Responsible for registering routes, starting the server, and more…”
/droplet
CONFIG “Responsible for the providers, database preparations, etc…”
/config
ROUTE /user/32 V1
/routes/register
/routes/nesting
/routes/response Response ResponseRepresentable throw
/routes/response
/routes/representable
/routes/throws
PARAMETERS
/parameters/typesafe
/parameterizable
CONTROLLERS
None
/controllers
/controllers
/controllers
PROVIDERS
/provider Adding Provider Importing Provider
/provider Configure Provider
Fluent provides an easy, simple, and safe API for working
with your persisted data FLUENT & MODELS
/model
/prepare/database
/prepare/database id name age <database id type> string int
/model
CRUD
/crud Save Find
/crud Delete All
QUERIES
QUERIES Filter Sort Raw
query/filter Compare Subset
query/sort Basic sort Chaining sorts
query/raw Raw filter Raw query
JSON { }
json
json
drop.view.make(“index.html”) VIEWS
view Rendering HTML
LEAF A simple template language
Leaf #( ) #(variable) #import(template) #export("link") <a href="#( )"></a> #index(friend,
"1") #loop(friends, "friend") { <li>#(friend.name)</li> } #raw() { <a href="#raw">Anything goes!@#$%^&*</a> }
ENVIRONMENT
DEPLOY
vapor cloud deploy
None
None
https://vapor.team
Where to go?
vapor.university
None