close
Cart icon
User menu icon
User icon
Lightbulb icon
How it works?
FAQ icon
FAQ
Contact icon
Contact
Terms of service icon
Terms of service
Privacy policy icon
Privacy Policy
Zdjęcie główne artykułu.

Introduction to the JavaScript environment

What can be done with JavaScript? Perhaps it would be better to ask: what can't be done? Because modern JavaScript has virtually unlimited possibilities. And it is the undisputed king of programming languages in terms of popularity.

JavaScript (or simply: JS) is not only a language. It's also a rich ecosystem of tools that allows you to write applications of all types. The dynamic development of this field is both fascinating and frightening with the multitude of available solutions.

Undeniable popularity

A quick glance at the StackOverflow survey should explain a lot:

https://insights.stackoverflow.com/survey/2020#most-popular-technologies

The most popular technology is... obviously JavaScript. Anyway, there are plenty of such surveys on the net. No matter if the poll concerns professional developers or amateurs. Almost always JS is in first place.

Popularity simply translates into the spread of this technology to the mainstream. And it creates a demand on the job market. The number of offers for JavaScript programmers, at the moment, beats any other language. This is the undisputed number 1, and certainly it will remain so for a long time.

Much more than a simple scripting language

The sensation of JavaScript is that it was originally a simple language for writing interactive elements on web pages. You probably associate things like pop-ups (very annoying). Or drop-down menus. Or a simple timer counting down to the end of a limited offer on a page. This has been the pinnacle of the language's capabilities over the years.

It just so happens that JavaScript is used for pretty much everything these days. To write complex applications that run in the browser. To write mobile applications. To write client-server applications. How did that happen? I don't think anyone knows for sure. Anyway, it's not that important.

The fact is, JavaScript is the key language of the Web today. Without it, there would be no Internet as we know it.

Front-end Frameworks

Are you using Codenga? For sure, since you are reading this article. Codenga works thanks to Angular. It's a so-called framework to build dynamic, front-end applications. In JavaScript, of course. Front-end is simply everything that runs in the browser. What you see now, the buttons you click on. The menus that you expand.

With Angular, we were able to build all these interactive tasks, in-browser code editors, and many other things in Codenga. This is an example of the possibilities that modern JavaScript frameworks provide. Without them it would be impossible to create such complex applications.

Angular is just one of many examples. Front-end applications are a fundamental area of JavaScript use. You could endlessly list tools that simplify the creation of such projects:

Let's end with these four. Listing all, relatively popular tools makes no sense because such a list would take half of the article. Wherever you look, there is a framework for building front-end applications. And new ones are appearing literally every day.

TypeScript

Not to make things too easy, you also have a specific type of JavaScript known as TypeScript. From a technical point of view, it's called a collection, which extends JS with new capabilities. That is almost the same as in JS but not quite.

Some people love TypeScript and others dislike it. Regardless of personal opinions, TypeScript is an important part of the modern JS ecosystem. It has its pros, especially if you're working on complex projects. Sometimes you won't have a choice and your future job might just require additional TypeScript knowledge in addition to JS.

Fortunately, this can be mastered in a short amount of time because TypeScript is just an additional extension to the capabilities of JavaScript itself.

Node.js

JavaScript is not only the front-end. It's also the back-end, which means the ability to run JS code on the server. What does it give us in practice? Well... a lot.

Chat, communicator, streaming audio and video content. Or hundreds of other applications. Such projects can be written in JavaScript thanks to Node.js. This revolutionary tool has changed the way we view and use JavaScript forever.

Node.js gives us the ability to run JS code outside of the browser, for example on a server. And that's what gives us all these amazing opportunities to create interactive applications. Node.js is used by Netflix and dozens of other popular products. It's an incredibly important part of the JS world.

Games

In JavaScript you can also create games. Maybe they won't be AAA titles (i.e. "high end", with advanced graphics). Nevertheless, simple browser games can be written without any problem. Besides, statistically more people will play a browser game than games for the latest consoles and PCs.

When it comes to tools that make it easier to create games in JS, there's a lot of cool stuff available to you. You can use popular frameworks like Phaser, PlayCanvas, or Pixi.js. There are quite a few of these.

Games are a large and growing part of the JavaScript ecosystem. The technical possibilities are getting bigger and bigger every year. Keep an eye on this area because there may be many more surprising things to show here. Especially in the area of VR (or virtual reality) and more.

Desktop and Electron

There's this cool tool called Visual Studio Code. It's an extremely successful code editor used by millions of developers. One of the best things ever created by Microsoft.

At first glance it is a standard desktop application. A sort of "ordinary" program. Did you know that Visual Studio Code is written in JavaScript? This has long been possible thanks to the Electron tool, which "packages" JS code into typical windowed applications.

Another, even more popular example is the Slack instant messenger. It also works thanks to a combination of JavaScript + Electron. This is a great demonstration of how widespread modern JavaScript is.

Mobile Apps

You'd be surprised how many apps are based on a combination of HTML + CSS + JavaScript. Technically, these are web pages wrapped in a view that resembles a mobile app. Visually and functionally indistinguishable from a so-called native app, built with platform-specific tools (Android, iOS).

You have many tools at your disposal to make this task easier: React Native, Ionic, PhoneGap. There is a lot of it because mobile app development is an important part of the JavaScript ecosystem.

Simple features

OK. We have all these frameworks, libraries, and tools. We can build server applications, mobile applications, desktop applications. Whatever we want to do.

But don't forget that JavaScript is by design a simple language for writing scripts. And this is still one of the most important uses of the language. Any functionality like drop-down menus, pop-up windows, etc. can be easily created using "pure" JavaScript. That means without using libraries, frameworks, and other stuff.

Often it is much better to write a simple script adding some functionality to the site than to use a heavy and complicated library. So "pure JS" can do a lot. This is also an important part of the language. In the end, simple solutions are usually the best.