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
48
Remote business as usual
parisk
0
21
Real time sweetness with Django Channels
parisk
0
160
Stateful applications on Docker Swarm
parisk
1
89
Get back to sleep with Infrastructure as Code
parisk
0
17
Say No
parisk
0
86
Developing Microservices Frictionlessly
parisk
0
39
Creating a cloud-native development environment
parisk
0
100
Ceryx - San Francisco API Meetup
parisk
0
87
Other Decks in Programming
See All in Programming
Runtime Objects in Rust
mitsuhiko
0
200
Criando a Woovi em uma semana
daniloab
0
120
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
140
RustでAWS Lambda functionをいい感じに書く
taiki45
2
140
“Seeing Like a Programmer”—Resiliency, Limits, and Moral Hazards in Software Engineering (LambdaConf 2024)
chriskrycho
0
420
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.9k
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.6k
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
3
2k
slow types ってなんだろう?
karad
0
210
Escolhendo (ou não) o melhor ORM para o seu projeto
andreiacsilva
1
140
freeeのエンジニアが 就活で出そうな コーディングテストを 解説してみる
freee
0
140
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
120
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
62
5k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
47k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
How STYLIGHT went responsive
nonsquared
92
4.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Into the Great Unknown - MozCon
thekraken
15
1.1k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
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