20小时学会编程 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

是什么让网络应用程序与众不同

为了开发一个网络应用,你必须首先编写该应用,然后测试它是否可以运行。用自己的电脑就能完成所有的开发测试工作

如果程序能够运行,你就将它发送到“生产服务器”,以便其他人也可以应用。因特网上的人无法从网络上登录你的个人电脑,所以,为了让其他人可以使用你的程序,必须将该软件上传到可公开访问的网络服务器。

也就是说,开发的流程有两个主要阶段:先进行本地编程和测试,然后将完成的程序推送到远程生产服务器上以获得实际应用。那么,现在让我们看看这两个阶段是如何运作的。

之前的HTML和CSS经验告诉我:它们是“愚蠢的”,因为你无法让基本网页储存任何信息。

举个例子,你有一个显示着“你好,世界!”的网页文档,你现在想把“世界”改为网页访客的名字。这个点子挺不错,但是基本网页没办法储存信息以备该访客下次访问。它们只会展示文档中的文本,而这个文档是不允许自我更新的。

如果要用一个术语来描述这种情况,我想应该是“状态”这个术语。使用HTML和CSS建立的基本网页是没有状态的,所以它们被称为“无状态”资源。你可以在网页上增加一个旁边有储存按钮的小方框并请访客填写姓名,但是该按钮实际上不会储存任何信息,除非你创建一个单独的空间来储存那些信息。

那就是为什么后续的网页应用都使用两种普遍的方法来储存数据:数据库用户本地终端上的数据cookies)。

数据库好似一叠索引卡片。例如,你想创建一个地址簿,那么你得获取每个朋友的姓名、电话号码、电子邮箱地址、性别以及年龄。从本质上讲,这就是数据库的作用:它为你提供一种可以储存结构性信息的方式,以及一种检索那些你想要的信息的方式。

在网络应用当中储存信息的另一种普遍方式是通过用户本地终端上的数据:储存在用户计算机上的一个非常小的文本文件。数据非常适用于储存那些不需要长时间保存且量少的数据。

在我们的地址簿程序案例当中,当登录的时候储存一个数据是恰当的。