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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Paris Kasidiaris
December 17, 2015
Programming
1
170
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
64
Remote business as usual
parisk
0
29
Real time sweetness with Django Channels
parisk
0
230
Stateful applications on Docker Swarm
parisk
1
130
Get back to sleep with Infrastructure as Code
parisk
0
30
Say No
parisk
0
93
Developing Microservices Frictionlessly
parisk
0
59
Creating a cloud-native development environment
parisk
0
120
Ceryx - San Francisco API Meetup
parisk
0
97
Other Decks in Programming
See All in Programming
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
How to stabilize UI tests using XCTest
akkeylab
0
130
オブザーバビリティ駆動開発って実際どうなの?
yohfee
4
870
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
600
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
2
270
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
130
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.4k
OTP を自動で入力する裏技
megabitsenmzq
0
110
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
390
AI活用のコスパを最大化する方法
ochtum
0
130
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
500
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
950
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Everyday Curiosity
cassininazir
0
160
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
990
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
63
51k
Docker and Python
trallard
47
3.8k
Side Projects
sachag
455
43k
BBQ
matthewcrist
89
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
170
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
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