Javascript Challenge For Old Developers

by Janeth Kent Date: 24-02-2019 javascript developers node


Let's take a moment to talk about you and your relationship with JavaScript before we talk about all the technical things.

If you're like me, you've been writing HTML documents with HTML "development" (=_=) for a long time. You've found this strange thing called JavaScript, but you've only used it in a basic way to add interactivity to your web pages from time to time.

Then you also wanted to know how to build complex websites - you learned a programming language like PHP, Ruby, Java, and started writing "backend" code.

But again, you kept an eye on JavaScript, you saw that with the introduction of jQuery, Prototype and the like, things became more advanced in JavaScript and that this language was more than just window.open.

Although it was nice to have jQuery at your disposal to make whenever you felt like spicing up a website, at the end of the day you were, at best, a user of JavaScript, but not a developer of JavaScript.

And then Node.js came.

How pretty cool is JavaScript on the server?

So, you decided it's time to look over the old-new JavaScript. But wait, writing applications for Node.js is one thing; understanding why they have to be written, the way they are written means understanding JavaScript.

And for real this time.

Because JavaScript really lives two, maybe even three lives (the funny little DHTML helper from the mid-90's, the more serious frontend stuff like jQuery and likes, and now on the server side), it's not that easy to find information that helps you learn JavaScript in the "right" way, to write Node.js applications in a way that makes you feel that you don't just use JavaScript.

Because that's the hook: You're an experienced developer, you don't really want to learn a new technique just by spoofing and misusing it; you want to make sure you approach it from the correct angle.

On the same lines: When you start learning modern JavaScript, there is a good chance that the solution to your problem will still be worked out. In fact, it is very possible that only one code review will be merged into the package you are using.

When you work with an old language such as PHP, you google a question or problem, and nearly 100 percent of the time you find a 5-year - old Stack Overflow answer that solves it, or a full discussion in the documentation (complete, heavily commented and unparalleled).

I have found myself browsing through comments on GitHub significant issues and source code only to find evidence that contradicts out - of - date documentation more than once.

The other hard thing about learning JavaScript in 2017: it will take you as long as you build the app. The number and variety of tools and plugins, packages and dependencies and the editor setup and configuration required to do so "the right way" are enough to stop you before you even start.

I had to let go of doing it the proper way from the beginning, and allow myself to fumble through plain amateur setups just to get comfortable with individual tools.

Then I’d find out better ways and incorporate what I could, when I could, on each new project.

The JS world has a lot of work to do in this regard.

When you learn a new language, you write code, then blow it up, and then write more. My modern JavaScript education was a stepladder of tutorials, then a small solvable project, in which I compiled a list of issues and questions, then a check-in with my colleagues for responses and justifications, then more tutorials, then a slightly larger project, more questions, a check-in-washing, rinsing, repeating.

The most critical thing I had to remember in the end was this: Doing is learning. Doing pretty badly?

It’s still learning.

These days, learning modern JavaScript can feel like a futile WTF workout. If you missed your brain for those brief moments, Google's Addy Osmani has the right advice:

I encourage folks to adopt this approach to keeping up with the JavaScript ecosystem: first do it, then do it right, then do it better. […]

It takes time, experimentation and skill to master the fundamentals of any new topic. Beginners shouldn’t feel like they’re failing if they’re not using the library-du-jour or reactive-pattern of the week. It took me weeks to get Babel and React right. Longer to get Isomorphic JS, WebPack and all of the other libraries around it right. Start simple and build on that base.

 

 
by Janeth Kent Date: 24-02-2019 javascript developers node hits : 4394  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN END DEVELOPMENT.

 
 
 

Related Posts

Starting with Bootstrap-Vue step by step

Today we will show you how to use BootstrapVue, describe the installation process and show basic functionality. The project’s based on the world's most popular CSS framework - Bootstrap, for building…

Creating simple CSS spinner-loader

In today's article we will show you how to animate a basic loader that spins when some predefined action is defined, such as loading an image. That can be used…

Validating HTML forms using BULMA and vanilla JavaScript

Today we are going to write about contact forms and how to validate them using JavaScript. The contact form seems to be one of the top features of every basic home…

A FULFILLED PROMISE - Using the FETCH API to make AJAX calls

In this article we talked about what AJAX calls are and how to use them in a traditional way, by using the XMLHttpRequest (XHR) object. In short, thanks to AJAX…

How to use Parallax.js effect on your website

Today, we're going to write about the parallax effect, similar to parallax scrolling, and how to implement it to improve your landing page. In webdev, they say mobile first -…

How to make the website's dark mode persistent with Local Storage, CSS and JS

Recently we wrote about how to do a switchable alternative color mode or theme, a very useful and popular feature to websites. Today’s article is going to be about how…

Dark Mode on website using CSS and JavaScript

In today’s article we are going to learn how to build pretty much standard these days on the web pages and that is the alternative color mode and switching between…

JavaScript: Spread and Rest operators

In today’s article we are going to talk about one of the features of the ES6 version(ECMAScript 2015) of JavaScript which is Spread operator as well as Rest operator. These features…

Javascript: what are callbacks and how to use them.

Today we are going to learn about a concept that is widely used in javascript and that is used quite a lot by today's frameworks, libraries, especially NodeJS. This is…

HTTP Cookies: how they work and how to use them

Today we are going to write about the way to store data in a browser, why websites use cookies and how they work in detail. Continue reading to find out how…

The package managers npm and yarn: main differences

Npm and yarn are package managers that help to manage a project’s dependencies. A dependency is, as it sounds, something that a project depends on, a piece of code that…

The Javascript asign() method to merge and clone objects

In this article, we will be covering Object.assign()method in javascript in detail with examples. A javascript object is a collection of key-value pairs. Keys are also known as properties of object. Keys…

We use our own and third-party cookies to improve our services, compile statistical information and analyze your browsing habits. This allows us to personalize the content we offer and to show you advertisements related to your preferences. By clicking "Accept all" you agree to the storage of cookies on your device to improve website navigation, analyse traffic and assist our marketing activities. You can also select "System Cookies Only" to accept only the cookies required for the website to function, or you can select the cookies you wish to activate by clicking on "settings".

Accept All Only sistem cookies Configuration