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