1. Machine Learning
Machine learning is a trending subject these days.
Since web browsers have access to webcams and mics, you have access to visual and sound inputs which can lead to some interesting machine learning features such as Face Recognition.
It allows you to run as well as retain existing trained models, besides building new models from scratch.
ml5.js is another friendly machine learning library to create and explore artificial intelligence in the browser.
It provides access to algorithms and is built on top of TensorFlow.js.
With the introduction of HTML5 canvas, gaming on web browsers has advanced drastically.
The level of control and possibilities have increased for these games so much so that there are browser games that help you learn to program.
Phaser lets you create HTML games that run directly in the browser.
You can also create digital interactive content using Pixi.js.
Adding spinners to a heavily loaded site can make the web experience a little better for the end consumer.
You can even add slides and other intuitive animations.
Using Three.js, you can build complex 3D animations without much trouble.
You can add professional looking scroll animations that not only look lovely but also are easy to implement using the ScrollReveal library.
Using RevealJS, you get access to a fully-fledged presentation framework that will enable you to create amazing presentations.
If you don’t want to learn this tool then you can head over to the Slides website, which uses RevealJS under the hood, to create stunning presentations that run on the web browser.
5. Mobile Apps
Mainly there are 2 frameworks that facilitate mobile app development: Ionic and React Native.
Personally, I have worked with React Native and I love the fact that I can use the same language to create apps for the web as well as the mobile platforms.
React Native is Facebook’s library and renders the native components of the platform.
On the other hand, with Ionic, you can use Angular, React, and Vue to create fast mobile apps. However, it is worth noting that Ionic builds Progressive Web Application that tends to behave like native apps.
6. Digital Art
The canvas element has a vast range of methods that give developers the freedom to bring into reality complex artworks.
Methods such as drawing paths, boxes, and circles can lead to some fine digital art.
You can find a good manually curated collection of resources and tools for producing Generative Art here.
7. Controlling Robots and Drones
Most quadcopters come embedded with a basic OS that is sufficient to install NodeJS.
You can combine this knowledge with some of the awesome libraries to control flying drones and robots.
Additionally, there is the AR Drone which provides a high-level API to stream video, send instructions, and return data.
There are events and seminars that are entirely geared towards this segment such as the NodeCopter event.
8. Desktop Applications
The best part about using ElectronJS for me was that I didn’t have to learn any tools to get started.
You can build apps for Windows, Mac as well as Linux using it.
Moreover, thousands of organizations are already this framework. Some prominent ones are Twitch, Whatsapp, Slack, and Visual Studio Code.
9. Smart Watches
And it’s not complex at all!
But what if you want to build for Apple Watch?
There is Alpha WatchBench which lets you do exactly that.
10. VR and AR Apps
Virtual and Augmented Reality is considered the tech of the future.
A-Frame is a popular framework created by the Mozilla VR team to allow developers to create 3D and VR experiences without even knowing WebGL.
One of the core advantages of A-Frame is that it uses plain HTML and it’s a powerful entity-component framework.
11. Serverless Functions
This allows you to focus on the code and not the infrastructure. This is the basic architecture of the serverless application, which is gaining popularity lately.
It is possible to convert any NodeJS app into a scalable Serverless app.
One can use NodeJS to write Lambda functions(AWS) and Cloud functions(Google Cloud).
There are various benefits that come when using Serverless apps such as focusing on the code and not the actual infrastructure, paying for what you use, and scaling is a lot easier.
The fact that one language which is very beginner-friendly and intuitive can be used to build mobile and desktop apps as well as used in the field of game and VR development is truly mind-boggling.
One can even use JS to build professional-looking presentations and website animations.
Automating things and controlling IoT devices is another thing one can achieve with JS. Controlling robots and drones is possible.
Enjoyed this article? If so, get more similar content by reading the rest of my blog! Thanks!