What can you do with JavaScript? Resistance is futile.

A 7 minutes story written on Sep 2017 by Adrian B.G.

image

You want to or already did learned JavaScript, and you are curious what other cool stuff can you build using it. In order to help you …

I made a comprehensive list of application types that you can build and platforms accessible using the JS programming language.

I don’t need to do an intro to JavaScript, I keep saying for years #javascriptwillconquertheworld. JavaScript, like The Borg, it evolved and now it even has the ability to assimilate native code.

I want to keep this reading short so I will not dig into details, instead I’ll redirect you to other resources where you can learn more for that specific. There are entire books dedicated to every section of this article.

Websites 🤠

This is how it started, it was made in 10 days by a Netscape (browser) employee, to serve ads and serve other small functionalities.

Intro to JavaScript | Udacity

21 top examples of JavaScript

JBrowse

Games 🏄🏾‍♀️

Games were among the first software ever written, so of course you can write games with JavaScript. If you already know the language choose a WebGL frameworkand start playing!, if not here’s an intro tutorial:

Intro to JS: Drawing & Animation | Computer programming | Khan Academy

Altrough I recommend C#, Unity3D allows you to use JavaScript for writing components, so you can build games for Android, iOS, Desktop, XBox, PS etc.

Unity - C# vs JS syntax

Games ca be combined with any platform. Beside browser games with WebGL you can build mobile or smartwatch games, sphero application for physical based games, server back ends as a service and so on.. the limit is your imagination.

image

Gaming platforms (video consoles) 🎮

Sometimes not only the games are built with JavaScript, but even the platform itself. AirConsole is a multiplayer (living room) online video games console, the screen is in your browser and your smartphones are the controllers. It is 100% built on web technologies. JSNES is a JavaScript emulator built to recreate and bring the old titles glory into the web world. Another example is Atari Arcade.

AirConsole - Play multiplayer games together

JSNES: A JavaScript NES emulator

Atari Arcade: Classic Games Reimagined in HTML5

Backend services (server side) 🚚

Before NodeJS we used other languages to build our back-ends like Ruby,Python,PHP,Java etc. Now we can use the same programming language for the Full Stack (CLI, Server, Client), increasing our productivity by sharing code, but losing performance in some cases. You can bundle your code into Containers and deploy it on a hosting service, VPS’s or “serverless cloud” environments.

Server-side Development with NodeJS, Express and MongoDB | Coursera

The Complete Node.js Developer Course (2nd Edition)

Amazon AWS lambda and Google functions ☁

A subsection of “server JavaScript”, it’s the next step in the services evolution chain: monolith apps, web services, micro services and now “cloud functions”. There are used for small functionalities, wrapped in small containers that can be automatically scaled in real-time reacting to your needs.

Getting Started with AWS Lambda (Node JS)

Cloud Functions - Serverless Environment to Build and Connect Cloud Services | Google Cloud…

Later edit: New cloud tools are emerging, a large scope one is AWS CDK, built to manage the Cloud infrastructure as-a-code:

awslabs/aws-cdk

CLI scripts 🕶

Command line tools are also a subset of “server JavaScript”. If you already have the code written in your NodeJS app, and you need it in a CLI tool and do not want to have duplicate code (in bash or something else), you can do it with NodeJS.

Writing Command-Line Applications in NodeJS

Desktop apps 🖥

Windows, Linux or Mac standalone applications can be built with JavaScript. Sure it can, didn’t you knew it? You are probably using one of them already (Twitch, GitHub Desktop, Slack, Discord, Visual Studio Code) more examples here:

Apps

Building a desktop application with Electron

OS & IDE’s 📇

Developers took JavaScript to extreme, building entire Operating Systems (kind of) and other heavy pieces of software that were exclusive written with low level programming languages (C & C++).

Node-OS

Cloud9 IDE - Wikipedia

Visual Studio Code - Code Editing. Redefined

image

Mobile apps 📱

Mobile is such a vast topic that I can’t even make a summary, but I will try. Using the same technique as Desktop Apps, you can wrap your JavaScript code and deliver it to mobile. Read the following article to see the entire spectrum of apps (hybrid, web apps in browser or native apps):

The Mobile App Spectrum

Smartwatch apps & games ⌚

There are a few tricky ways to do this and not all platforms support it, but still is a good starting point:

Pebble.js

Create and Run Your First Smart Watch App in 5 Minutes or Less - CodeProject

image

IoT & Raspberry Pi 💡

JavaScript can control the Internet of Things(vacuum cleaner, lights, shower temperature …). It is a fork of “server JavaScript” and it can communicate with physical devices thanks to NodeJS.

Cylon.js - JavaScript framework for robotics, physical computing, and the Internet of Things using…

Johnny-Five: The JavaScript Robotics & IoT Platform

7 Awesome Things you Can build with Node.js

image

Robots controllers ⚔

Like any efficient Borg entity, JavaScript can assimilate and control robots. IoT frameworks can be used to do this too, but there are also specialized communities and frameworks:

NodeBots - The Rise of JS Robotics

Programming Raspberry-Pi Robots with JavaScript | PACKT Books

Social bots

Everything that has an API probably already has a few JavaScript clients written. Twitter, Twitch, IRC, Slack, Discord, Skype, Facebook etc.

MeLlamoPablo/generator-discordbot

dariusk/examplebot

PhantomBot/PhantomBot

slackapi/node-slack-sdk

image

Gadgets & new technologies apps 👾

I like to experiment with all the new shiny stuff, lucky most of them have a JavaScript compatible API like Sphero BB8 & Leap Motion. VR is accesible also using JavaScript in Unity3D.

Sphero

JavaScript SDK Documentation - Leap Motion JavaScript SDK v3.2 Beta documentation

Unity - Virtual Reality

image

Block chains 💸

The protocol that shake the world after the rise of the Bitcoin can be used with JavaScript. You can build an entire block chain, clients or apps on top of them. I even saw local Jams used to solve world problems using JavaScript and Block chains. Here is a list of related libraries written in JavaScript:

Libraries - The Open Source Discovery Service

Minecraft 🏡

Minecraft mods allow the players to embed JavaScript. You can get an in-game console that interprets JavaScript code or write external scripts and run them. The main point is semi-automatization of your actions. There are also a server made in JavaScript and server-side addons in nodeJS.

Machine Learning & AI 🤖

JavaScript is not so good for math, but the developers built many libraries and frameworks to compensate and bring all that love from Python to JavaScript.

TensorFlow.js

Machine Learning with JavaScript : Part 1

10 Machine Learning Examples in JavaScript

Competitions & game players 🏅

Competition arises when humans gather in larger communities. This is the case of the JavaScript ecosystem too. If you want to speed up your coding skills here are some battle grounds:

CodeCombat: Learn to Code by Playing a Game

Coding Games and Programming Challenges to Code Better

Spaceship.codes - A Game for Programmers

Presentations 🤓

If you are looking for a free & cross platform alternative to PowerPoint you can use JavaScript frameworks like:

reveal.js - The HTML Presentation Framework

[later edit] VR apps

Virtual reality applications & games based on 100% JavaScript. Kudo to Facebook.

React VR | A framework for building VR apps using React

The End

This is not the end, it is just the beginning. Because JavaScript is so friendly & accessible more&more people will start using it, resulting in more technological opportunities and a larger adoption rate.

Thanks! 🤝

Please share the article, subscribe or send me your feedback so I can improve the following posts!

I curate a list of articles, talks and papers for one/two times per month. They are mostly related to computer science, distributed systems, databases, Go, containers and Cloud solutions.

comments powered by Disqus