Web开发是指创建和维护互联网上的网站和应用程序的过程。它涉及使用多种技术和工具来构建各种类型的网站,从简单的静态网页到复杂的动态Web应用程序。Web开发的目标是提供一个用户友好的界面,使用户可以轻松地与网站或应用程序进行交互。在这篇笔记中,我们将介绍Web开发的基本情况,包括前端开发、后端开发和数据库。
一、前端的架构、变迁
(1)前端的架构
最上层是浏览器进程,负责协调承担各项工作的其他进程,比如实用程序进程、渲染器进程、GPU进程、插件进程等。
每个进程的作用:
①浏览器进程:控制浏览器这个应用的chrome(主框架)部分,包括地址栏、书签、前进/后退按钮等,同时也会处理浏览器不可见的高权限任务,如发送网络请求、访问文件。
②渲染器进程:负责在标签页中显示网站及处理事件。一个标签页就是一个渲染器进程。
③插件进程:控制网站用到的所有插件。
④GPU进程:在独立的进程中处理GPU任务。之所以放到独立的进程,是因为GPU要处理来自多个应用的请求,但要在同一个界面上绘制图形
(2)前端的变迁
前端开发的发展历史分为以下几个阶段:
1、只读时代:1989~2004
HTML/CSS/JavaScript
如果浏览器想获取服务器的信息,就必须向服务器发一次请求,获得一个网页;如果想更新这个页面,必须再发一次请求,获得一个新的HTML页面把旧的那个直接刷新替换掉。这个时候的客户端还是一个阅读器的概念,不能在不刷新的情况下更新页面。
·单向发布
·静态只读
·连接跳转
·刷新页面
·表格对齐元素
·CGI
2、体验时代:2005~2010
Ajax/Web API/jQuery
最大的特征就是Ajax的出现+普及。当时IE浏览器早在2000年的时候就支持了一种JS的技术叫XML http request,就是可以在html页面中给服务端发送请求,服务端响应给客户端之后,可以在不刷新页面的情况下动态修改DOM,从而实现数据的实时更新。从此,前端从一个简单的页面向Web App实现了跨越,动态交互成为了主流。
·动态交互
·社交媒体
·用户生成内容(UGC)
·单页应用(SPA)
·jQuery
·YUI
3、敏捷时代:2010~2021
Fetch/Node.js/ Webpack
自苹果公司发布iPhone打破传统互联网的格局之后,Web开发也逐渐的为了配合移动端的用户进行各种改进与独立设计。也是至此,Web前端开发逐渐成为了一个越来越被重视的独立工种。前端开发注重于用户的体验,以良好的网站、App的设计形式与用户的交互形式来使用户对自己的公司的技术产生信任感。并且在这个时代发展的Node.js更是能够让前端开发人员只用JS一门语言就可以开发后端应用,进一步让前端开发朝敏捷性的方向迈进。
·模块化
·组件化
·转译 (transpiling)
·打包(bunding)
·React.js
·Vue.js
二、前端的应用领域
1、To Business
每个大公司都有着属于自己的管理网站,专门用来管理公司内部的一些事宜。公司越大、业务越复杂,对ToB的需求也会越来越复杂。一般的形式就是登录自己的个人账号后,显现出一块巨大的仪表盘,上面是自己在公司内部的各种信息或者各种需要处理的事情等。总而言之,就是为了更加方便自己在公司内部的活动,也能够让公司内部人员更好的管理员工的信息。
2、To Customer
就是我们常说的”上网“的时候浏览的各种网站。在Web开发领域,绝大部分都是ToC类型的网站,这类网站都是面向客户的,为了给用户提供相应的服务,比如电商平台、视频网站、论坛网站等等,都是公司的主要业务所在。
3、To Developer
对开发者来说,怎么才能够让开发变得更有效率、更快的把自己想实现的功能给实现了,一直都是开发者的一个硬性需求。而对前端开发来说,各种工具的变迁史也正是这一需求日益增长的体现。从最开始的三件套手写页面,到如今的五花八门的框架选择、打包工具等等,大大提升了我们进行Web开发的效率。这一方面就是属于程序员自产自销的一部分,加速了我们前端开发领域的扩展。
三、开发中常用的语言框架及工具
1、语言
最基本的前端三剑客:HTML(用户编写页面的骨架和结构)、CSS(用来描述装饰整个页面)、JavaScript(用来使整个页面动起来)。
2、框架
3、工具:浏览器、网络、服务器等。
四、了解 Web标准组织
(1)W3C 流程
首先如果你想给大家再提一个提案,那么你要写一个explainer建议说明文档,找到对应的社区或者小组,把这个文档提交到这个小组。得到认可之后,写一个web IDL来描述这个API的接口怎么设计,把这个逐步的算法要描述清楚。如果能够早联系这个相关方向的专家对提案进行评审,那么就能够很快的确定自己的具体的方向,这个是非常重要的。还有一个方面就是要写这个WPT, 也就是web platform test, 一些测试用例。
(2)TC 39 流程
第一阶段叫做stage in just storming, 这是稻草人阶段,决定以什么形式提交想法。stage one就是propose proposal,正式的建议。stage two就是draft草案阶段。stage3是candidate,候选推荐标准。stage4阶段就是finish, 它的特征就是通过单元测试,成本标准被批准。
首先在TC39负责一个提案的推动,作为体验的负责人。负责人要了解怎么写一个说明建议书说明建议书。然后在TC39的会议上,要通过PPT或文档或demo的形式来展示提议。然后要参考其他草案。反馈要处理,要了解。准备实现这个提案,需要跟浏览器厂商交流沟通。最终在浏览器能够发布,支持体验的特性。