Architects have always been a fascinating career for software development, but in practice, most startups, even a certain size, do not have an architect in the job.
So what is the importance of architecture for the development team?
As far as Web development is concerned, the removal of the overall architect, for a clear need for a project can be divided into two tiers, the front-end architecture, backend architecture, of course, may also be swept by one person, the author is a front-end engineer, so the backend architecture is not discussed, we just look at the front-end architecture.
Some people may say, the front-end is not to write the page to do some special effects, how is the structure?
To this argument, we from the framework itself, why there is architecture, software as a computer intelligent control of a program, in essence, people in order to better use the hardware performance and improve the productivity of the tool, then the efficiency of software development directly determines the life cycle of the software, So architecture, as a means to ensure the efficiency of software development, fundamentally determines the length of the software's life cycle.
For a project that has no schema design, the problems that may arise include code that is not testable, software maintenance is difficult, a large amount of redundant code, and it is difficult to reuse.
With the emergence of angular and other front-end framework, a large number of Web applications are being born, the front end from a large number of CSS in the past a small amount of JS to the current large number of CSS, ultra-massive JS evolution
In this process, the number of JS code increases rapidly, without the structure of the JS program generated by the problem is gradually apparent.
At present, the author developed a background application example, the background includes 10 modules nearly hundreds of interfaces, and then the front-end development is directly based on the back-end documentation provided, the initial smooth, progress, but to the medium-term, the problem comes.
Background app contains most of the pages are identical, but some are different, these details of the difference, because the initial focus on the development has to do a lot of code copy, and so on when the problem is found, the amount of work required to change is very large, if you can start with the design, Develop a angular paging instruction that can meet the basic needs, then save a lot of time, while one but the change in demand, the amount of change will be greatly reduced. There are a lot of similar examples.
For a project, the architectural design may involve the need to check, the design itself, the time required to look at the cost of the project seems to be unnecessary, but in fact, for a certain size of the project, a reasonable architecture can save a lot of coding time!
Experience talking about the importance of front-end architectures