To overcome the difficulties of front-end development, you are the master of code!

Preface

If you want to ask whether the front-end development is difficult, I have to say a sentence often said in the computer field, this sentence is " difficult not, will not be difficult ", for those who are not familiar with the technology in a certain field, because If you don’t understand, you will have a sense of mystery, and the sense of mystery will make people feel difficult, that is, "difficult will not"; after learning this technology, knowing what technology can do and what can’t, just how much it costs It's just a matter of time, nothing is difficult, so it is "it will not be difficult."

Front-end development

However, for the direction of front-end development, even if it "will"...it still feels difficult, alas, it is tears if you say too much, I will use three strange phenomena that I have personally experienced to illustrate.

Strange phenomenon 1: Anyone can point out front-end development

I have been doing front-end development for a long time in my career, and I have also done back-end development. Comparing the two, it is not the technical difference that has the deepest impact on me, but the "requirement modification opinion" that front-end developers have heard Much more than the back end.

The back end is hidden behind, after all, laymen don’t understand, they don’t understand, they can’t pretend, they are not good at making humiliating gestures on their own, but the front end...anyone can see it, never eat it. Pork hasn't seen a pig run, so anyone can give some advice.

Product managers who can only see the interface can make some comments.

The project manager can have some opinions.

The boss who doesn't understand anything can also make some comments.

Even the back end can make some comments.

……

It is precisely because the output of the front-end is visible and tangible, it creates the phenomenon that anyone can "put some opinions".

The biggest pain of front-end development!

Strange phenomenon 2: Despised but very sought-after front-end

Front-end developers, you know, the developers who despise the low end of the chain, most of the business logic resides in the back-end, the super large amount of concurrency is realized in the back-end, and the super awesome AI, big data analysis, and business logic are all in the back-end , The front-end is only a functional display, so the back-end development generally looks down on the front-end development work until... it's time for the company to hold a hackathon.

The hackathon is to let programmers form teams on their own and quickly develop a small project within a few days. At the end of the event, each team has to demonstrate their own products, so the problem comes, you can usually despise front-end development Or, you can make front-end development worthless, but when it comes to the hackathon, you realize that front-end development is indispensable, because you cannot "demonstrate" your ideas without a front-end.

At this time, back-end developers will also find that they usually think that front-end development is very simple, but it takes a long time to write the simplest AJAX form by yourself. No matter how great your back-end ideas are, if you don’t have proficient front-end development in the end At the end of the demonstration session, we must catch the blind.

Therefore, every hackathon, the front-end developers who usually despise the lowest end of the chain suddenly become the hottest celebrities.

Everyone thinks that front-end development is not important, but it is inseparable from front-end development.

Is it ironic?

Strange phenomenon three: miserable multi-end development

A serious product, in order to meet the requirements of users on different devices, it needs to provide multiple clients, at least web, iOS, and Android. Now most products also consider the applet, which does not count as iOS. To be divided into iPhone and iPad, Android should also consider mobile phones and tablets, and even the interface of set-top box devices...

Various devices, various Android versions, and various browsers have their own special (bu) points (g). Every front-end developer has an experience, and a lot of energy is spent on processing a specific platform/version/browser On the bug, alas, I really want to cry when I talk about it...

Because there are so many different clients to support, there is more than one type of front-end developer for a product. There must be web developers, iOS developers, and Android developers. For larger projects, one person cannot support one client. Yes, what is needed is a web development team, an iOS development team and an Android development team.

In fact, different clients implement the same function . It is completely because there are so many clients in this world, so we are forced to write a set of code for each client.

Although the existence of many aspects has increased the employment opportunities of many programmers, those who have worked on actual projects know that this is actually very troublesome, very troublesome and troublesome! In order to give users the best experience, we definitely hope that each end will provide a consistent functional interface. If there are new features, they must be released together. However, the development cycle of different teams is definitely different, and it is difficult to ensure that the tasks are completed at the same time. Finally, the cost The development team at the end with the longest development time becomes the shortcoming of the entire product.

Whenever I think of this, I cherish the memory of Qin Shihuang. If Qin Shihuang, you not only unify the weights and measures, but also unify all the clients.

What is the difficulty of front-end development?

Well, after reading the above three industry weird phenomena, it is not difficult to see that front-end development is really very difficult. I will only list the two most critical points here:

  • When the demand changes, the front-end is often the front-end shot, and many demand changes have nothing to do with the back-end, but simply the front-end changes. Some of these demand changes are unreasonable fuss, but objectively speaking, there are also many necessary demand changes. Users should be God, and users’ preferences will change. We have to repeatedly figure out user preferences and we must serve them well. Users have to adapt to changes in requirements, so the difficulty becomes- how to adapt front-end development to rapidly changing requirements?

  • The front-end learning curve is actually quite steep. Many back-end developers think that the front-end is just playing with HTML. When they get started, they actually have to learn a lot. The following is just a simplified learning roadmap for the front-end of the web.

