/Repl.it GFX: Native graphics development in the browser

Repl.it GFX: Native graphics development in the browser

At Repl.it we live and breathe making software creation easier. With our
programming environment, you could start coding in your favorite language in
seconds. With live deployments, we made web hosting a breeze. With Multiplayer,
we’ve removed the drudgery from coding with friends. And today, we’re excited to
bring native GUI applications and game development to the browser.

Before we go on, you have to see this in action: Just run the repl below, wait a few
seconds for it to load, focus on the output window and start playing Tetris in
Pygame (by @theohalpern):

Let’s take it up a notch and boot up this nifty desktop app we all love (might
take up to a minute to load but then can be done recursively):

Why

We believe in the plurality and diversity of developer communities. That’s why
we spend countless days, weeks, and months working on features that can work
cross language. We want programmers from all backgrounds, regardless of their
language, to be able to code games and apps with ease. Plus, supporting native
graphics opens us up to a wealth of frameworks, games, and educational material!
We’re particularly excited about supporting Pygame and Java Swing.

Game Jam

We wanted to give you a reason to try out our new GUI capabilities, so we kicked
off our very first game jam on March 18th. It closes on April 18th, so there’s
still plenty of time to show us what you can do. As for the winner? The grand
prize is 1BTC ($4,031 at the time of writing).

Technology

We like to release early and often. So while this works, and we’re proud of what
we’ve done, there’s still a long way to go. Right now, we’re piping the X
Window system through VNC through WebSockets to your browser, which is not the
most efficient way to do this — we have a lot of ideas on how we could improve
it.

To stay true to our adaptive IDE principle — the IDE
should “do the right thing” when you need it — we use LD_PRELOAD to figure out
when an application is trying to open a window and then we start X in the
background and reveal the screen in the environment. This has the effect of
delighting our users:

Finally, depending on how far you are from our data center (US-central) you
might feel a delay, which we’re also
working on making better by replicating our data center (watch out Google
Stadia
).

Please leave us feedback so we can improve. Or come work with
us
so we can make it better together.

Get started

Early reception has been tremendous, and replers have been building amazing
things. Take a look at some of the submissions in our game jam or
give it a spin yourself:

We’re supporting these frameworks out of the box, but very soon, we’ll roll this
out to all of our languages. If you’re impatient, then you can use our base
image to Install (pkg-install) and run your framework.

Happy game development!