Original address:Thefullstack. Xyz/full – stack -…

JavaScript is everywhere

In the past, JavaScript programmers were synonymous with front-end developers, tied to browsers forever. But that was yesterday. The rise of Node.js opens a new era in which JavaScript programmers may no longer be confined to the front end of the browser.

As a JavaScript programmer, you can work on more platforms than any other high-level programming language. But for now, let’s focus on two major areas: browsers and servers.

Why do I have to choose between the two?

The issues of being a full-stack WEB developer

There’s an old adage that goes, “Know everything and know nothing.” Every time you spend exploring a new area, you’re wasting time that could make you an expert in that area.

“If I were stranded on a desert island and the only way I could be saved was to make a nice user interface, I would definitely die on that island.” — Linus Torvalds, founder of Linux

The biggest risk of being a full-stack developer is being mediocre at both ends, which is worse than being good at one and not knowing the other at all.

To a cynic, full-stack developers are “guys who introduce bugs at every level of the software stack.”

The reason is that development techniques are evolving all the time. The problems we face are becoming more complex, and the technology to solve them naturally needs to evolve. A few years ago, mastering classic ES6 was all I needed to learn JavaScript, but today, if I were starting from scratch, I would need to master both ES3 and ES2015 (ES6). Just because I know the cutting edge technology doesn’t mean I can ignore the basics.

The whole stack to remember

Each development technology stack has its own little world.

Each language has its own WEB development framework. Python has Django, Ruby has Ruby on Rails.

Also, each technology stack has its own package manager, toolset, and unique language structure, and behind it is a passionate group of people, whether they are bloggers, enterprise developers, or open source software contributors.

Each technology stack has its strengths and weaknesses.

There is no point in comparing different technology stacks

Once you decide to become a full-stack developer, you will inevitably be stuck between two technology stacks. The ones you love deeply and are passionate about. The other is JavaScript.

Part of the reason some people hate JavaScript so much is that they have no choice but to be chosen by JavaScript.

When WEB developers want to write front-end code without annoying plug-ins, JavaScript is the only option.

There have been attempts to create a language to replace JavaScript, but the quality of the compiled JavaScript code is often unsatisfactory. As one of them, I’m embarrassed to point out (CoffeeScript) that 71% of developers dread it! It’s going beyond wordpress.

After all, JavaScript rules the browser and is the only language the browser will speak.

Quite a few very smart men and women have tried to get browsers to speak different languages, and quite a few very smart men and women have failed.

Old-fashioned browsers.

The advantage of JavaScript

Let’s look at things in a different way. What if the tech stack you love and are passionate about is the JavaScript stack?

If you own JavaScript, it doesn’t own you

If you choose Node.js as your back-end development framework, you’ll get some advantages that other stack developers can only dream of.

By choosing Node.js, you’re choosing to unify rather than scatter your tech stack, and you’re choosing to use JavaScript throughout.

Instead of looking for Lodash libraries in Ruby or Python, use Lodash. Sure, you might say PIP install and Bundle Install work fine, but in the end you still have to deal with JavaScript dependencies.

But if you choose Node.js, you can use itnpm installInstall everything, both on the client side and the server side.

The code reuse rate is extremely high, and if you find yourself implementing a left character padding feature, you only need to write it once, in one language, not two.

If you follow scripts from Universal JavaScript, you can write a Web application that can run on both the client and server side.

As you can see, the benefits of opting for full-stack JavaScript are huge. A lot of times, when you’re writing front-end code, you’ll find that some of that knowledge applies to the back end, and vice versa.

While full-stack JavaScript developers have a much easier time than other full-stack developers, you still need expertise in the front and back end areas. Node.js and browsers both speak JavaScript, but there’s a big difference between writing front-end code that runs in a browser and back-end code that runs on a server.

So, as a full-stack JavaScript developer, is it necessary to constantly work on the front and back end?

70/30 rule

Some people say that there is no such thing as a full-stack WEB developer, that you are either front-end oriented or back-end oriented and have to make a choice.

I understand that

A developer who invests exactly 50% on each end is like a mythical creature, a mythical goblin.

You were thinking goblins would grant you all your wishes and give you a pot of gold, and it turns out goblins don’t exist. You’re just drunk, talking to a dwarf in a green jacket.

The truth is that full stack developers are either front-end oriented or back-end oriented

Knowing which one you belong to can only be good for you. Realizing that you’re more of a front-end full-stack developer doesn’t prevent you from being good at back-end technology, but you’ll naturally put more effort into honing your front-end capabilities.

So I recommend the 70/30 rule

If it takes a year to implement some features, and you choose which features to implement, spend 70% of your time on your preferred area of the tech stack and 30% on other development work.

The company you work for may discourage full-stack development, so if you can only do back-end development at your company, why not do your own front-end personal project? Nothing is set in stone. One year a developer will be back-end oriented, the next year a developer will be front-end oriented. What I want to say is, give yourself a precise positioning, reasonable management of time. If you’re a full-stack developer who leans toward the front end, focus on sharpening your front-end capabilities and leaving 30% for the back end to make sure you don’t get left behind.

In fact, you can be a full-stack developer with both front and back ends if you want to.

The joys of being a full-stack JavaScript developer

In a recent Stackoverflow survey, the vast majority of developers identified themselves as full-stack WEB developers. Meanwhile, 85.3% of developers know some JavaScript.

What makes full-stack developers so popular? Market choice, unwillingness to choose between the front end and the back end, or the undeniable sex appeal of full-stack developers?

I think the answer is simple

Full stack development is a lot of fun

One of the best things about being a developer is the satisfaction of working on the front and back end all by yourself

Send data from the user interface you create, receive it in the API you create, and save or process the data. Watching other people use the features you’ve built, from the front end to the back end, is an indescribable experience. You can’t help but think, “I created it. It wasn’t possible before, but now it’s possible because of me.”

A new chapter for full-stack JavaScript developers

The JavaScript ecosystem has evolved from the browser to the server, and today we’re even further along. Mobile apps, Bot Frameworks, the Internet of Things, 3D games, and even virtual reality can all be developed in JavaScript.

As full-stack JavaScript developers, we need to make sure that we are proficient in at least one area. At the same time, the door to software development is always open, and you can explore all kinds of popular and cutting edge technologies without worrying about neglecting your JavaScript skills. One of the biggest benefits of being a full-stack developer is the ability to constantly learn new things, internalize them, and master them.

JavaScript is your canvas, make it beautiful!