This paper mainly analyzes the related direction and technology of web development, and provides the reference for the students who want to devote themselves to web development.
What is web development
When it comes to web development, we have to mention two architectural models, b/S architecture and C/s architecture.
The early development of the Internet, most systems are C/s architecture, C on behalf of the client, s for the server, common software, such as QQ (web version of not counting), are using this architecture model. This architecture mode reduces the communication overhead of the system by properly distributing the task to client side and server side, and can take advantage of both hardware environment. b/S Architecture (Browser/server) comes into being with the rise of internet technology, which is the improvement of C/s architecture. In this architecture, the user interface is fully implemented by the browser, and some transaction logic is implemented at the front end, but the primary transaction logic is implemented on the server side, forming the so-called 3-tier (three-tier architecture) architecture. The b/S architecture uses the browser technology which is mature and popularized, realizes the powerful function which needs the complex special software to realize, and saves the development cost, is a new software system construction technology.
The C/S architecture is well suited for standalone or LAN-wide systems and is difficult to develop distributed systems across the Internet, and because of the need to install clients, system updates and component versioning are a big problem. In addition, unlike the B/s architecture, only the server-side problem, in the C/s architecture due to multi-user simultaneous access to the server, the calls and dependencies between the components of the complex, in the processing of multi-threaded access to shared resources, transaction processing and other aspects must be considered both client and server side, throughput is greatly limited. So now the Software preferred b/s architecture, that is, browser/server mode. Browsers display content as Web pages, so web development can be easily understood as Web pages or Web site development.
Web development Classification and differentiation
People usually divide the web into front-end and back-end, with front-end related posts having front-end designers (ui/ue), front-end development engineers, and backend-related development engineers. Here we only discuss the differences between front-end development engineers and back-end development engineers (who welcome the students who are interested in design).
- Technology stack Differences
Look at the major recruitment site, the company's front-end development engineer requirements than proficient html,css,js, have good interaction design capabilities. Look at the company's requirements for back-end development engineers, such as Java Development Engineer, proficient in Java, proficiency in Java network programming, skilled use of open source framework such as SSH, familiar with the Internet development model, clear understanding of cache, cache design and patterns, proficient in TCP/IP, HTTP and other network protocols, Proficient in Socket network programming, useful in Java large-scale access to high-pressure network applications experience; familiar with Linux/nginx, skilled configuration and Maintenance Apache,tomcat,resin application Server, Master Shell/awk/python and other system scripting tools Proficient in SQL statements, proficient in database (mysql,oracle), Master Html/javascript/css/ajax and other page technology, proficient in software development tools such as ECLIPSE/MAVEN/ANT/SVN The nature of the Web architecture determines the complexity of server-side development, and the complexity of the server-side determines the technologies that the backend developers need to master.
With 3 years of time to learn the front-end development, most students can become an excellent front-end development engineer, similarly, with 3 years to learn back-end development, most students can only be considered an introduction. Front-end developers need to master Html,css,js, and learning about other frameworks is just a familiar use of the framework. The three languages themselves are simple and easy to get started with. For background developers, the diversification of language development, the choice of technical framework, and the understanding of platform performance need to accumulate experience. For example, Java, you need to be proficient in the Java language, familiar with JDK source code, familiar with JVM performance optimization, familiar with the SSH framework, familiar with MySQL, familiar with a variety of technologies, these are not a short time to get started.
Front-end development entry threshold is low, learning curve and the server development language first slow and fast compared to the trend is first fast and slow. Note: Post-slow is because the late learning has exceeded the scope of the front-end development, such as SEO, server-side knowledge, HTTP protocol, these learning itself is a slow process.
Due to the rapid expansion of the Internet industry, the major companies of the front-end engineers demand is very strong, natural money scene Wang Wang. Coupled with the final finalization of the HTML5 specification, it is bound to cause the web craze. Nodejs in the server-side extension also makes JS big shine. Back-end engineers, training institutions output batch of java,php engineers, even if the need to keep up with the enterprise, but also basic to meet the needs of the back-end engineer Market (however, high-end, experienced back-end engineers are very sought-after). The new front-end engineer money scene and prospects are far better than the back-end engineers.
Summarize
For short-term access to the Internet industry, want to have a good money scene and prospects, and back-end development compared to the front-end development is a good point of entry.
front-end development entry threshold low, but strong demand, Especially experienced front-end developers.
Front-end development can accumulate enough experience for a short time, like 3 years, It takes at least 5 years for the backend development to accumulate the same level of experience.
Front-end development technology changes slowly, HTML5 final will take 8 years! The backend development technology is updated quickly, various frameworks, architectural patterns change rapidly, need to learn at all times. The
- Front-end development technology is becoming more and more mature and applicable to a wider range. For example, HTML5 can replace the native app (performance needs to be refined), JavaScript can be used for database operation (MongoDB and other NoSQL support JS syntax), Nodejs can let JavaScript run on the server side, As long as the JS syntax does not use the backend development language to develop the service-side program.
Front-end development technology supports full-stack development and does not require support for back-end development languages.
What's the reason for not learning front-end development? No!
Read MORE:
- After 8 years HTML5 finally finalized!
- It life needs guidance !!! Highly recommended reading!!!
- WEB application development is different (and better) in translation ...
Why learn web front-end development?