
Website Development is the most common Business nowadays. What is the process of website development? If a person develops a website, what preparation should he do? Let me take it slowly…
Ready to work
- System architecture selection
- Website design
To develop a website, we must first think about what the requirements are and how many visits to the website, and then we must start the design of the front and back ends.
Back-end design: The main concern is whether the peak concurrency of the website is very high, whether the database of the website must support transactions, a general website, just use a popular development framework (PHP can choose larval, nodejs can choose express or koa, python chooses flask, java chooses spring boot spring MVC), database support transaction chooses MySQL PostgreSQL, regardless of a transaction chooses MongoDB
Front-end design (interface): designers produce AI or PSD drawings, and interactive UI renderings
Front-end design (framework): React (basically mature, compatible to IE8), Vue (basically mature, compatible to IE9), native
If you develop quickly, the front-end and the back-end are not separated, and the SEO requirements are relatively strong, you can consider the template engine to render the front-end page
Recommendation: The front and back ends are written in Javascript, so one person can do it
Start Website Development (nodejs as an example)
- local
- Git Workflow mode development
- Database environment configuration (test environment production environment development)
- The use of automation tools (web pack automatically packs gulp to handle various tasks)
- test
- on-line
- Domain purchase
- DNS resolution
- Cloud server purchase (including operating system, it is recommended to use Linux distributions such as CentOS)
- Cloud server user creation (user permission ssh only allows secret key login)
- Cloud server reverse proxy configuration (Nginx recommended) or use cloud service load balancing
- Cloud server firewall configuration
- Cloud server database configuration (you can purchase the database service separately, or you can get a database server separately, the display type website that does not need to be update can not configure the database)
- Server code running environment configuration (refer to local environment configuration)
- Server cache configuration (Redis or the cache server provided by the service provider is recommended)
- Automated testing of githook online environment can also be start
- Online logs and monitoring alarms (you can use third-party services OneApm Alinode, etc.)
Code deployment online
- front end
- Front-end code compression, file name md5
- The server turns on gzip compression
- Public files, pictures, videos on CDN
- Picture base64
- Domain divergence
- Sprite
- rear end
- Database index
- Does the database need to read and write separate database and table
- Perform good unit testing and integration testing on the back-end code
- deploy
Use git for deployment (pit hook automated testing, automated pull to the server)
The above is my little experience of full-stack development in the company. If there is anything you can say, please point it out…