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
Launching into Orbit.js
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sibiu Web Meetup
November 23, 2019
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Launching into Orbit.js
Sibiu Web Meetup
November 23, 2019
More Decks by Sibiu Web Meetup
See All by Sibiu Web Meetup
DevSecOps: Develop Fast & Stay Secure
sibiuwebmeetup
0
58
Git commit messages and PR etiquette
sibiuwebmeetup
0
58
Introduction to Cypress
sibiuwebmeetup
0
53
Web Application Security
sibiuwebmeetup
0
130
Zero Coupled Microservices
sibiuwebmeetup
0
28
Ethereum: Quick & Dirty
sibiuwebmeetup
0
97
Automation in Code Reviews
sibiuwebmeetup
0
140
useState(props.title)
sibiuwebmeetup
0
110
Introduction into ClojureScript
sibiuwebmeetup
0
59
Other Decks in Programming
See All in Programming
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
730
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
6k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
160
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
16k
速習iPhone Duo対応
yuukiw00w
2
980
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
sbt 2.0: takeoff
eed3si9n
0
150
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
170
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
ActionController meets Protocol Buffers
sorah
0
220
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
560
The SEO Collaboration Effect
kristinabergwall1
1
590
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Deep Space Network (abreviated)
tonyrice
0
370
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
The Curious Case for Waylosing
cassininazir
1
570
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
520
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
LAUNCHING INTO ORBIT.JS
mercury ABOUT ME Stamate Cosmin @monovertex
venus ABOUT ORBIT.JS • Overcharged ORM • Framework for interacting
with and synchronizing various data sources • Offline/online transitions
earth INSPIRATION • “Ember in Orbit - Building apps for
Outer Space Connectivity” • Miguel Camba @cibernox • Ember{{fest}} 2019 • https://youtu.be/ b7-VegI-WX8
mars ORBIT.JS PHILOSOPHY • Everything is interchangeable • Incremental complexity
• Easy wiring • Glue APIs and strategies together with minimal friction
jupiter MAIN DIRECTIVES
io (jupiter) GOALS • Optimistic/pessimistic strategies • Plug n’ play
• Client-first • Branching/merging • Change tracking => undo/redo support
europa (jupiter) CONSTRAINTS • Disparate data sources • Compatible interfaces
• Normalized data • Notifications and change tracking
saturn PRIMITIVES
mimas (saturn) RECORD • Data in normalized form • Has
an id • Has a type • It can include other attributes or relationships
enceladus (saturn) SCHEMA • The entirety of Models • Models
describe a record type • Think of Models as classes, records as instances and of schema as domain/project
dione (saturn) SOURCE • Sources are providers and managers of
data • Each source understands how data of any given schema should be stored in their corresponding backend
tethys (saturn) TRANSFORM • A set of Operations • Operations
describe a mutation on a record • Transforms are atomic • E.g. a new record, an attribute update, a relationship deletion
rhea (saturn) QUERY • An expression to retrieve specific data
• Same meaning as in traditional database systems • Query builder
iapetus (saturn) LOG TASK BUCKET • Log: history of transforms
• Task: handle actions in async or synchronous manners • Bucket: a database backup for database state; holds transient information
hyperion (saturn) COORDINATOR • Higher order component • The Coordinator
dictates strategies • Handles wiring between a set of sources • Declarative
uranus DATA SOURCES
ariel (uranus) MEMORY • @orbit/memory • Tab-specific • Lives in
memory allocated for the JS process • Immutable data structures • Cheap forking/merging
miranda (uranus) JSONAPI • @orbit/jsonapi • JSON:API is a set
of conventions for building APIs with data formatted as JSON objects • Modern standard that allows for better integration
umbriel (uranus) INDEXEDDB • @orbit/indexeddb • Client-side database • Provides
a persistent, domain-specific structured storage solution • Especially useful for PWAs, if available
titania (uranus) LOCAL STORAGE • @orbit/local-storage • Synchronous storage •
Designed for smaller amounts of data • Can be a fallback from indexeddb, but performance can be impacted
oberon (uranus) OTHER SOURCES • Adapters for other sources can
be easily implemented • Custom REST APIs • orbitdb/orbit-db - peer-to-peer database • Google Drive - a spreadsheet or a JSON file • Local file system (nodejs/native apps)
neptune Q&A
pluto THANK YOU!