preface
If you want to ask whether front-end development is difficult or not, I have to say a common saying in the field of computer, which is “if it is not difficult, it is not difficult”. For people who are not familiar with the technology of a certain field, they will have a sense of mystery because they do not understand, and the sense of mystery will make people feel difficult, that is, “it is not difficult”. Once you learn the technology, it’s just a matter of knowing what you can do and what you can’t do. It’s not that hard.
However, for this direction of front-end development, even if “yes”… Still feel very difficult, alas, say many are tears ah, I use three personal experience strange phenomenon to illustrate it.
Strange phenomenon a: who can point fingers at the front-end development
I’ve been doing front-end development for a long part of my career, and I’ve done back-end development as well, and the thing that impressed me the most is not the technical difference, but the fact that front-end developers hear a lot more “requirements modifications” than back-end developers do.
The back end of this thing, after all, is hidden in the back, the layman does not understand is not understand, pretend not to come out, they are not good to take its disgrace disorderly play, but, the front end…… Everyone can see, haven’t eaten pork haven’t seen a pig run, so, everyone can point fingers and give a little opinion.
Product managers who can only see the interface can offer some advice.
The project manager can have some comments.
A boss who knows nothing can offer some advice.
Even the back end can come up with some ideas.
…
Because the output on the front end is tangible, it creates a situation where anyone can “say something.”
Front-end development is the biggest pain ah!
Strange phenomenon 2: despised but very desirable front end
Front-end developer, you know, in the developers to despise chain low-end, mostly in the back-end business logic, large amount of concurrency is the backend implementation, cow force of AI, big data analysis and business logic in the back-end and front-end to do is to show a function, so the backend development general disdain for front-end development work, until… It was time for the company to hold a hackathon.
Hackers marathon, is to let programmers in droves, developed rapidly in a few days a small project, to the end of the activity, each team to demonstrate their products, so the problems come, you can despise the front-end developer at ordinary times, you can put the front development off as worthless, but, when the hacker marathon, just know the front-end development essential, You can’t “demo” your ideas without a front end.
At this time, back-end developers will also find that they usually think front-end development is very simple, but it takes a long time to write a simple AJAX form submission, no matter how great your back-end ideas, if you don’t have a skilled front-end developer at the end of the demo will also be blind.
So when it comes to hackathons, front-end developers, usually at the bottom of the contempt chain, suddenly become the hottest.
Who feel front-end development is not important, but can not do without front-end development.
Isn’t that ironic?
Strange phenomenon 3: miserable multi – terminal development
A serious of products, in order to meet the requirements of users on different equipment use, need to provide multiple clients, at least have a web side, iOS and AnZhuoDuan, now most of the products to consider small procedures, it haven’t iOS will divide the iPhone and the android mobile phone and tablet, which should be considered even want to consider the interface of set-top box equipment…
Every device, android version, and browser has its own BU (G), and as every front-end developer knows, a lot of energy is spent on fixing bugs on a particular platform/version/browser, and, well, it makes me cry…
Because to support so many different clients, there is more than one kind of front-end developers for a product, including web developers, iOS developers and Android developers. For larger projects, it is not enough to rely on one person to support one kind of client. What is needed is web development team, iOS development team and Android development team.
In fact, different clients implement the same function, and it is only because there are so many different clients in the world that we are forced to write one code for each client.
Although multiterminal existence, increased many programmer’s employment opportunity, but, had done actual project all know, this is actually very troublesome, very troublesome very troublesome! In order to give users the best experience, the terminals must hope that provides a consistent interface function, if there is a new function, to publish online together, however, the development cycle must be different between different teams, it is difficult to ensure complete tasks at the same time, finally, the development time of the end of the longest development team becomes the entire product.
Often think of here, on the memory of qin Shihuang, Qin Shihuang if you not only unified the weights and measures, all the client also unified how good.
What makes front-end development difficult?
Well, after looking at these three industry oddities, it’s not hard to see that front-end development is really difficult, but I’ll just list the two key ones:
-
When requirements change, the front end is often hit, and many of the requirements change has nothing to do with the back end, just the front end change. These needs change the tinkering with some unreasonable, but objectively speaking, there are many is necessary demand change, should the user is god, the user’s preferences will change, the user’s preferences so we should ponder over and over again, must be good to serve users, also is to adapt to the demand change, so the difficulty is, how to make the front development to adapt to the rapid changes in demand?
-
The front-end learning curve can be quite steep. Many backend developers think that the front-end is just playing around with HTML, but when they get started, they find that there is a lot to learn. Here is a simplified learning roadmap for the web front-end.
To achieve high performance, consider CDN optimization, JavaScript Profiling, packaging strategies…
If you want to be secure, you want to protect against injection attacks, you want to protect against XSS attacks, you want to protect against CSRF attacks…
And that’s just the front end of the web, not android and iOS development or applets, which doubles the amount of knowledge you need to learn.
And the front end doesn’t mean you can just read a few books and get started on a real project. If you haven’t been immersed in the field for a long time, it’s likely to be full of bugs. The difficulty is how to make the front end learning curve not steep.
To sum up:
How can front-end development adapt to rapidly changing requirements?
How to make the front-end learning curve not steep?
For a long time, although countless people have tried to solve these problems, and some success has been achieved, the front end is a widely underestimated development activity!
What is the way forward for front-end development?
Future career development direction
1. Web APP development
The philosophy at the heart of the Web, or the Internet, is three: decentralization, avoidance of information silos, and interconnection of everything.
And as Internet speeds and front-end technology developed, more and more large enterprises began to move their software to the WEB, and Microsoft moved its entire Office line to the WEB.
It is these WEB apps that truly embody the core spirit of Internet philosophy: no installation, no use and go, and it is today’s WEB front-end engineers who have drawn up the blueprint for the future.
2. Full stack development
Full Stack developer originated from a title for engineers in Facebook. The sudden birth of Node. js greatly reduces the difficulty for front-end engineers to expand the back-end field. More and more senior front-end engineers are developing towards the full stack, picking up all links of enterprise project development.
3, front-end big data graphical display HTML5
The game has been going from bad to worse since 2014, when Neuro Cat, developed by Egret Engine, exploded on social media. But now game development is getting more and more complicated, and you need to create all kinds of stunning effects, and all kinds of stunning scenes 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, all kinds of web game development and update from Flash platform to H5 platform, in 2018 cloud Computing Conference there is a front end field that is the front end of big data graphics display, Advanced front-end users can easily use Canvas, WebGL and other technologies to develop various online games or big data display platforms. Based on the high adaptability of H5, no matter PC, tablet or mobile terminal, they can run perfectly without considering compatibility.
The industry is so mature that there should be as general a framework as possible to abstract reusable functionality, and front-end frameworks like React, Vue, and JavaScript are a degree of abstraction.
JavaScript is a very important content in our study of front-end development, but also a difficulty we often fall into the pit. JavaScript can now be said to be the most used scripting language in the Internet era. In the web page, all data rendering and special effects interaction need to use JavaScript to affect the display of the browser.
JavaScript is not only an important content to develop web effects and render data. In the later stage of learning front-end development, when a large number of algorithms and frameworks are used, the test of JavaScript foundation is also a lot.
In the basic stage, we need to pay attention to JavaScript: 1. Basic keyword instruction 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 manipulation) 9. Event capture, bubbling, proxy 10. Common function methods
In the JavaScript part of learning, mainly to understand the principle of interaction, the principle of clear analysis, really understand the syntax, that write more complex logic is also easy.
I am currently working as a front-end developer. If you also want to learn front-end development technology, you can apply to join my front-end learning exchange skirt: 421374697 if you have any problems about learning methods, learning routes and learning efficiency during the process of learning the front-end. Inside gathered some are learning front-end beginners, career change, the first stage, I also have here I do front-end technology this time sorted out some front-end learning mind map, front-end factory interview questions, front-end source development tutorial, PDF document books tutorial, the article involved in the ① learning route; ② The 36 skills of vue.js; (3) JavaScript basic stage and other PDF documents need to find the skirt pig.
If you’re on the fence about whether or not to step in front, my advice to you is that instead of wasting time on the fence, you should spend your time on the front end.