在我同事的计算机上安装Perl 6,根据你提供的细节,我认为这可能会让情况变得更糟,而不是更好。对于使用JS等语言制作程序的变种,使得同事可以在浏览器窗口中输入参数并获得结果,这是一个自然的选择。请注意,如果同事能够通过内部网络看到您的计算机,则仍然可以进行JS / Web解决方案,但不要公开在线。另一种选择是接受结构化电子邮件。至于使用Perl 6的问题,除了JS外,在Web解决方案中使用其他语言的代码最常见的方法是在“前端”仍然使用HTML等内容(通常包括JS),然后将运行在服务器上的代码调用为“后端”。 (另一种方法是将其转换为JS。理论上,您可以通过
实验性nqp后端将Perl 6转换为JS。我认为这是一个令人兴奋的发展,但我怀疑它在短期内会很慢且有限。)
在这一部分中,最后一个要点是,如果你最终选择将Perl 6翻译为JS解决方案,因为你不想学习或处理混合服务器的问题,那么你将使用Perl 6作为原型语言。这可能是一种合法的语言使用方式,但本答案的其余部分假定你会引入一个服务器。
介绍和管理服务器
服务器是一台计算机或软件,由于来自“客户端”(通常是其他计算机)的请求而可靠地保持可用并按需运行软件。
听起来很简单,在某些方面确实如此,但在其他方面则不然。如果有人关闭电源怎么办?或者没有支付互联网账单怎么办?或者软件泄漏内存导致系统定期崩溃怎么办?或者黑客攻击并进入怎么办?
除非那些使用服务的人已经可以通过本地网络看到服务器计算机,通常甚至都不是这样,现代方法介绍服务器到解决方案中的方法是购买在线服务器包(通常基于虚拟化)。 (考虑每月几美元及以上。)假设有一个不错的服务提供商,这有效地保证它将成为一个良好运行的服务器,通常保持开机状态,工作,连接和提供服务,除非被黑客攻击或其他原因破坏,并且如果发生后者,你将及时得到通知。 “零成本”替代方案是让你的台式机也成为服务器。这意味着你需要负责保持你的台式机处于运行状态并保持连接。
一种现代化的管理服务器的方法是使用
Docker或类似技术。这有效地保证了如果服务器被黑客攻击或出现其他问题,您可以几乎立即解决问题。它还使得在本地拥有一个服务器变得容易,您可以在上面开发和测试,并且可以保证与部署到生产服务器上的服务器完全相同。最重要的是,安装Docker在您的桌面上或在购买的服务器上使用,并放入已经准备好的docker文件意味着您只需点击几个按钮就可以从没有使用服务器到拥有可工作的服务器。
市场上有许多提供操作系统虚拟化和docker或类似技术的组合的服务,您只需为服务器实际运行时间付费,而不必为其24/7在线支付费用。有很多细节需要注意,例如有些服务不支持Perl 6。据我所知,
Amazon AWS和
Google Cloud都支持按使用时间付费,并允许使用任何编程语言。
构建Web应用程序
本答案的最后几个部分将介绍如何在部署服务器之后使用Perl 6,从最简单的开始。如果您想直接跳转到我推荐的Web路线解决方案,请跳转到最后一节Cro。
电子邮件客户端自动回复器
特别是如果您不想花钱购买单独的服务器,为了简化事情,您可以让同事向发送到您桌面上运行的电子邮件客户端的电子邮件地址发送结构化电子邮件,该电子邮件客户端在运行Perl 6程序并在结果出现时通过电子邮件回复他们。如果您对此解决方案感兴趣,请发布另一个 SO 询问。
其余部分假定使用Web解决方案。
CGI和手写代码
从网页调用在服务器上运行的代码很容易。
您只需编写一个适当的链接,指向动态程序而不是静态html页面。
如果要收集参数,则只需编写表单和适当的提交按钮,并以这种方式执行。
如果您已经编写了一个带有表单的现有网页,那么如果您阅读了一篇适当的文章,例如使用CGI脚本生成网页的方法,您可以在几分钟内学习如何传递参数、调用Perl 6代码并显示结果。
模块和Bailador
在我看来,使用手写CGI等低级别的东西是不值得的。这样做存在危险,并且有一些模块使创建和维护变得更加容易和安全。
这些将出现在modules.perl6.org下的{"web"}中。
Bailador是一种明显的选择,可提供基本解决方案,并具有“路由”(将URL映射到代码)和模板的良好功能。
Cro和SPA
如果您对使用最自然的方法构建现代网站感兴趣,我建议使用Cro。 Cro使得使用SPA方法构建简单的Web解决方案变得轻而易举。但它是设计用Perl 6内置的功能来扩展到最复杂的网站,包括任何混合异步,并发,并行或分布式处理以及任何中间件。
Cro SPA可能对于您在OP中建议的非常琐碎的应用程序而言过于复杂,但它仍然非常简单,并且选择它有无数的优点,对于您的应用程序来说没有明显的缺点。 (即使它作为beta产品的官方状态对于您的情况来说也很好。它已经是一个非常坚实的产品,开发人员迅速响应任何问题,并且对于这些开发人员以及Perl 6来说,它的清洁,快速,生产值得和维护良好的重要性。)
启动整个设置的最快方法,以便您可以开始使用Cro进行测试,可能是在服务器上(或者如果您将其用作服务器,则在桌面上)安装Docker,然后安装croservices/cro-http Docker容器。
学习如何使用Cro传递单个Web页面的最快方法是遵循使用Cro构建单页应用程序教程。