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
Paris Kasidiaris
December 17, 2015
Programming
1
160
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
Tweet
Share
More Decks by Paris Kasidiaris
See All by Paris Kasidiaris
Docker Compose CLI for ECS
parisk
0
58
Remote business as usual
parisk
0
25
Real time sweetness with Django Channels
parisk
0
210
Stateful applications on Docker Swarm
parisk
1
120
Get back to sleep with Infrastructure as Code
parisk
0
25
Say No
parisk
0
92
Developing Microservices Frictionlessly
parisk
0
57
Creating a cloud-native development environment
parisk
0
120
Ceryx - San Francisco API Meetup
parisk
0
96
Other Decks in Programming
See All in Programming
Swift Updates - Learn Languages 2025
koher
2
490
個人軟體時代
ethanhuang13
0
330
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
160
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
130
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.8k
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
2.4k
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
楽して成果を出すためのセルフリソース管理
clipnote
0
180
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
51k
Designing Experiences People Love
moore
142
24k
BBQ
matthewcrist
89
9.8k
How STYLIGHT went responsive
nonsquared
100
5.8k
Music & Morning Musume
bryan
46
6.8k
A Modern Web Designer's Workflow
chriscoyier
696
190k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Designing for Performance
lara
610
69k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Speed Design
sergeychernyshev
32
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
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