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
Synth - 東京Node学園2014
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
pochi
August 20, 2014
Programming
4.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Synth - 東京Node学園2014
東京Node学園2014発表資料
Synthの紹介
pochi
August 20, 2014
More Decks by pochi
See All by pochi
React Nativeで作ったアプリでRedux-Sagaを使ったので,その話 / TOM Internal Developer Session #7
pchw
0
2.2k
Expoで開発してアプリを公開して得られた知見 / RNM6
pchw
3
1.9k
Firebaseでラクラクリアルタイムアプリ
pchw
0
1.5k
MongoDB族のための組み込み軽量DB NeDB
pchw
0
1.5k
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
pchw
0
4.3k
RubyMotion 1.15で追加されたtest周りの話
pchw
1
3.2k
Other Decks in Programming
See All in Programming
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.3k
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
490
数百円から始めるRuby電子工作
tarosay
0
130
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
580
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
360
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
「人を評価する AI」の設計と実装
ryoyanara
0
160
継続モナドとリアクティブプログラミング
yukikurage
3
690
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.4k
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Building Applications with DynamoDB
mza
96
7.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
A better future with KSS
kneath
240
18k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Balancing Empowerment & Direction
lara
6
1.2k
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