0

在第一次阅读 SQLite 网站上的相关内容后,我打算尝试在 Tcl/Tk 中构建(移动)一个桌面应用程序。我在 openlibrary.org 上阅读了一些旧书,并购买了其中一本的新印刷版。它似乎是一个体面的文本,但对于某些实用程序构建 Starpack 的网站的每次引用似乎都已过时。

我找不到tclkit。一个声明您可以在线构建一个的站点失败了。我遇到了 Freewrap,它是 2020 年 9 月的最新版本,但仍落后于最新版本的 Tcl/Tk。我不明白 ActiveTcl 从它的网站是什么。

这是可以从源代码编译的东西,还是只能从这些实用程序之一获得?

我不是想批评它,而是想确保我能够在项目结束时构建一个可执行文件,并且我从正确的设置开始。

也许我误解了什么。我一直在使用通过 SQLite 合并和 Web 扩展的本机消息 API 编译的 C 语言来使用浏览器作为 UI。它工作得很好;然而,在阅读了 Tcl/Tk 之后,似乎所有相同的事情都可以更有效地完成,并且无需浏览器,并且在需要时仍然可以通过 Tcl 连接到服务器。我非常喜欢那个。

最终,我想构建一个类似于具有预建表格的高度可搜索库的东西,类似于圣经索引的结构,以便可以快速执行跨文本搜索并进行比较,并链接到其他资源。当我有可用的新资源时,我希望能够从服务器轻松地为用户添加必要的组件,以便这些资源成为可搜索内容的一部分。

我意识到这有点含糊,但这是 Tcl/Tk 的一个很好的用例吗,它可以被制成一个星包,如果是这样,在哪里可以找到当前的实用程序或制作方法?

谢谢你。


看到这篇很有帮助的文章。还有一本书最近是 2017 年。

4

1 回答 1

1

Starkit 是一种存档格式(基于 Metakit 单文件数据库格式),已用于分发 Tcl 应用程序和扩展;这些可以是特定于平台的,也可以是跨平台的,具体取决于您放入的内容。Tclkit(或来自Kitgen的更现代的版本)是一个单文件 Tcl 发行版,可以读取和执行 starkit;它自然是特定于平台的。Starpack 是 tclkit 基本运行时和 Starkit 打包应用程序的组合。

As the whole starkit/tclkit system is based on Tcl's virtualised filesystem support, you can put pretty much anything you want inside a *kit, including extension DLLs. About the only thing that it's not a great idea to put in is a database (such as an SQLite DB file); while you can put a copy inside, you'll need to extract it for use. I mention this because it sounds like including a database would be highly appropriate for your application.

For update, the simplest method is to just have users download a new copy of the application. Since you can make that into one pre-packaged file, this is very easy for them to handle updates for. (You can do automatic updating, but then you have to keep track of the file holding the updates; not all platforms allow updating a running executable.)


Tcl 8.7 will include a packaging technology for doing similar things, though based on a different file format. That's all still alpha though.

于 2021-03-21T18:03:49.347 回答