当前的Tcl/Tk starpack和正确的用例?

当前的Tcl/Tk starpack和正确的用例?,tcl,tk,Tcl,Tk,在SQLite网站上首先阅读了关于Tcl/Tk的内容之后,我打算尝试在Tcl/Tk中构建(移动)一个桌面应用程序。我在openlibrary.org上阅读了一些旧书,并购买了其中一本的新印刷品。这似乎是一个不错的文本,但对于某个用于构建星包的实用程序来说,对网站的每一次引用似乎都过时了 我找不到工具箱。一个声明可以在线构建的站点失败。我遇到了Freewrap,它最新发布于2020年9月,但仍然落后于最新版本的Tcl/Tk。我不明白ActiveTcl在它的网站上是什么 这是可以从源代码编译的东西,

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

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

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

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

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

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

我意识到这有点含糊不清,但这是Tcl/Tk的一个好用例吗?它能被制成starpack吗?如果能,目前的实用程序或制造方法在哪里

多谢各位



我发现这很有帮助。2017年还有一本书。

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

由于整个starkit/tclkit系统都基于Tcl的虚拟文件系统支持,因此您可以在*工具包中放入几乎任何您想要的内容,包括扩展DLL。关于唯一一件不是好主意的事情是数据库(比如SQLite DB文件);虽然你可以在里面放一份拷贝,但你需要提取它以供使用。我之所以提到这一点,是因为听起来包含数据库非常适合您的应用程序

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



TCL8.7将包括一种用于做类似事情的打包技术,尽管它基于不同的文件格式。不过,这仍然是alpha版本。

我对starpack不太熟悉,但如果我没有弄错的话,Freewrap有一个选项,可以让您选择自己的tcl可执行文件来使用Freewrap进行包装。Sourceforge也提供了Freewrap源代码。它不像访问git回购协议那样方便,但如果你想自己编译它,它就存在于一个zip文件中:几年前,我也在研究如何生成exe,我想我在google小组讨论中发现了如何做到这一点。现在,我可以使用文件
sdx.kit
(旧版本仍然可以正常工作)和tclkit文件(我刚刚从最新的Tcl测试并可以从中获得一个工具包)。否则,我真的不能说这是否是Tcl/Tk的一个好例子。@slebetman@Jerry感谢您的回答。因为我使用的是Windows,所以我使用了文章中提到的
magicsplat
,作者的书还提供了一些有关
sdx.kit
tclkit
的信息,这些信息来自
rkeene.org
。感谢您指出Freewrap和Kitgen链接。谢谢。如果我理解正确,这对更新来说并不比我一直使用的设置更糟糕;它让用户从web浏览器中解放出来,也让我从需要JSON多步骤通信的web扩展API中解放出来。将资源与应用程序分开可能更有意义,因为每次添加新资源时,更新不需要重新加载所有资源。在使用HTML和CSS之后,定制Tk样式听起来不再困难。现在我觉得更舒服的是,花时间学习Tcl/Tk是值得的,最终可以发布一个有用的产品。