4 ms·
Tk is the reason I first used Tcl. Back in the 90's Tk was certainly the easiest, quickest way to create a GUI app, and probably it still is. I mentioned my o
by jrapdx3 12y ago
Tk is the reason I first used Tcl. Back in the 90's Tk was certainly the easiest, quickest way to create a GUI app, and probably it still is.
I mentioned my old Tcl/DB program--the server side. I didn't go into details of the tiered design or the client. The users interacted with a GUI app on the client hosts networked to the middle tier on the server relaying the response back to the client. And of course all of these components were Tcl or TclTk apps.
It took a lot more than 20 min to get all of it working, but the effort turns out to have been worth investing.
I agree with your comments about the web, and I've often thought similarly about Tk vs. html. Then again, rather different circumstances but the idea is still appealing.
There are quite a few Tcl web servers out there. I've written several web servers though not in Tcl. It might be redundant but lately I have been fiddling with ideas to create yet another web server in Tcl.
What I have in mind is different, using a very functional programming style. Tcl has become been blessed with more and more Scheme-like features, which is a good thing since I've used Scheme quite a bit. A lot of the functional style of Scheme can be translated to Tcl.
A related idea bubbling in my head is creating a TclTk program which can be used to design a GUI front-end to the Tcl web server. This client would also be able to output a Tcl function that works with the web server to generate HTML that would be sent to a browser. IOW the Tk client GUI could be "recyled" to produce a similarly functioning web client.
I realize that might not make a whole lot of sense when so briefly described. Naturally, even using Tk to do something complicated isn't as easy as we might imagine. If I can get my stuff together it would be a great idea to organize an open-source project to implement this kind of Tk/web interchangeable front-end.