嵌入式系统上的单页应用程序[关闭]

Posted

技术标签:

【中文标题】嵌入式系统上的单页应用程序[关闭]【英文标题】:Single Page Application on embedded systems [closed] 【发布时间】:2019-02-16 04:04:08 【问题描述】:

我正在做一个项目,我们在嵌入式系统上运行我们的 web 服务器,所以我有内存限制,但是有没有办法让我在这个 web 服务器上构建一个单页应用程序?如果是,那么我们是否有一个我可以使用的 javascript 框架,或者我是否坚持使用基本的 javascript 本身?

并且会有实时数据从服务器发送和接收。

【问题讨论】:

服务器上的内存限制不应该影响前端...... javascript 在浏览器中运行。应该能够使用您想要的任何框架。尝试一个,当你遇到真正的代码问题时回来 现在我什至无法在设备上存储一个缩小的 Bootstrap 文件。所以 react 的节点模块应该在我的设备上占用大量内存(“磁盘空间”)。我仍然觉得很少有人没有得到我的问题。 您不需要节点模块。单页应用程序可以作为静态 html、js 和 css 提供,您可以将 cdn 资源用于库 如果您的用户可以访问 Internet,则将前端文件存储在 CDN 中是一种解决方案,但您能否提供有关嵌入式系统配置的更多信息?你在上面运行操作系统吗? 你们根本不知道自己在说什么。这是关于嵌入式应用程序,您通常在其中运行非常低容量的微处理器。它与 Web 开发非常不同。嵌入式应用程序是本地包含的应用程序,仅通过 API 向 Internet 公开数据。没有 CDN,内存和处理器容量都是开发的主要驱动因素 【参考方案1】:

我在多个嵌入式系统上工作,建议重新设计您的解决方案。嵌入式系统的整个 Web 服务器到 UI 概念是旧的做事方式,它不是生成实时数据的最快或最有效的方法。您应该研究适用于基于 Linux 的系统的 QT 或适用于基于 Windows 的系统的 Xamarin。

如果您已经完成了后端数据模型,则可以轻松地在其中一个应用程序中创建一个新项目并在顶部构建一个 UI。相信我这个。它将为您节省大量麻烦,并提高嵌入式系统的性能。

如果您实施 Web 服务器,我建议您将数据公开给云应用程序或作为分布式架构的一部分,而不是向本地 UI 提供数据的一部分。

【讨论】:

非常感谢您的回答。但是不能将数据暴露给云应用程序,这是一个约束。我必须将它提供给 UI 本身。 是的,我知道。我是说摆脱服务器并为您的用户界面使用 QT 或 Xamarin。你的后端是用什么编程的? 后端是 C++。我们正在使用 Mongoose 嵌入式服务器。 我会研究 QT 兼容性。我不确定它在 RTOS 上的表现如何,但它在 Linux 上运行良好。我工作的一个应用程序有一个 C++ 后端和一个 QML 前端,它们都是用 QT 编程的。整个应用程序使用不到 20% 的 1.6 Ghz 嵌入式微处理器。 与另一个使用 Angular 前端的应用程序相比,每次我们轮询 1.7 Ghz 微处理器上的数据时,处理器的 80-100% 都会达到峰值。【参考方案2】:

单页应用程序在服务器端几乎没有逻辑,因为整个应用程序都是在客户端上运行的 JavaScript。您绝对需要的唯一服务器端逻辑将是一个将文件发送到客户端的小型服务器(这将是您访问该站点的 Web 浏览器)。

正如 Gerton 之前提到的,您可以轻松地使用 Angular 构建 SPA。您还可以查看当前最常用的另外两个框架:react.js 和 vue.js。

玩得开心!

【讨论】:

是的,我确实读过 Vue 可用于嵌入式服务器。会调查的。【参考方案3】:

Angular 似乎很好地支持了你的问题,它是一个单页应用程序框架

【讨论】:

以上是关于嵌入式系统上的单页应用程序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB:嵌入式系统的范围是啥[关闭]

mbedtls DTLS 服务器在 64 位桌面上运行,但不在嵌入式系统上

什么是嵌入式系统的好 C 内存分配器? [关闭]

fopen,fprintf,fclose的单线程? [关闭]

如何估计 ARM 平台上的程序消耗的能量? [关闭]

从 C/C++ 程序调用的多个操作系统线程上的多个独立嵌入式 Python 解释器