要构建如上所述的自定义推送通知系统,您需要各种技术、包和库。这是您将使用的技术堆栈的完整列表,分为客户端、服务器端和通用工具。
1.客户端(前端)
这些是用户浏览器中使用的技术和库。
-
HTML/CSS/JavaScript:
-
服务人员:
-
用途:处理后台任务,包括接收和显示推送通知。
-
文件:service-worker.js。
-
推送 API:
-
用途:允许Web应用程序接收从服务器发送的推送消息。
-
通知 API:
-
Web VAPID 库(可选):
-
用途:将 VAPID 公钥从 Base64 转换为 Uint8Array 的实用程序。
-
包:如果需要,您可以编写自己的实用函数或使用现有的库。
2.服务器端(后端)
这些是在您的服务器上运行的技术和库,用于管理订阅、发送通知等。
-
Node.js:
-
用途:服务器端 JavaScript 运行时环境,用于处理后端逻辑。
-
版本:推荐最新的LTS版本。
-
Express.js:
-
用途:Node.js 的 Web 应用程序框架,用于构建 API 端点以处理订阅、发送通知等。
-
包裹:快递。
-
网络推送库:
-
用途:处理推送通知的创建和发送,包括 VAPID 密钥生成。
-
软件包:网络推送。
npm install web-push --save
-
数据库:
-
用途:存储用户订阅。
-
选项:
-
PostgreSQL:强大的开源关系数据库。
-
MySQL:另一种流行的关系数据库。
-
SQLite:轻量级、无服务器数据库选项。
-
ORM(可选):
-
Sequelize:支持各种 SQL 方言的 Node.js ORM。
-
Package:Sequelize 的续集。
-
正文解析器中间件:
-
用途:在处理程序之前解析中间件中传入的请求正文,可在 req.body 属性下使用。
-
包:主体解析器。
npm install body-parser --save
-
Dotenv:
-
用途:将.env 文件中的环境变量加载到process.env 中。
-
软件包:dotenv。
npm install dotenv --save
3.通用工具和实用程序
-
Nginx 或 Apache:
-
用途:为您的静态文件提供服务并反向代理 Node.js 应用程序的 Web 服务器。
-
设置:配置为通过 HTTPS 为您的网站提供服务,这是推送通知所必需的。
-
SSL 证书:
-
用途:为您的域提供 HTTPS,这是服务工作人员和推送通知所必需的。
-
提供商:
-
Let's Encrypt:免费 SSL 证书。
-
商业 SSL 提供商:提供付费选项。
-
Git:
-
节点包管理器 (NPM) 或 Yarn:
4.可选工具
-
监控工具:
-
用途:监控服务器性能和错误。
-
选项:
-
新遗迹、Datadog、普罗米修斯。
-
自动化部署工具:
-
目的:用于自动化部署的 CI/CD 管道。
-
选项:
-
GitHub 操作、Jenkins、GitLab CI。
-
数据库备份解决方案:
5.开发环境
-
代码编辑器:
-
选项:
-
Visual Studio Code:JavaScript 开发的热门选择。
-
Sublime Text,WebStorm。
-
邮差或失眠:
总结
您的堆栈将主要围绕后端的 JavaScript、Node.js 和 Express 以及诸如 PostgreSQL 之类的数据库或 MySQL 来存储订阅数据。 Web-Push 库将处理推送通知的实际发送,前端的 Service Worker 和 Push API 将管理推送通知的订阅过程和显示通知。
此设置使您可以完全控制通知系统,允许根据您的需求进行定制和优化。
以上是如何制作自定义推送通知的详细内容。更多信息请关注PHP中文网其他相关文章!