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
59
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
CSC305 Lecture 08
javiergs
PRO
0
270
CSC509 Lecture 07
javiergs
PRO
0
240
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
570
CSC509 Lecture 06
javiergs
PRO
0
260
Leading Effective Engineering Teams in the AI Era
addyosmani
7
570
モテるデスク環境
mozumasu
3
1.1k
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.8k
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
33k
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
270
Software Architecture
hschwentner
6
2.3k
Google Opalで使える37のライブラリ
mickey_kubo
3
130
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Embracing the Ebb and Flow
colly
88
4.9k
Building Applications with DynamoDB
mza
96
6.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
130k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
RailsConf 2023
tenderlove
30
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Into the Great Unknown - MozCon
thekraken
40
2.1k
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