先从眼前这个页面开始

网页,是浏览器把文件变成的画面。

Chrome、Safari 这些用来打开网页的软件,就叫浏览器。它读懂文字、图片和代码这些文件,就能显示下面的约会计划。代码可以理解成“写给电脑的说明”。

HTML放什么内容CSS长什么样子JavaScript点击后做什么

先玩一下下面的页面,再用实验台拆开看看。三个名字先混个脸熟就好。

这是一个真的可以玩的网页LIVE PREVIEW
✳ OUR LITTLE WEEKEND

把这个周末,
留给我们。

不用去很远,也不用安排得很满。
一杯咖啡、一阵晚风,还有身边的你。

挑一个心动的计划 好天气 + 你 = 满分周末
SMALL PLANS, GOOD TIMES

快乐,从一件小事开始.

为我们留的 3 个提案
手冲咖啡器具摆在咖啡馆的吧台上慢下来
一杯咖啡的时间 14:00

街角咖啡馆

找个靠窗的位置,把最近的小事慢慢讲给你听。

城市的一角COFFEE & TALK
清澈河流穿过两岸葱郁的树林去透透气
把时间交给树影 16:00

林间散散步

沿着绿意走走,没有目的地,走到哪里都算数。

附近的小公园WALK & BREATHE
电影院里一排排红色座椅一起入戏
借一段别人的故事 19:00

晚场电影院

买一份大桶爆米花,散场后再交换彼此的感想。

熟悉的电影院MOVIE & US

选择困难?交给一点小幸运。

三个都不错,让网页帮我们选一个吧。

理想的一天,大概长这样

0 个心动计划
  1. 喝杯咖啡
  2. 慢慢散步
  3. 看场电影
  4. 和你就好
MADE FOR A WEEKEND WITH YOU 示例地点 · 美好可以发生在任何地方
带着这份约会清单,往下走

从“我能看”,到“我们一起用”。

每次只解决一个小问题。
不用一下记住所有名词。

⌂
刚才认识了网页,接着试着做一份

我写好了,怎么先自己看看?

假设我在电脑上做这份约会清单。改一句介绍、换一张照片,再用浏览器打开看效果。这样在自己的电脑上边做边试,就叫“本地开发”。

  1. 改一改文件把“喝咖啡”改成“吃冰淇淋”
  2. 用浏览器看效果看看字有没有变、按钮还能不能点
  3. 不满意就继续改这时还不用急着发给别人
地址里的 localhost 是什么意思?

它的意思就是“这台设备自己”。本地开发时,常会在电脑上启动一个小服务,让浏览器通过这个地址取到网页。所以,把 localhost 发到你的手机上,它找的是你的手机,不是我的电脑。

这里先记住本地 = 自己的电脑。可以先做、先试。那怎么发给你看? ↓
↗
自己看没问题了,下一步想分享

你不在我旁边,也能打开吗?

可以。把网页放到一台能被互联网访问的电脑上,再给你一个网址。你点开网址,就能拿到网页。把网页发布出去,这一步叫“部署”。

专门给别人提供网页的电脑,叫服务器。用服务商提供的远程机器来运行网站,是常见的云端部署方式。“云”背后也是真实的电脑。

试着换个位置,看看谁能打开
我的浏览器自己预览网页
从本机取文件→
我的电脑只在这里运行
我能看,你还不能远程看。

这个场景里,我只在自己电脑上预览,还没有把网页发布出去。

现在是“自己试”。点击“已经发布到网上”,看看分享之后的变化。
可以选很多地方发布,不只 Cloudflare。

Cloudflare Pages、Vercel、Netlify、GitHub Pages 都能发布这类网页,也可以租云服务器自己管理。这次用了 Cloudflare Pages,只是其中一种选择。

我的电脑关机,你还能看吗?

发布到托管平台后可以,因为是平台的服务器在提供网页,不用等我的电脑开着。

我在电脑上改了,网上会跟着变吗?

这个项目不会自动变。还要再发布一次,大家才会看到新版。就像修改了手机里的照片,还要重新发出去。

你现在打开的是哪一份?
正在看看当前网址…

补充:本地也有办法临时分享吗?

有。比如把两台设备连到同一网络并做一些设置,或者借助临时分享工具。不过通常需要我的电脑一直运行。上面的演示省略了这些特殊设置,先理解最常见的两种情况就好。

