一、前端开发(Frontend Development)
1.前端开发就是开发网页上的内容展示与用户的交互
1.1 内容展示指的是在网页上看到的图片、文字、视频、数字等信息
1.2用户交互指用户在页面上通过点击按钮、输入文字等动作,对网站提供数据输入,然后前端对用户的输入进行相应,比如更新页面上的内容,如果你在我的文章下方点赞,那么页面对你点赞动作做出相应,就是在后台数据库里把我的文章的点赞量+1,并且在页面上显示+1之后的点赞量
2.前端开发用到的基础技术就是html、css、和JavaScript,分别用来控制网页里的内容、视觉效果和用户交互
2.1html并不是一门编程语言,它是一种用来定义结构化数据的标记语言,你在浏览器上看到的网页,其实就对应一个html文件,文件装的就是html代码,而浏览器的职责之一就是通过你输入的网址,从网站上下载对应的html代码,并且把代码渲染成你肉眼看到的样子
2.2前端工程师的工作内容之一就是编写html代码,或者是使用一些技术来为页面动态地生成html代码,任何一个网页都可以通过浏览器的开发者工具看到它们的html代码,如果你仔细查看一段html代码,你会发现,它其实就是由一堆各种类型的尖括号组合嵌套而成
2.3css代码用来定义外观和风格的展示,比如大小、形状、位置、颜色、居中、字体、显示属性等,css代码则是被浏览器读入,并且渲染成肉眼可以看到的视觉效果,PM(前端工程师)调整页面上的按钮形状和颜色,就是改动对应按钮的css代码实现的
2.4前端开发中真正编程的部分是JavaScript,网页如何与用户交互,如何和后端交互,都是通过JavaScript代码来实现的,HTML和css代码是被浏览器执行,页面里的JavaScript代码也是交给浏览器来执行,前端开发用的技术有HTML\CSS\javascript,其中javascript是编程语言,具有逻辑性,同时,javascript也发展出许多优秀的框架,比如angular.js react.js vue.js等框架,非常好用
2.5JavaScript和java没关系,雷锋和雷峰塔的区别
2.6写程序时,通常不会重复造轮子,可以调用JavaScript现成的library来实现常见功能,让开发过程更高效,对于前端JavaScript开发,React是目前比较流行的library,React不仅可以用来与用户的交互逻辑和事件相应,事实上页面几乎全部的html代码都可以通过React来生成,这种在浏览器端生成html代码进行渲染的方式称为Client-side Rendering,与之相反的是Server-side Rendering,也就是页面的完整html代码,是全部由网站的前端服务器生成好后,再发给浏览器的
2.7另外一种比较流行的JavaScript library是vue,国内用的比较多,B站的html代码,B站前端也用到了vue
2.8html、浏览器和前端服务器的工作原理和css、JavaScript和React主要靠自学
2.9和用户交互界面都算前端,而不只是网页
二、后端开发(Backend Development)
1.一部分后端开发工作就是开发数据访问服务,使前端可以通过后端服务对数据进行增删改查,也就是Crud,对前端用户的请求进行相应
2.例如你在注册一个大型网站时,该网站的前端会调用其后端,把你的用户信息写入数据库,一个后端服务其实不局限于只被前端调用,还可以被mobile app调用,还可以被其他后端服务调用
3.前端往往需要通过调用后端服务,来完成对用户请求的响应,后端服务往往通过查询数据库,来完成对前端请求的响应(用户⇋前端⇋后端服务⇋数据库)
4.前端和后端的共性:都是通过调用一个比自己更靠后的服务来对前方的客户请求进行相应
5.后端工程师的工作范围:设计后端服务的API,设计后端服务的架构图,设计后端服务的数据库,写代码实现后端服务的业务逻辑,同时还需要保证设计的后端服务highly available,访问量很大时仍然不宕机,并且对客户请求的响应时间短,或者吞吐量高,单位时间内能够处理的请求数量多
6.后端服务器和前端服务器一样,后端服务器可以由几乎任何一种编程语言实现,只要能把正确的数据返回给调用者即可
7.两周内上手一门新的编程语言是一名职业程序员的基本素养,后端工程师工作还有为后端服务创建数据库,数据库性能调优,分析数据库数据,建议入门最好先从前端开始
8.后端开发语言有java 、 php 、 C 、 C++、 C# 等。后端开发也有许多优秀的框架