⌨️ 第一章 编程的基础知识
📄 一句话概括

同样一个程序,可以装在你电脑里、可以住在机房网站里、也可以装在手机里——桌面应用、网页应用、手机 App 是程序的三大【住址】,住址不同,玩法全不同。

📝 本节和前面几节的关系

上一节把六层皮画好了:程序跑在操作系统上。本节接着问【跑在哪台机器的操作系统上】——这正是三大执行环境的分界线。网页应用的细节在 计算机网络课 4.10 讲过一轮,本节从【编程选型】的角度重新看它。

一、三大执行环境一张表

桌面应用 网页应用 手机 App
程序住在哪 你自己的电脑 机房的服务器(浏览器只是取景器) 你自己的手机
怎么得到它 下载安装包(exe/dmg) 打开网址就用 应用商店下载
更新方式 手动下载新版本 服务器一更,全网生效 商店推送新版本
断网能用吗 大多能(本地干活) 多数不能(要看功能设计) 看情况(原生 App 可离线)
性能上限 最高(独占本机硬件) 受浏览器限制 高(原生)/中(混合)
典型例子 AutoCAD、微信 PC 版 网页版邮箱、在线表格、在线 SQLite 运行器 微信 App、手游

一句话记:桌面是【买台机器放家里】,网页是【租用】,App 是【揣兜里】。

二、各自的天赋与短板

桌面应用——天赋是贴近硬件、离线可用:CAD 渲染大图纸、剪辑视频这种重活,只有桌面应用扛得住;短板是装与更新的成本,还有【换台电脑就得重装】。

网页应用——天赋是零安装、处处可用:换电脑只要记得网址;服务器端更新一次,所有用户瞬间用上新版(数据库课 3-1 用的在线 SQLite 运行器就是典型);短板是依赖网络与浏览器能力,重图形任务天生吃亏。

手机 App——天赋是随身+贴近手机硬件:相机、定位、推送通知、扫码,这些能力网页拿不全;短板是要过应用商店的审核与抽成(第 1-11 节细算这笔账)。

三、界线正在模糊:混合形态

2026 年的现实是三种住址互相串门:

对初学者的意义:选哪种执行环境=选技术路线。第二、三章学语言分类时会回头看这张表。

四、动手 Demo:给手机里的 App 分一次家

打开你的手机,数一数第一屏的 App,每个都问一句【它的工作在哪台机器上做】:

看到什么算成功:能分出三类—— 1. 真 App:断网还能打开看的(相机、计算器、本地相册); 2. 壳 App:打开后大部分内容来自网络(微信、淘宝——界面是本地的,内容和数据是服务器的); 3. 小程序/快捷方式:点开其实是网页或寄生应用(各类生活缴费小程序)。

读结果:绝大多数【联网 App】都是【本地壳+远程脑】结构——界面和交互在你手机上,数据处理在机房。这正是服务器课 系统与司令塔 讲的【客户端+服务器】分工。

30 秒实验

在电脑浏览器里打开 https://sqliteonline.com(数据库课用过的在线 SQLite 运行器),随便执行一条 SELECT 1+1;。

看到什么算成功:不安装任何东西,SQL 已经跑出了结果 2。

读结果:这个网站是纯粹的网页应用——程序在人家服务器上,你的浏览器只是操作台。反过来,你在本机装的 SQLite 就属于桌面应用。同一个数据库引擎,两种住址,两种用法。

常见误区

  1. 【网页应用不需要写程序】——恰恰相反,网页应用要写两份:浏览器里跑的前端+服务器里跑的后端,工作量通常比桌面应用更大。
  2. 【手机 App 一定比网页快】——原生 App 快,但混合框架(套壳网页的 App)未必;判断要看程序本体跑在哪、怎么写的。
  3. 【网页应用很安全因为没有安装】——安装确实少了,但数据全在服务器上,数据泄露的风险反而集中在服务端(数据库课 7-10 的 SQL 注入就是网页应用的高发坑)。
  4. 【选哪种执行环境只是技术问题】——它同时是商业问题:App 要过商店审核和抽成,网页应用不用;桌面应用盗版难防,在线服务天然按订阅收费。
自测三问(点开对答案) 1. **网页应用的程序本体住在哪?浏览器扮演什么角色?** 住在网站的服务器上;浏览器只是把请求送过去、把界面画出来的【取景器】。 2. **为什么服务器端一更新,网页应用的用户立刻用上新版?** 因为程序只有一份、且只存在服务器上;用户每次打开拿到的都是当前最新版。桌面应用则装在千家万户,各更各的。 3. **VS Code 是桌面应用还是网页应用?** 按【住址】分类是桌面应用(装在电脑里),但它的界面是网页技术写的(Electron 套壳)——住址和技术栈是两回事。

相关笔记