Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What are the challenges facing Web development

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

This article mainly explains "what are the challenges facing Web development". The content of the explanation is simple and clear, and it is easy to learn and understand. Please follow the editor's train of thought to study and learn what are the challenges facing Web development.

First, Web front-end development

The challenges faced

The interface level provided by 1.CSS and DOM is too low, while the controls provided by BOM are only input, select, textarea, which are the most basic and slightly more complex UI effects. The front end has to combine CSS and DOM to create them. When you see a requirement, if you want to use the basic parts such as CSS and DOM to combine into the final effect, the realization of the final effect is actually a process of "creation". For example, components such as tabView,treeView,richEditor,colorPicker, which seem to be common, are not readily available in the front end and need to be implemented by yourself.

two。 The glue demand of the front-end language is too strong. CSS, DOM and JS are three different technologies, which are the three most important basic skills to be mastered in the front-end knowledge system. Of course, server-side programming also requires knowledge in different directions, such as PHP, SQL, etc., but server-side programming only focuses on one point of knowledge most of the time, sticking to other languages as long as necessary. But the front-end is different, the front-end effect is finally presented through the cooperation of CSS, DOM and JS, it is difficult to move without any technology, and the knowledge points of multiple directions should be considered at the same time. In other words, server-side programming is like a single thread, which is serial even if there is a technical gap, while front-end programming is like running three threads at the same time, and the complexity increases exponentially.

The combination of 3.CSS+DOM+JS is so powerful that there can be many completely different ways to implement the same effect, each of which will have different development difficulties, expansibility and maintainability. There are too many solutions. When you see an effect, you will first think about how to use the low level interfaces in CSS and DOM to achieve. This is a process of "creation". At this time, many different implementation methods may pop up in your mind. After "creation", you have to "compare", weigh the advantages and disadvantages of various solutions, and then you can choose the most suitable one after a while. Of course, not all the front end is dogmatism, so we must choose a * * way, but because the front end is GUI programming, directly facing the user, is the most direct part of the product presentation, is the facade. Because of this, the front end is also the most easily modified part. A programmer knows how terrible it is to "modify" repeatedly, and if maintainability is not good, it is a nightmare. Therefore, the front end has to pay attention to maintainability, not paying attention to maintainability is directly equal to self-abuse.

4. Browser compatibility. There are many kinds of browsers, such as IE, Firefox, Chrome, Opera, and many IE shell browsers, such as Sogou, Aoyou, 360, plus the mobile terminal versions of these browsers. Web standard is required, and most of the front-end knowledge is common to all browsers, but there will still be problems left over from history. Different browsers have different problems, especially the IE system with market share * *. There are four versions of IE on the market, and each has its own problems. If you don't accumulate some experience, you will be confused in the face of difficult and complicated diseases.

Zhang Kejun, front-end engineer of Douban: five challenges of front-end development

* the big challenge: compatibility. Although Microsoft has decided to euthanize IE 6, IE 9 Universe 10 looks pretty standard. Backward compatibility seems easier, but forward compatibility is becoming more and more troublesome. How messy webkit is on Android, there is always CSS Hack to deal with on desktop browsers, but only degradation can be considered on mobile. From compatible browsers (plus cassette browsers) to compatible devices, compatibility actually becomes more complex.

The second challenge: the complexity of interactions. Compared with the current requirements for UI/ interaction, the interface given by the browser engine is really too low-level. So the hot topic of front-end technology this year is the discussion of various Javascript,CSS preprocessors, various MVC frameworks and micro-frameworks.

The third challenge: code maintainability. The increase in complexity directly affects the maintainability of the code. As the life cycle of JS/CSS/HTML code is getting longer and longer, there is a growing need to ensure their maintainability in terms of code quality, architecture, and tools. The history of the code is always a pain point.

The fourth challenge: performance.

The fifth challenge: personal growth.

Internet commentator Mo Yan: the thinking of developers is very important

Front-end development, if there is no overall design idea, will become a fragmented program, an effect of a pile of code, a function of a pool of scripts, a demand chip logic, I have encountered, because of ue adjustment, retain the entire front-end code except the core data processing function, the rest of the modification. Basically, the front-end development is in the three parts of DOM operation, data processing and data interaction. if the functions of these three parts are allocated reasonably, then the front-end code can be easily expanded and adjusted. He believes that the real front-end development challenge lies in the thinking of developers. Compatibility, layout, CSS and JS are not problems, the problem is how to organize the language logic properly, if the modules in the requirements are abstracted correctly. How to deal with code, clearly express ideas in code, write comments clearly, and give subsequent maintainers a readable train of thought. The amount of change of the front end is several times that of the back end, there is no absolute front end, only constant changes according to the demand.

