Overview of Web Front-end architecture: single-page application and server template systems, web Miscellaneous
Single-page Web applications:
Single Page applications are becoming more and more popular for web developers. The experience of Single Page applications can simulate native applications for one-time development and multi-terminal compatibility. A single-page application is not a new invention technology, but a comprehensive technology that satisfies the user experience with the development of the Internet.
In recent years, with the increasing popularity of mobile terminals, front-end frameworks such as BackBone and Angular have emerged. Combined with NodeJs, this technology ensures that front-end development is compatible with backend development, there is also a trend to replace jQuery, which dominated the world in the past few years.
JQuery has obvious disadvantages, such as bloated and poor maintainability.
Here I recommend an article: http://www.angularjs.cn/A0bz
Indeed, the front-end framework is very attractive, but it also has a fatal drawback. SEO problems. You must know that Google, the leading search engine leader, has not yet achieved any breakthrough in Ajax crawling, not to mention Baidu, which ranks in the domestic bidding rankings.
Ajax crawling is also known as dark network crawling. crawlers require complex algorithms, and the connections between the front-end and back-end of a single page are basically implemented through ReSTful APIs, the popularity of ReSTful APIs has been well known in recent years. One of the reasons for choosing ReSTful APIs may be "ReSTful APIs are friendly to search engines", but as far as I know, the domestic Baidu does not yet support ReSTful APIs as well as the traditional Web style (haha ).
Therefore, when you select a single page front-end application, the content inside is basically hard to be obtained by the search engine, the idea of information and presentation on the front end of a single page can be basically rejected, and commercial applications do not need to think about it. Maybe we can do a function, however, the highly encapsulated framework like Angular does not support such ideas, so it may return to jQuery's path.
However, single-page applications have attractive response-type support for mobile terminals and do not want to give up, and the front-end effects of single-page applications are also very satisfactory.
Maybe you can use a method in which the traditional front-end can be combined with the single-page front-end!
However, this idea was quickly rejected by myself. For example, on the J2EE platform, Jsp or velocity is used as the view layer and Angular is coupled, because Jsp and velocity belong to the scope of the template system, tags such as $ {} are incompatible with angular's {} and must be escaped. The same is true for the Django framework on the python platform, resulting in code confusion, maintenance and readability are very poor.
In my opinion, the combination of a single page application and a template front-end is a Bad Idea!