JavaScript for Padawans

Either you’re a skilled developer, a noob or a jedi in training like me, you’ve seen a lot of JavaScript in your Internet life. Your Twitter/Facebook feed loading new messages without refreshing the page ? It’s AJAX, Asynchronous JavaScript and Xml. The random windows opening because you haven’t filled a field in a form ? Also JavaScript. A smooth scroll on a page triggered by a click ? Hello, JavaScript again.

JavaScript is the wizard of the internet, first only on browsers, now also on apps and servers. You want to learn some magic tricks to manipulate HTML elements, you want to see how it works without anything but your keyboard?

If you have basic HTML and CSS knowledge, it’s possible to learn more thanks to a few website that will provide support, exercises and lessons to learn everything about JavaScript in a web browser or programming logic in general. Let’s see what we have here.

Codecademy

I won’t lie to you, this one is my favourite. It’s well done, the interface is nice and very easy to handle. You will start with the basics, and every time you make progress you will be rewarded by a badge (achievement unlocked, gamers !) a nice pat in the back or given encouragements if you have some troubles. It really feels like the people who wrote the lessons and exercises want you to succeed and are giving you all the keys, the support and the knowledge they can provide. Be patient, young padawan, and you will really be able to go further than you expected.

Sign up to keep a track of your progression and go on at your pace. If you want more, you can also learn other languages like HTML, CSS, JavaScript’s jQuery’s library, PHP, Java, Python, SQL…

screenshot from codecademy
Screenshot from Codecademy

This website content is also available in other languages but don’t forget : english is the key when it comes to developing.

 

Khanacademy

Here the interface is a bit messier and the content is also more playful, still very interesting nonetheless. Even without being logged in, the Khanacademy will keep a track of your progress. Introductions, exercises and quizzes. You can check the content of the lessons before you engage the fight, and it also starts with the very basics before going on with everything that’s funny in JS: animations, even drawings before it goes further into serious stuff with variables, functions, looping…  And a lesson about how to make your code clean, readable and easy to debug and maintain.

screenshot of Khanacademy
screenshot from the JS quizz from Khanacademy

Someone said “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”

Keep that in mind, young padawan.

 

JS DARES

silent hill screenshot dare you

If you’re an adventurer at heart of if you simply like the Matrix movies you can give a try to JSDares. It will help you create little games, make you see the code of others, debugs some parts, rewrite others, everything in green font on a black background… Does this ring a bell? Hello, Agent Smith ?

For every game, a modal window will open with three tab. Dare, with the current game and the instructions, a console tab and an information tab, providing the information you may need to go on.

jsdares
screenshot from JSDares’ s information tab

If I introduce this one in third position it’s because it’s not for casual learners but more for people with a strong sense of challenge. Gamers, I’m looking in your direction.

This is an opensource project but if you want to learn, you will have to register. The dares can still be available without being logged in, though.

 

Conclusion

Learning JavaScript is essential if you want to understand how the internet works because it keeps spreading its influence everywhere.

Beside, all those websites are not only teaching you JS but also the very basics of programming, the logics and many keywords you’ll find in other languages. All these people want you to learn, to spread the knowledge, and that,  my friends, is what the internet is for.

Leave a Reply

Your email address will not be published. Required fields are marked *