在本实验场景中,我们会带领同学学习TypeScript中的接口类型
背景知识
随着移动互联网的井喷式发展,各种各样的互联网应用如雨后春笋般的出现,这使得Web前端的开发技术也得到了快速,同时随着原有的前端开发语言JavaScript的向后端应用开发领域的渗透,传统的前端开发人员的所承担的任务也在不断的向全栈开发领域扩展。
本系列课程将带领各位同学从基础的开发工具开始来学习前端开发的最新技术和平台,接下来为同学介绍VUE,React等最新的web开发框架,最后为同学们介绍Node.js,Electron等全栈技术领域的技术平台的使用方式。
Visual Studio Code
Visual Studio Code简称 VS Code,是2015年由微软发布的源代码编辑工具,区别也于传统的Visual Studio工具家族,VS Code 采用Web技术栈开发并在Github上开放相关源代码,因此VS Code是可以免费使用,并且支持Windows macOS,Linux三个操作系统平台的免费IDE工具。
VS Code 默认支持JavaScript、TypeScript、CSS 和 HTML等前端开发平台;也可以通过第三方扩展支持 Python、C/C++、Java 和 Go 等多种其他语言。
在2019年的 Stack Overflow 举办的开发者调查中,Visual Studio Code 被选为是最受欢迎的开发环境。
Microsoft Edge
2015年微软公布一款全新的浏览器Microsoft Edge。该浏览器移除了ActiveX在内的一些已经过时的技术,同时又加入了一些新的功能,如网页笔记,阅读模式,语音朗读,OneDrive等。在Windows 10和Windows 10 Mobile已经以后的版本中取代Internet Explorer成为操作系统内置的浏览器。
2018年微软宣布Microsoft Edge未来将基于Chromium开发,并将支持Windows,macOS,Linux等平台。基于Chromium开发的Microsoft Edge于2020年正式发布。新架构的Edge浏览器在稳定性,兼容性和版本更新速度上,都有了显著的提升。同时VS Code也为Edge浏览器提供官方的Web开发插件。使得VS Code和Edge成为了Web开发的良好工具组合。
Webpack
现代Web开发日渐复杂,HTML网页所需的CSS和JS静态文件的数量暴增到几十个甚至上百个。数量过多的静态文件不但增加了项目部署的难度,同时在HTML网页加载资源时,需要发送过多的网络请求,导致加载速度变慢,加载失败的概率大大增加。
因此现代Web开发往往会引入Webpack作为打包预处理工具,通过Webpack可以将项目中所需的众多静态资源组合成一个或多个bundles进行部署和加载。除此之外Webpack还可以进行TS,SASS等非标准资源到的转码翻译,JS代码的代码混淆压缩等一系列项目部署前的资源预处理工作。
Vue.js
Vue.js是一套构建用户界面的渐进式框架,其设计目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。
Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
React
React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目,其设计思想极其独特,性能出众,代码逻辑却非常简单,React最初用于架设Instagram的网站。于2013年5月开源。React通过对DOM的模拟,最大限度地减少与DOM的交互。同时通过声明式设计大大降低了创建交互式 UI难度。开发者只需要讲状态和视图得绑定,当数据变动时 React便能够高效更新并渲染合适的组件。
Node.js
在Node.js出现之前,JavaScript 通常被用于开发运行效率要求不高得客户端应用,而随着网页逻辑得日渐复杂,对浏览器执行JavaScript得效率提出了更高得要求,因此Chrome浏览器在2008年引入了新的JavaScript解析引擎得V8。V8引擎在执行JavaScript之前会将其自动编译成机器码,因此有着媲美编译式语言得效率。这就为了Node.js得出现提供了基础。
Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台执行环境。Node.js 采用 Google 开发的 V8 执行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能。Node.js 的出现得JavaScript的使用者可以独立的完成一个Web应用从客户端到服务器端的全部组件的开发,并使得JavaScript成为了全栈式开发的首选语言之一。
Electron
由于Node.js和Chrom浏览器同样使用了V8引擎做为JavaScript的解析引擎,全栈开发者不但可以使用JavaScript统一前后端的开发环境,同样可以在某种情况下将前端界面逻辑和后端业务逻辑的运行环境统一起来。这种使用JavaScript开发语言和统一的运行环境非常适合桌面应用开发。
Electron是GitHub开发的一个开源桌面GUI应用程序运行框架。它使用Node.js作为后端运行环境,使用Chromium(Chrome的开源版本)的渲染引擎作为前端运行环境。完成跨平台的桌面GUI应用程序的开发。Electron现已被多个开源Web应用程序用于前端与后端的开发,著名项目包括微软的Visual Studio Code。由于Chromium的在多个操作系统中均可以运行,因此使用Electron开发的桌面应用先天具有跨操作系统运行的能力。