$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Synth - 東京Node学園2014
Search
pochi
August 20, 2014
Programming
0
4.4k
Synth - 東京Node学園2014
東京Node学園2014発表資料
Synthの紹介
pochi
August 20, 2014
Tweet
Share
More Decks by pochi
See All by pochi
React Nativeで作ったアプリでRedux-Sagaを使ったので,その話 / TOM Internal Developer Session #7
pchw
0
2.1k
Expoで開発してアプリを公開して得られた知見 / RNM6
pchw
3
1.9k
Firebaseでラクラクリアルタイムアプリ
pchw
0
1.4k
MongoDB族のための組み込み軽量DB NeDB
pchw
0
1.4k
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
pchw
0
4.3k
RubyMotion 1.15で追加されたtest周りの話
pchw
1
3.2k
Other Decks in Programming
See All in Programming
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
AtCoder Conference 2025
shindannin
0
250
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
450
これならできる!個人開発のすゝめ
tinykitten
PRO
0
130
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
Java 25, Nuevas características
czelabueno
0
110
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
150
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
170
Graviton と Nitro と私
maroon1st
0
130
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
The browser strikes back
jonoalderson
0
120
Utilizing Notion as your number one productivity tool
mfonobong
2
190
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
580
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
69
GraphQLとの向き合い方2022年版
quramy
50
14k
The Invisible Side of Design
smashingmag
302
51k
Rails Girls Zürich Keynote
gr2m
95
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Transcript
Synth @pchw
https://otakumode.com/careers WANTS YOU
What is Synth?
http://www.infoq.com/jp/news/2014/06/synth Synth, API-First Web Framework, Confuses Community - APIϑΝʔετͷWebϑϨʔϜϫʔΫSynthΛ८ΔίϛϡχςΟͷࠔ -
http://www.synthjs.com/ The back-end web framework designed to make (Angular|Ember|Backbone)JS web
apps easy to create and manage.
an API-first web app framework is
#1 - #4 Synth Introduction
API-first #1
Synth is composed of … RESTful JSON API and Client
side MV* application
Backend Frontend View /api/tweets View Model Model JSON /api/memos JSON
database /tweets
Map directory structures to URL routings #2
Synth provides … Easy to add an endpoint
/api/tweets /api/memos back/resources/ tweets/ getTweets.js exports.getIndex = function () {!
:! } memos/ getMemos.js exports.getIndex = function () {! :! } Directories Backend
exports.getIndex?
exports.getIndex? exports.getIndex = function () {! // GET /api/tweets! }
exports.get = function () {! // GET /api/tweets/123! } exports.post = function () {! // POST /api/tweet! }
#3 Preloaded HTML Preloaded Data
Client side MV* frameworks have a problem
None
Synth resolves … initial rendering delays
Backend Frontend View /api/tweets View Model Model /api/memos database /tweets
templates
index.jade ! script.! var preloadedData = !{data};! body! h1= appName!
! div(ng-view)! ! if preloadHTML! script(type="text/ng-template")! != preloadHTML
#4 Promises
Synth implements preload… By using Promises
getTweets.js ! exports.getIndex = function (db) {! return db.collection('tweets').find()! .sort({
created_at: -1 })! .limit(30)! .toArray().then(function (tweets) {! return {! tweets: tweets! };! });! };
Conclusion
Synth • is an API-first web application framework • resolves
initial rendering delays • recommend to use promised handler • have a simple directory - URL mapping