Http和Https
就是浏览器地址栏中开头的字符,表示网页的内容是按照这个标准传递的。
HyperText Transfer Protocol超文本传输协议。
Hyper Text Transfer Protocol over Secure Socket Layer超文本传输协议安全层。
没有s的会被浏览器标识为不安全,逐渐将被替代消失。
其他浏览器支持的常见协议还有
- FTP,文件传输协议File Transfer Protocol,用于上传下载文件。
- File,本地文件传输协议。
TCP/IP
网络通信模型及整个网络传输协议家族,是互联网的基础通信架构。
传输控制协议Transmission Control Protocol。
网际协议Internet Protocol,我们说的IP地址就是这个协议实现的。
传统网络有七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
而TCP/IP简化为4层:
- 主机到网络,给上层提供一个接口,802.2,802.3等。
- 网络互连层,IP。
- 传输层,TCP、UDP。
- 应用层,Http(s),Ftp,SNFP,TELENT等。
JavaScript['dʒɑvə,skrɪpt]
网页编程脚本语言,主要用来实现网页动态效果和各种功能和业务逻辑。
JavaScript是开发者使用最广泛的语音,没有之一。
JavaScript和Java的关系类似雷锋和雷锋塔的关系,半毛钱都没。
Java学不好对于JavaScript没有任何影响。
Linux/Unix[ˈlɪnəks]/Unix['jʊnɪks]
Unix,初名UNiplexed Information and Computing Service,诞生于1970年贝尔实验室,是一个强大的操作系统。
类Unix系统是指类似Unix的系统,包括我们熟悉的Android、iOS、苹果电脑系统MacOS、Ubuntu等都是类Unix系统。
Android就是基于Linux的。
常见的Linux有用于普通电脑的Ubuntu和适合做服务器的CentOS。
Html5
HyperText Markup Language,网页开发最主要的编程语言,简单好学功能强大。
Html5是最新版本,2014年发布。
CSS3
Cascading Style Sheets,层叠样式表,用来给网页元素设定各种样式,美化页面。
CSS3是最新版本,2001年制定。
Git[ɡɪt]/Github[ɡɪt'hʌb]
项目协作和版本管理工具。
多人开发一个项目,共同编写一个文件等各种情况需要有系统的协调管理。
软件需要多次迭代升级,有时候甚至需要回退,这都需要每个文件都有不同版本的跟踪和管理。
Git是免费开源工具。
Github是基于Git技术的在线网站,是当前全球最大的开发者社区,汇聚了全球几乎所有的开源项目,你可以在Github建立自己的项目文件仓库,与全球开发者一起协作。
Github在2018年已经被微软收购。
另外可选的网站有Gitlab、Gitbucket,国内的有coding、oschina等。
jQuery[dʒe'kwɪərɪ]
Javascript的一个框架,就是别人把很多网页常用功能写好了打包在一起成为jQuery给大家用。
jQuery能够操作页面制作动画,以及更多厉害的功能。
jQuery曾经是网页开发的必选工具,但近几年随着Vue、react、angular的兴起,jQuery已经不那么流行了。
Bootstrap['bʊt'stræp]
JS框架,提供了很多现成的网页元素,可以很快让网页变得美观大方。
Mock.js[mɑk]
网页开发中用来做模拟测试的JS框架。
ES6/7/8
ES全称是ECMAScript,JavaScript的国际规范,目前主流版本是6,正在向7和8过渡。
ES6之后,JS才算成为像Java、C++、Python一样强大的编程语言。
Webpack[wɛb'pæk]]/Grunt[ɡrʌnt] /Gulp[ɡʌlp]
用来把网站项目打包生成的工具。
以前网站页面都很简单,现在网站越来越强大越来越复杂,要支持ES6还要兼容旧浏览器,这些众多问题都需要新的强大工具来管理。所以这些工具应运而生,也称为开发效率工具。
目前以Webpack应用最广泛。
SASS[sæs]/LESS[lɛs]
由于CSS语法规则比较简单,对于复杂的大项目就很麻烦,开发者就发明了SASS和LESS工具,用来自动化生成和管理复杂的CSS语法规则,这样就不用写很多很多重复啰嗦的CSS语句了。
AMD/CMD
大型网站项目的JS文件会很多,需要互相引用,AMD和CMD就是JS两种不同的互相调用的方法。
MVC/MVVM
MVC,模型视图控制器,Model-View-Controller。
MVVM,模型视图视图模型模型,Model-View-ViewModle-Modle。
大型网站项目开发常用两种架构模式,目的是可以方便的重复使用页面元素,更好的管理网络数据传输,网页和后端服务分离,使网站更强大更稳定,开发更快,维护更容易。
Vue.js[vi'ju]
目前国内使用最广泛的网站开发框架,符合MVC、MVVM架构思想,能够更快速的开发出功能强大、稳定易维护的网站。
这是国人开发的工具,简单易用易上手,国内主要互联网公司比如阿里、百度、腾讯都在使用。
也有很多开发者为Vue开发了很多插件,可以让Vue更强大,也更好用。
目前Vue2.x是主流版本。
ElementsUI[ˈɛləmənts ju'ai]
由饿了么团队开发的Vue的插件,类似Bootstrap的功能,与vue结合可以快速实现非常美观大方网页效果。
React.js[ri'ækt]/Angular.js['æŋgjʊlə]
和Vue类似的另外两个国外框架。
Angular最早由google发起,但后来支持减弱,现在逐渐被边缘化了。
React由Facebook支持,目前在国际上使用很广泛。
MaterialDesign[mə'tɪrɪəl design]
由google设定的Android和网页设计规范,遵照这个规范可以让页面漂亮统一,这也是Android手机系统和所有google网站、APP产品的设计规范。
MD可以和Vue、React等网页框架一起使用,快速开发出漂亮的网站。
WeUI[wi ju'ai]
微信Wechat设定的设计规范,也是微信APP遵守的外观界面规范。
在微信小程序和微信公众号中也遵守这些规范,并且可以应用在普通的手机网页中。
静态网站
不需要后端软件开发就能使用的网站。
主要是一些展示性的页面,基本上没有什么功能。
MySQL[mai'si:kjuːel]
目前行业最常用的关系型数据库,用来存储各种数据,可以很方便的查询搜索。
NoSQL/Redis[re'dis]/MongoDB['mɒŋgəʊ'di'bi]
NoSQL是非关系型数据库,和MySQL不同。
非关系型数据库在互联网时代尤其是大数据云计算时代越来越重要,可以应对更多样的数据存储需要。
最常见的非关系型数据库有Redis、MongoDB和Memcache。同时这些数据库也经常被用来大幅度提高后端软件的运行效率。
很好的结合各种数据库使用,可以使软件程序性能提高成百上千倍。
Nginx[n'dʒeninks]/Apache[əˈpætʃɪ] /Tomcat['tɑmkæt]
这三个都是常用的网络服务器软件,为网站提供http服务,让用户能够访问到服务器上的网页文件。
目前Nginx使用最为广泛,其他两个的使用在逐渐下降。
Node.js[nod dʒi'es]
有了Node就可以用JavaScript写服务器软件,就像PHP、Java那样。
Nodejs比Php更高效更灵活,比Java更简单开发速度更快。
Koa['kəʊa] /Express[ɪk'sprɛs]
Nodejs的框架,可以让开发者更加快速的开发出功能强大的网站项目。
Express比较适合中大型项目,Koa更自由,适合定制化要求更强的项目。
RESTful['rɛstfl]/GraphQL[ɡræf kju ɛl]
RESTful一种网站开发架构的设计原则,可以让网页和服务器程序更好的配合,实现强大的功能。
GraphaQL是遇RESTful有些类似但又不同的设计原则。
目前中大型网站项目一般都遵循RESTful设计思想。
Jade.js[dʒed]/ArtTemplate[ɑrt 'tɛmplet]
一个Nodejs框架,用来实现网页的模板化,可以和vue等框架一起使用,帮助开发构建强大功能的网站项目。
ArtTemplate是另外一个类似的模板框架。
Ejs
一个前端JS框架,可以用js直接生成页面内容。
第三方登录/移动支付
指某些网站或APP可以使用QQ登录、微信登录、微博登录、支付宝支付、微信支付等功能。这些功能都需要开发者编写代码进行开发,一般都会涉及到前端网页和后端服务器开发。
数据可视化/Echarts['i:'tʃɑːts]/D3
数据可视化指用图表的形式展示复杂的数据,方便用户从图表上直观感受到数据的变化或内在关系。
网页开发中常使用JS框架来实现,Echart图表由百度公司提供。D3由国外团队支持,它提供了更高级更强大的图表功能,但也比较复杂难用。
云部署
目前几乎所有公司的网站都部署在云端服务器上,即云服务提供商大公司提供的外地服务器,目前国内最大的云服务器提供商是阿里云,占有50%左右的市场份额,其次是腾讯云和微软云等。
云端服务器更加安全稳定,成本更低,技术也更简单,目前一般的部署和维护工作都由普通开发者完成,所以必须了解云服务提供商的各种功能,以及云端操作系统CentOS的使用方法。
人工智能
在网页中不用学习复杂的人工智能算法技术,也可以实现各种常用的人工智能功能,比如人脸识别登录、语音对话、动作识别等。
Web3D和VR
在网页中不用学习额外的语言技术,也可以实现三维动画效果甚至是可以头戴设备观看的虚拟现实动画。
主流的技术包括Three.js和Aframe框架。
网络爬虫
人工智能时代,数据是最重要的资源,如何从网络上获取数据资源、有效的存储和使用这些资源,成为每个公司都在关注的技术,而熟悉web开发的工程师在数据爬取方面有着先天的技术优势。
网站性能优化
对于用户量比较少只有几百人的中小型网站来说,性能往往不那么敏感,但是对于用户数以万计数以千万计的中大型商业网站来说,用户打开网页的速度、功能是否灵敏就成为重要的问题。
因此必须掌握前端网页优化方法,加快网页载入速度;也要掌握后端服务器程序优化策略和数据库优化技巧,确保网站稳定高速运行。
云端安全
随着网民隐私自我保护意识的提高,以及网络安全环境的日益恶化,确保网站不被攻击或者不被击垮,已经成为每个web开发者的重要技能。
这涉及到前端网页的用户隐私和安全策略,也涉及到网络攻击的原理及防范方法、后端程序的代码的安全性,以及云端服务器的各种安全工具的使用。
微信开发
微信开发主要分为微信公众号开发和微信小程序开发,都涉及前端和后端开发。
公众号的开发就是web开发,小程序开发使用的语法也与web开发几乎完全一致,因此,从web开发入手微信开发是非常合适的。