开发一个PackagedApp(html5 + js)并与嵌入式/轻量级Web服务器一起发布是否有意义?
这背后的主要思想是用某种"普通"语言编写一次后端/逻辑,然后随 PackagedApp 一起发布,并使用 HTML5 + JS 进行他们擅长的 => GUI。
现在,我想要一个应用程序,它是一个本机应用程序,可能具有某种本地存储(+某种ORM,或嵌入式noSQL数据库),但后来我会将其移动到远程服务器。托管整个页面,添加并打开用户可以登录的模块,挂钩身份验证机制并钩住不同的数据库(不再嵌入)。
编写这样的应用程序有意义吗? 或者以这种方式这样做是愚蠢的,选择一种编程语言,在该语言中搜索 GUI 库(最好是跨平台)并编写本机应用程序会容易得多,当然使用一些好的模式来分离逻辑和 GUI,然后编写一个 Web 应用程序?
我正在考虑这个问题,因为我讨厌学习原生 GUI 库。每个人都是不同的,代码总是丑陋且难以维护。我在 Swing/QT/WPF 中为多个不同的平台编写了一些代码,尽管我是一名后端开发人员,我不应该接触 GUI,但我有时想写一些基本的代码,然后雇用某人做得更好,但不会让他的工作或后来与他的 GUI 集成成为一种痛苦。
对我来说,HTML+js更干净,更受欢迎。在其中编写任何东西或雇用某人设计一些花哨的 GUI 很容易,因为我更喜欢后端开发,所以对我来说编写一些 REST 服务器并挂上它似乎是很自然的。但我想知道是否有人以这种方式这样做,这在各个方面都不是一场彻底的灾难。
我想性能会受到一点影响。还有其他缺点吗?
如果我理解你的总体目标,那就是使用 JavaScript + HTML + CSS 作为编写便携式桌面应用程序的一种方式,同时仍然用你所谓的"普通"语言编写大部分代码,我假设你的意思是 Python、PHP 等。
这种方法对我来说似乎太复杂了。客户端和服务器(都在桌面上)之间的交互将是复杂的,当服务器是远程的时,这是值得的,但当它们实际上是同一个应用程序时,这是矫枉过正的。另一个缺点,如果其他人必须维护代码,尤其重要,是涉及的语言和技术太多。
也许更好的方法是使用像wxWidgets这样的工具包。