【问题标题】:Current Tcl/Tk starpack and proper use case?当前的 Tcl/Tk starpack 和正确的用例?
【发布时间】:2021-03-21 01:21:13
【问题描述】:

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

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

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

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

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

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

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

谢谢。


遇到了这个article,这很有帮助。还有一本书是 2017 年的。

【问题讨论】:

  • 我不熟悉starpack,但如果我没记错的话,Freewrap 有一个选项可以让你选择自己的 tcl 可执行文件来包装
  • Freewrap 源代码也可从 Sourceforge 获得。它不如访问 git repo 方便,但如果你想自己编译它,它就在一个 zip 文件中:sourceforge.net/projects/freewrap
  • 几年前我也在研究如何制作一个 exe,我想我在 google 小组讨论中发现了如何做到这一点。现在,我可以使用文件sdx.kit(旧版本仍然可以正常工作)和一个tclkit 文件(我刚刚从this article 测试了Kitgen,并且可以从最新的Tcl 获得一个工具包)。否则,我真的不能说这是否是 Tcl/Tk 的好案例。
  • @slebetman @Jerry 感谢您的回复。因为我使用的是 Windows,所以我使用了文章中提到的magicsplat,作者的书中还提供了一些关于来自rkeene.orgsdx.kittclkit 的信息。感谢您指出 Freewrap 和 Kitgen 链接。

标签: tcl tk


【解决方案1】:

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

由于整个 starkit/tclkit 系统基于 Tcl 的虚拟化文件系统支持,您可以将几乎任何您想要的内容放入 *kit,包括扩展 DLL。放入数据库的好主意(例如 SQLite DB 文件);虽然您可以将副本放入其中,但您需要将其提取出来以供使用。我之所以提到这一点,是因为听起来包含数据库非常适合您的应用程序。

对于更新,最简单的方法是让用户下载应用程序的新副本。由于您可以将其制作成一个预先打包的文件,因此他们很容易处理更新。 (您可以进行自动更新,但您必须跟踪保存更新的文件;并非所有平台都允许更新正在运行的可执行文件。)


Tcl 8.7 将包含用于执行类似操作的打包技术,但基于不同的文件格式。不过,这一切仍然是 Alpha 版。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多