参考
开发者术语表
用通俗语言定义现代移动和设备端开发背后的概念、协议和工具。每个条目都是自足的——读一条即可理解,或跟随链接前往将其付诸实践的 Pocket Code 工具。
编辑器与语言
LSP语言服务器协议(LSP)是一个开放标准,让代码编辑器通过 JSON-RPC 与独立的语言服务器通信。服务器提供理解语言的功能——自动补全、跳转到定义、悬停文档、诊断和重构——使任何编辑器都能通过一个共享接口支持任何编程语言。Multi-cursor多光标编辑让你在文档中同时放置多个插入点,并在每一处同时输入、选择或删除。编辑器可通过点击、快捷键或选中某个词的全部匹配来添加光标。它让重复性编辑——重命名变量或重新格式化多行——大幅加快。Syntax highlighting语法高亮根据每个标记的角色——关键字、字符串、数字、注释和标识符——用不同的颜色和字体显示源代码。它由语言的语法驱动,不改变代码含义,但让结构更易于浏览,帮助读者更快发现错误并理解代码。Code completion代码补全是编辑器在你输入时建议其余内容的功能——变量名、函数、方法、关键字或整段片段。传统补全依据语言的符号和作用域,而 AI 辅助补全根据上下文预测多行代码。它加快编码速度,减少拼写错误和查找。On-device execution设备端执行意味着代码直接在本地机器——手机或平板——上编译和运行,而非远程服务器。程序逻辑、解释器和运行时针对设备自身的 CPU 和存储执行。它无需网络即可工作,为隐私将数据保留在本地,并消除对云基础设施的任何依赖。
终端与网络
PTY伪终端(PTY)是一对虚拟字符设备,用软件模拟物理终端。一端由 shell 等程序驱动,另一端由终端模拟器驱动。PTY 传输按键、输出和控制信号,使交互式命令行会话无需任何真实硬件即可运行。Terminal emulator终端模拟器是在图形窗口内重现硬件文本终端行为的程序。它渲染字符输出,解释用于颜色和光标移动的转义序列,并将按键转发给 shell 或命令行程序。这是现代系统在桌面或手机上提供命令行访问的方式。SSHSSH(Secure Shell)是一种加密网络协议,用于在不可信网络上安全地操作远程计算机。它加密整个会话,使用密码或密钥对进行认证,是打开远程 shell、运行命令和隧道传输其他流量的标准方式。默认监听 TCP 端口 22。SFTPSFTP(SSH 文件传输协议)是一种在 SSH 连接上安全传输、浏览和管理文件的协议。它运行在加密的 SSH 通道内,保护凭据和传输中的数据。与旧的 FTP 不同,它无需单独的端口,并支持断点续传、权限和远程目录操作。ADBADB(Android Debug Bridge)是一个命令行工具,将计算机连接到 Android 设备或模拟器以进行开发和调试。通过 USB 或 Wi-Fi,它可以安装和卸载应用、复制文件、读取日志、打开设备 shell 和运行测试,是 Android 开发工作流的核心。
数据库
Embedded database嵌入式数据库运行在宿主应用自身的进程内,而非作为独立服务器。它无需网络连接、守护进程或手动管理——数据库引擎是应用链接的一个库。这使其快速、自包含,非常适合设备端或离线软件。PostgreSQLPostgreSQL 是一个成熟的开源对象关系型数据库,以严格遵循 SQL 标准和高可靠性著称。它支持 JSONB、数组和地理空间数据等高级类型,以及事务、外键、窗口函数和扩展。从小型应用到大型系统广泛使用,完全符合 ACID。SQLiteSQLite 是一个自包含、无服务器的 SQL 数据库引擎,将整个数据库存储在单个文件中。由于它以零配置嵌入宿主进程运行,是世界上部署最广泛的数据库——存在于手机、浏览器和无数应用中。它完全支持事务且符合 ACID。
API 与协议
REST APIREST API 是一种通过 URL 和标准 HTTP 方法(GET、POST、PUT、PATCH、DELETE)暴露资源的 Web 接口。它是无状态的,即每个请求都携带服务器所需的全部上下文,通常交换 JSON。其简洁性和对纯 HTTP 的使用使其成为最常见的 Web API 风格。GraphQLGraphQL 是一种用于 API 的查询语言和运行时,让客户端在一次调用中精确请求所需的字段。类型化的 schema 定义可用数据,服务器据此解析每个查询。这避免了过度获取和获取不足,并能在一次往返中获取多个资源。WebSocketWebSocket 是一种协议,在单个 TCP 链路上提供客户端与服务器之间持久的全双工连接。经过 HTTP 握手升级连接后,双方可随时以极低的开销发送消息。它为聊天、实时仪表板、通知和多人游戏等实时功能提供支持。
AI 与智能体
BYOK自带密钥(BYOK)是一种模式:你向应用提供自己的凭据——API key 或 OAuth 登录——应用随后代表你直接调用第三方服务。应用从不转售或代理容量;由提供商按其政策向你的账户收取使用费。Agentic CLIAgentic CLI 是由大型语言模型驱动的命令行工具,能够规划并执行多步骤任务,而不仅仅回答问题。给定一个目标,它循环地读取文件、运行命令、编辑代码并检查结果,在敏感操作时请求许可。它直接在项目目录内工作。Multi-agent orchestration多智能体编排协调多个 AI 代理,使它们协作完成一个目标,每个代理承担专门角色——如规划、编码、测试或审查。编排器分配子任务,在代理之间传递结果并合并它们的输出。以这种方式分工能处理单个代理无法独自解决的更大、更复杂的问题。
自动化
平台与工具
IDEIDE(集成开发环境)是将编写软件所需工具集成在一起的单个应用程序:代码编辑器、构建或运行系统、调试器,通常还有版本控制、终端和测试工具。通过将它们整合到一个工作流中,减少了上下文切换并加快了开发。GitGit 是一个分布式版本控制系统,记录文件随时间的更改,让你查看历史、撤销错误并通过分支并行工作。每个克隆都保存完整的项目历史,因此大多数操作都是本地且快速的。合并和 pull request 让团队合并工作并协作编写代码。Cloud sync云同步通过远程服务器复制更改,使文件、项目或设置在多台设备间保持一致。当你在一台设备上编辑时,更改会上传并传播到其他设备,使每台设备都看到最新版本。它还充当设备外备份并支持冲突解决。Offline-first离线优先是一种设计理念,应用在没有网络连接时也能完全工作,将连接视为增强而非必需。数据在本地存储和处理,与服务器的同步在连接恢复时伺机进行。这使应用在信号差或无信号时仍然快速可用。APKAPK(Android Package Kit)是 Android 用于分发和安装应用的文件格式。它是一个 ZIP 归档,打包了编译后的代码、资源、素材、原生库以及描述应用的清单。安装 APK 会将应用放到设备上;Play Store 以这种格式分发应用。Mobile development移动开发是为智能手机和平板电脑构建软件的实践。它涵盖用平台工具(如 Android 的 Kotlin 或 iOS 的 Swift)编写的原生应用,以及从单一代码库面向多个系统的跨平台框架。它涉及 UI、性能、离线行为、设备 API 和应用商店分发。