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
170
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
67
Remote business as usual
parisk
0
29
Real time sweetness with Django Channels
parisk
0
230
Stateful applications on Docker Swarm
parisk
1
140
Get back to sleep with Infrastructure as Code
parisk
0
33
Say No
parisk
0
95
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
Road to RubyKaigi: Play Hard(ware)
makicamel
1
570
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.6k
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
170
継続的な負荷検証を目指して
pyama86
3
1.1k
AIを導入する前にやるべきこと
negima
2
350
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
130
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
310
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
310
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
150
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
270
20260514_its_the_context_window_stupid.pdf
heita
0
970
cloudnative conference 2026 flyle
azihsoyn
0
180
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
360
GitHub's CSS Performance
jonrohan
1033
470k
Raft: Consensus for Rubyists
vanstee
141
7.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
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