Just push play!

5 min read Original article ↗

Mario Nogueira Ramos

Press enter or click to view image in full size

code “jam sessions” are much more fun with azk

Para ler a versão em Português, clique aqui.

Today we are introducing the Run Project” button.

Run Project” is the “play” button for GitHub

Press enter or click to view image in full size

“Run Project” + GitHub = just push play!

The “Run Project” button is a new azk feature.

A Brief Recap

With azk, we're trying to build the best tool for rapid code
experimentation and prototyping by individual developers and for small teams.

To that goal, what is still missing in azk?

Let's recap:

azk is a development environment orchestrator

In practice, that means azk must be able to isolate and configure a project's environment on the developer's local machine quickly, easily and safely.

This must be true for new applications built from scratch as well as for previously existing ones.

And, of course, azk wouldn't be complete without being able to deploy the applications it runs.

All those capabilities are presently built in azk, as we can see by the links above (even though some of them are still quite early, but constantly being improved).

By the way, azk is open source.

So, what is missing?

GitHub

GitHub is awesome!

We're talking about the largest online community of developers and the largest repository of public code (a.k.a open source) in the world (it also offers private repositories for a fee).

There are nearly 11 million users collaborating on almost 27 million projects hosted there (source).

Press enter or click to view image in full size

azk is open source and lives on GitHub

GitHub's several innovative features in version control, collaboration and community management have made it the best place to host code (public or private).

There's no greater code diversity available anywhere.

However, is there something missing on GitHub?

“Issues” (no pun intended)

Even with all of its resources, the act of running any piece of code hosted on GitHub still involves the configuration of the corresponding development environments. In almost every case, that's a manual, long, repetitive and thus error-prone task.

Plus, depending on the stack each project is built with, this configuration work may involve very diverse tools and documentation.

There are so many dependencies and "incantations" involved that simply experimenting some harmless piece of code can become a potentially frustrating endeavor (imagine all those bizarre installation errors you have no idea where they came from).

And don't get me started with security and isolation issues ("is someone seriously expecting that I just install this thing on my machine out of the blue?").

By the way, none of these issues are GitHub's fault. That's just life in software development.

So, all that code… and this bottleneck in your way.

"What if GitHub had a play button?"

“Run Project”

So, today we are introducing the Run Project” button.

Run Project” is the "play" button for GitHub

Press enter or click to view image in full size

“Run Project” + GitHub = just push play!

The “Run Project” button is a new azk feature.

When you click the “Run Project” button on a GitHub repository, you'll have its code running on you local machine in no time.

It's NOT code deployment straight to the cloud! This is NOT the deployment of a binary file either (be it to your machine or to the cloud).

This is source code running on your local machine… smoothly. ;)

Thus, you the developer, will be able to work on that code. You'll be able to interact with it and see the results right on the spot. After all, once you run a project on your machine using azk, it's super easy to change it or to build on top of that code.

How it works

Click here to see it in action on this short tutorial

When you use the “Run Project” button, you'll actually use a new azk functionality: run the `azk start` command and pass a GitHub repository URL with the code you want to run.

$ azk start -o https://github.com/run-project/shout

In order to make “Run Project” work, a corresponding Azkfile.js must have been previously created and made available on the project's repo.

Attention: you'll need the latest azk version to use "Run Project" (see below).

“Run Project” requires azk 0.15.0 (or higher)

Security

azk is an engine that runs an application no matter the host environment that contains it.

For that, it uses containers. As as result of this, applications become
self-contained and self-sufficient when it comes to running them. Only the containers must be compatible with the host environment.

Thus, using “Run Project” is actually pretty safe!

The execution environments are absolutely isolated and any action can be easily and completely undone (up to the point of removing azk itself as well as the application code running with it).

azk is available for Mac OS X and Linux.

Where to find it

Right now, we decided to make the “Run Project” button available only in a public repositories gallery on GitHub curated by our own azk core team with up-to-date forks of selected projects.

example of a project listed on the “Run Project” gallery

We chose the projects based on a combination of popularity and diversity so that the resulting gallery would be actually useful and make for a
good showcase of the scope of use of the “Run Project” button

We'll gradually expand the projects list. So, stay tuned! ;)

If you'd like to suggest projects, please feel free to open an issue or send a pull request (on the gallery itself in both cases).

How to get it

If you try and use it out of the gallery scope, the “Run Project” button will tell you how to obtain it or request it for the original projects we forked to build our gallery (and even other projects).

We'll let you find it for yourself. ;)

If you're the author of a project on GitHub, “Run Project” means less friction for your users (and potential users!) to use or try it. Greater visibility and success for you and your project!