What can you do with JavaScript? Resistance is futile.
A 7 minutes story written on Sep 2017 by Adrian B.G.
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.
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 framework] (https://github.com/showcases/javascript-game-engines)and 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.
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.
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”] (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) 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:
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:
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++).
Visual Studio Code - Code Editing. Redefined
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):
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:
Create and Run Your First Smart Watch App in 5 Minutes or Less - CodeProject
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
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
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.
JavaScript SDK Documentation - Leap Motion JavaScript SDK v3.2 Beta documentation
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.
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.