从客户端JavaScript进行全栈开发「No Node.js」

我们来看一个开发人员的实验,他希望创建一种只使用客户端JS编写完整堆栈应用程序的方法。

从客户端JavaScript进行全栈开发「No Node.js」

如果您认为上面的标题听起来像矛盾或某种黑魔法,请再想一想。使用Lizzie,您可以(至少在理论上)在JavaScript中创建您的整个业务逻辑,在浏览器中,将您的Lizzie代码提交给服务器进行评估(安全),并将JSON返回给您的客户端。

为了记录,这假设你以前在C#中创建了通用的 “钩子”,允许你的Lizzie代码做一些有用的事情,因为开箱即用,Lizzie除了创建列表,词典之外几乎不能做任何事情。基本数学,以及一些简单的字符串操作。但是,如果您创建用于从数据库等中检索数据的通用方法,则在JavaScript中将业务逻辑创建为Lizzie代码,并将此代码传输到服务器以进行评估,实际上是轻而易举的。这反过来创建了一个更加动态的服务器端API,允许您(一段时间后)从JavaScript中执行任何操作,而无需使用(任何)服务器端语言编写代码。至少理论是这样的。要了解我在说什么,请查看以下代码。

从客户端JavaScript进行全栈开发「No Node.js」

上述C#Web API代码的优点在于端点接受CODE作为输入。这允许您创建单个HTTP REST端点,通过POST请求接受代码,该代码将(安全地)评估您的代码,将JSON返回给客户端。

这再次有效地允许您(至少在理论上)在客户端JavaScript中创建整个应用程序,连接到“通用”后端,将服务器简化为简单的“Lizzie评估器”, 从而可以创建可论证的整个Web Angular,React等中的应用程序。下面是我使用此模式创建的一个简单示例应用程序的屏幕截图,它允许我在浏览器中将代码键入到CodeMirror实例中,将我的代码发送到我的服务器,评估代码并显示另一个CodeMirror实例中的评估结果。

从客户端JavaScript进行全栈开发「No Node.js」


分享到:


相關文章: