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
pochi
August 20, 2014
Programming
0
4.3k
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
2k
Expoで開発してアプリを公開して得られた知見 / RNM6
pchw
3
1.7k
Firebaseでラクラクリアルタイムアプリ
pchw
0
1.3k
MongoDB族のための組み込み軽量DB NeDB
pchw
0
1.4k
月刊ライトニングトーク2014年8月号: MEAN 祭り資料
pchw
0
4.3k
RubyMotion 1.15で追加されたtest周りの話
pchw
1
3.1k
Other Decks in Programming
See All in Programming
EventSourcingの理想と現実
wenas
6
2.2k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
730
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
250
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
160
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
2
560
Macとオーディオ再生 2024/11/02
yusukeito
0
340
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
460
RubyLSPのマルチバイト文字対応
notfounds
0
100
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
17
4.3k
みんなでプロポーザルを書いてみた
yuriko1211
0
230
Quine, Polyglot, 良いコード
qnighy
4
630
Featured
See All Featured
Producing Creativity
orderedlist
PRO
341
39k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Code Review Best Practice
trishagee
64
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
820
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Scaling GitHub
holman
458
140k
Automating Front-end Workflow
addyosmani
1366
200k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.8k
Practical Orchestrator
shlominoach
186
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
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