Front-end roadmap

If you want to achieve high performance, you must consider CDN optimization, JavaScript Profiling, packaging strategy...

If you want to be safe, you must prevent injection attacks, XSS attacks, and CSRF attacks...

This is only about the front-end of the web, not Android and iOS development, and small program development. If you take these all, the amount of knowledge you need to learn will double.

Moreover, the front-end does not mean that you can start doing real projects by reading a few books. If you do not have a long-term immersion in this field, the things you make are likely to be full of loopholes. The difficulty is how to make the front-end learning curve change Is it steep?

in conclusion:

How to adapt front-end development to rapidly changing needs?

How to make the front-end learning curve not steep?

For a long time, although countless people with lofty ideals want to solve these problems and have achieved some results, the front-end is a development activity that is generally underestimated!

Where is the way out for front-end development?

The career development direction of the front-end in the future

1. Web APP development

The core philosophy of the Web or the Internet has three points: decentralization, avoiding information islands, and interconnection of all things.

With the development of Internet speed and front-end technology, more and more large enterprises began to move their software to the web, and Microsoft moved all its office series to the web.

These WEB APPs truly embody the core spirit of the Internet philosophy: no need to install, and leave when you run out. It is today's web front-end engineers who personally portray this blueprint for the future.

2. Full stack development

The full stack developer originated from a name for engineers in facebook. The emergence of node.js has greatly reduced the difficulty for front-end engineers to expand to the back-end field. There are more and more senior front-end engineers. Towards a full-stack development, all aspects of enterprise project development are provoked.

3. Front-end big data graphic display html5

The game has been out of control since the neural cat developed by the Egret engine detonated the circle of friends in 2014. But now game development is becoming more and more complex, it is necessary to create a variety of dazzling dazzling effects, but also to create scenes that are dazzling in 2D or 3D. In order to reduce the difficulty of game development and speed up the progress of game development, different manufacturers at home and abroad have launched many game development engines.

With the rapid development of html5, flash has been officially sentenced to death by adobe in 2017. The development and update of various web games has also been transferred from the flash platform to the H5 platform. There is also a front-end field at the 2018 Yunqi Conference. The sudden emergence is the graphical display of big data on the front-end. Advanced front-ends can easily use Canvas and WebGL to develop various online games or big data display platforms, based on the high adaptability of H5, whether it is PC or tablet. Both the computer and the mobile terminal can run perfectly regardless of compatibility.

The industry is so mature that there should be a framework as universal as possible to abstract reusable functions. Front-end frameworks such as React, Vue, and JavaScript are abstractions to a degree.

36 tips for vue.js

JavaScript is a very important content in our learning of front-end development, and it is also a difficult point that everyone often falls into. JavaScript can now be said to be the most used scripting language in the Internet era. In web pages, all data rendering and special effects interaction need to use JavaScript to affect the display of the browser.

JavaScript is not only an important part of developing webpage special effects and rendering data. In the later stages of learning front-end development, when a large number of algorithms and frameworks are used, there are also many tests on the basics of JavaScript.

JavaScript essential knowledge

In the basic stage, we need to pay attention to JavaScript learning:
1. Basic keyword instructions
2. Basic data types, arrays
3. Functions
4. Object-oriented programming
5. Prototype chains, closures
6.
JSON
7. Ajax 8. DOM (document object Model native DOM operation)
9. Event capture, bubbling, proxy
10. Common function methods

Basic stage

In the JavaScript part of learning, the main thing is to understand the principle of interaction, analyze the principle clearly, and really understand the grammar, then it is easy to write complex logic.

I am currently working in front-end development. If you also want to learn front-end development technology now, and you encounter any questions about learning methods, learning routes, learning efficiency, etc. during the process of getting started learning front-end, you can apply to join my front-end Learning exchange skirt: 421374697 . It gathers some beginners, changers, and beginners who are self-learning front-end. Here I also have some front-end learning mind maps compiled during the time I was doing front-end technology , front-end factory interview questions, front-end development source code tutorials, PDF documents Books, tutorials , and articles involved in the ① learning route ; ② 36 skills of vue.js ; ③ JavaScript basic stage and other pdf documents can be obtained if you need it.

If you are still hesitating whether to step into the front end, my advice to you is that instead of wasting time on hesitation, it is better to work hard and spend time on the front end.

Guess you like

Origin blog.csdn.net/pig_html/article/details/111314194
Recommended