Luo Longhao, programmer, front-end supervisor of Pinju Network and author of KindEditor:

Challenge 1: solve browser compatibility, different browsers, different versions, different operating systems.

Challenge 2: optimizing performance, mainly in terms of DOM, requires a lot of skill.

Challenge 3: design, feel interactively, often wrestling with a UI detail.

Challenge 4: patience, working in the front end of domestic Internet companies is very miscellaneous, often wipe the buttocks for others, but do not get attention, those who persist are awesome people.

Internet commentator Neo Lee:*** challenges browser standards

The main problem with the development of the Web front end is that this is an area that is changing too fast and may have been updated as soon as there is precipitation. However, since Yahoo put forward the concept of front-end engineering (Front-end Engineering), it can be said that it has opened up a new situation. By introducing some mature ideas in software engineering into the front-end field of Web, some important concepts have been widely concerned and practiced, such as page architecture design, quantitative analysis, browser compatibility matrix and so on. I see that the current challenge lies in the foundation of the Web front end, that is, the browser standard. The Web front end can only be presented to end users based on browsers, and the interaction also depends heavily on the basic components provided by browsers. The current browser situation is basically not gradually unified, but more and more complex, which puts forward too high requirements for developers. Of course, the cross-browser code framework is also developing very well and fast, but a basic standard that is effective without losing flexibility is the way to get to the root of the problem.

Second, the challenges faced by Web back-end development:

1. Big challenges. The most important challenge for back-end development comes from scale.

The expansion of scale, such as the expansion of visits, the storage of files, the amount of data, the number of servers, etc. For a website that looks exactly the same at the front end, if a certain index is expanded tenfold, it will almost always face a lot of problems and challenges. On the other hand, after the expansion of the scale, the back-end system architecture is bound to be complicated. It turns out that only one Server,LAMP is installed together. Then the database is divided into reverse proxy, load balancing, sub-database sub-table, Memcache,Message Queue, transaction processing, CDN,NOSQL, various architectures, Server, gradually evolved. The complexity of the architecture will naturally bring more problems and challenges.

two。 The second biggest challenge comes from security.

Security problems emerge one after another and are difficult to prevent. We need technical means as well as management system.

3. The third challenge comes from efficiency.

Whether it can provide enough processing speed, whether it can provide enough bandwidth, whether it can guarantee the response ability, these are the external efficiency. The ability to use fewer servers, cheaper servers, and more energy-efficient servers are internal efficiencies.

4. The fourth challenge comes from changes in requirements.

Of course, both front-end and back-end will face requirements change, as long as it is software development, this is a big challenge. But when a system is running stably and efficiently, the requirements change. After meeting the requirements, the part that originally had no problem will suddenly collapse. Once it collapses, it is a nightmare for the back-end engineers.

5. The fifth challenge comes from dogma.

There are countless large IT companies in the world that are very open and willing to share their architecture and technology. Therefore, for the "broad-minded" back-end engineers, the difficulty is not how to solve it, but how to choose from a large number of solutions. Frameworks and practices continue to emerge, and successful cases continue to emerge. People use it well, do you dare to use it? In the end, is it the courage to taste fresh, or is it important to be conservative? This is hard.

Internet commentator Neo Lee: three principles of back-end development

1. Design for failure . A considerable proportion of the back-end code exists not to be correct in general, but to ensure a response that is acceptable to the system in special or extreme cases. There are a lot of tradeoffs to be made: incremental improvement or advanced design? Horizontal expansion, business optimization, foreground or background processing? A lot of trade-offs are weighed according to changing circumstances and needs, so it's easy to make mistakes.

2. Architecture is about abstract . Why be abstract? Because abstract concepts are more adaptable, easier to reuse, and more flexible to adapt to changes. But abstraction is very difficult, inappropriate abstraction is endless harm, the fatal thing is, these are not very good methodology, most of them rely on a set of basic principles, based on experience. However, Web back-end development has not paid much attention to these for a long time, and many websites are designed and developed extensively, so the structure of patches and patches has naturally become the mainstream.

3. Architecture IS product . The architecture itself is the product, and a software product contains different perspectives, the most important of which includes the perspective seen by the user, and the perspective of the software skeleton that is the architecture. But the product is the product, and all these perspectives must be unified and consistent, which requires that the architecture must understand the soul of the product, and the product must understand the difficulty of the architecture. otherwise, it is easy to have tragedies such as not being able to do what you want to do or achieving a corner function at a huge architectural cost.

Thank you for your reading, the above is the content of "what are the challenges facing Web development". After the study of this article, I believe you have a deeper understanding of the challenges faced by Web development, and the specific use needs to be verified in practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report