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
Building an in-browser IDE with JavaScript
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Paris Kasidiaris
December 17, 2015
Programming
180
1
Share
Building an in-browser IDE with JavaScript
Insights on how we manage static assets of our client side code at
www.sourcelair.com
Paris Kasidiaris
December 17, 2015
More Decks by Paris Kasidiaris
See All by Paris Kasidiaris
Docker Compose CLI for ECS
parisk
0
68
Remote business as usual
parisk
0
29
Real time sweetness with Django Channels
parisk
0
240
Stateful applications on Docker Swarm
parisk
1
140
Get back to sleep with Infrastructure as Code
parisk
0
35
Say No
parisk
0
100
Developing Microservices Frictionlessly
parisk
0
61
Creating a cloud-native development environment
parisk
0
120
Ceryx - San Francisco API Meetup
parisk
0
100
Other Decks in Programming
See All in Programming
CSC307 Lecture 17
javiergs
PRO
0
310
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
Moments When Things Go Wrong
aurimas
3
140
3Dシーンの圧縮
fadis
1
570
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
3
1.4k
ふつうのFeature Flag実践入門
irof
7
3.4k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
130
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
410
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
13
4.6k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
3
240
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
WENDY [Excerpt]
tessaabrams
11
38k
Google's AI Overviews - The New Search
badams
0
1k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
150
How to Ace a Technical Interview
jacobian
281
24k
HDC tutorial
michielstock
2
680
Leo the Paperboy
mayatellez
7
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Transcript
SourceLair Building an in-browser IDE with JavaScript
HI, I AM PARIS I work for SourceLair A website
that lets people code in their browsers.
Let's talk about managing static assets.
THE CODEBASE Back-end is built on Django and Tornado. Client
is built on vanilla JavaScript.
CLIENT SIDE GOALS Sport actual IDE features (terminal, auto complete)
Provide great performance (native like) Keep development pleasant (we ❤ writing code)
CLIENT SIDE REQUIREMENTS Extensible and scalable design Low-footprint code
STATIC ASSET MANAGEMENT GOALS Make development blazing fast Keep production
blazing fast
BLAZING FAST DEVELOPMENT REQUIREMENTS Modular architecture Inspect each j s
file separately in browser Integration with Django's s t a t i c f i l e s app
TOOLS USED github.com/jrburke/requirejs github.com/etianen/django-require
BLAZING FAST PRODUCTION One single monolithic file Minimum size Served
through CDN
TOOLS USED github.com/jrburke/r.js github.com/jrburke/almond github.com/django-cumulus/django-cumulus
SOME CODE
settings.py
home/js/main.build.js
Template Development rendering Production rendering
GAINS very simple structure pleasant development fast production performance
ISSUES Non-standard module system (AMD) Mandatory j s file encapsulation
in closure Reloading in development loads 177 j s files
THE FUTURE React, ECMAScript 2015 modules, Browsersync? github.com/facebook/react github.com/babel/babel github.com/cyberdelia/django-pipeline
github.com/Browsersync/browser-sync
WOULD YOU LIKE TO JOIN US? We are searching for
a talented Junior JavaScript Engineer. sourcelair.workable.com
Thank you. www.sourcelair.com