这里先记住部署解决的是:让别人也能访问。能访问了,就会记住收藏吗? ↓
♡
我们都能打开了,又多了一个愿望

我收藏的地方,你的手机也能看到吗?

光把网页放上网,还做不到。现在两台手机各自打开一份页面,我点亮爱心,只改变了我这一份。想一起用同一份收藏,就需要有个地方替我们共同记着。

可以想象有一个“帮我们记清单的人”,还有一本“共同的记录本”。下面这三个名字,就是在说各自负责什么。

前端

手机里看见、点到的部分

显示约会照片,让你点爱心,把结果展示出来。

运行在你的浏览器里。
就是前面玩过的那个页面。
后端

远处帮你处理事情的程序

像“帮忙记清单的人”:确认是谁、能看哪份清单,再帮忙保存或取出收藏。

运行在服务器上。
只有被允许的人能查看你们的清单。
数据库

放共同记录的地方

像“记录本”:把收藏存下来,之后还能找出来。

后端来读写这本记录。
两台手机才能取得同一份清单。
想象我们已经有了共同清单 · 这里只做演示

点一次收藏,它们怎么配合?

每次点一下“下一步”,停下来看看。没有真的创建账号或保存记录。

  1. 你点爱心前端说:帮我记住这个地方
  2. 认一认是谁后端找到你们的共同清单
  3. 记进记录本后端把收藏存到数据库
  4. 告诉你记好了前端显示“收藏成功”

先从你按下爱心的那一刻开始。

回头看眼前这个网站:目前只做了前端。
它会换色、会随机选计划,却没有接上“帮我们记清单的程序”和“记录本”。收藏只临时记在当前页面,刷新就清空,也不会同步给对方。

只想我自己下次打开还能记得,也要后端吗?

不一定。还可以把收藏保存在这台浏览器里,下次在同一浏览器打开时再读出来。但换一台手机,不会自动带过去。只有自己本机记得,和两个人共享记录,是两种不同的需求。本示例还没有加入这种本机保存功能。

“静态网页”是不是指网页不会动?

不是。这里“静态”是指服务器主要把准备好的网页文件发给你。文件里的 JavaScript 仍然可以让按钮响应、让图片动起来。这个网站就是有互动的静态网页。

这里先记住前端让你看和点,后端帮你处理,数据库帮你记住。那它们要分开做吗? ↓
⇄
知道谁负责什么之后,最后再聊怎么合作

前端和后端,要分开做吗?

先看要做什么。如果只介绍约会地点,前端就够了。如果需要共同收藏,再加上后端和存储。确定需要后端之后,才考虑:放在一个项目里一起做,还是让前后端分开维护。

点一个愿望,看看怎么选
有前后端 · 不分离

放在一起做、一起更新

前端页面后端程序

看得见的页面和背后办事的程序,都在同一个应用里安排。

  • 一样能登录、能保存收藏
  • 我们这样的小项目可以先用它
有前后端 · 分离

分开负责,约好怎么联系

前端⇄ 传消息 ⇄后端

前端专心做页面,后端专心处理和保存。双方通过约好的方式交换消息。

  • 网页和 App 可以找同一个后端办事
  • 分开更新更方便,但要多一些协调
只看地点:做到前端就够了。

先把照片和介绍做好。没有共同保存数据的需求,就不用多搭一套后端。

他们常说的“接口”,是什么?

就是前后端约好的联系方式。比如前端说“请收藏地点 A”,后端回答“记好了”。接口约定该发什么消息、会收到什么答复,两边才能听懂对方。

人多了,就一定要前后端分离吗?

不一定。放在一起的应用也能服务很多人。通常是网页和 App 要共用一套后端,或者不同团队要各自更新时,分离更值得考虑。分离说的是代码和工作的组织方式,不要求两个网址,也不是分成两个文件夹就算完成。

这里先记住先决定要做什么,再选够用的做法。把整条线连起来 ↓

现在,把这份约会清单的故事连起来。

  1. 我做一个页面HTML 放内容,CSS 管样子,JavaScript 管动作。
  2. 先在自己电脑上试这叫本地开发。
  3. 放到网上,发网址给你这叫部署,平台有很多种选择。
  4. 想一起记住收藏再考虑后端和数据库。
  5. 想好怎么分工可以放在一起做,也可以前后端分开维护。
带着这些认识,再玩一次网页 ↑
拆开一个网页元素

好奇代码长什么样?点这里看看

HTML

CSS

JS