On 3/3/13 2:24 PM, Michael O'Donnell wrote:
This may or may not be difficult, based on the kinds
of metaphors Apple uses.

It took Daniel Steffen, the previous maintainer of Tk on the Mac, nine months of full-time work (sponsored by Apple) to port Tk from its old Carbon base to its current Cocoa one.

Porting Tk to run on iOS would be a bigger job. First, there is not a one-to-one mapping between the traditional Cocoa API's and their iOS equivalents; there are differences. So there would be a lot of actual porting work to be done, new code written, by someone who had in-depth knowledge of Tk's internal API, its Cocoa API, and iOS's UI frameworks as well.

The second challenge is that there is no viable port of Tcl running on iOS that I'm aware of. Even if that port is somewhat simpler, it would still require time. Tk is not viable without a Tcl interpreter to undergird it. (Deep down, much of Tkinter simply involves calls to the Tcl interpreter from Python.)

The third challenge is who would do it. Daniel Steffen was the maintainer of Tk for nearly a decade, and had written a huge amount of the previous Carbon implementation, and so was well-qualified to take it on; Apple contracted with him to do the port on that basis. Daniel is now an Apple employee and would not be able to undertake such a project. As the current maintainer of Tk on the Mac, some might suggest that I take on the project, but I lack Daniel Steffen's expertise and would not have the time to pursue it. I do a lot of bug fixing and reviewing of patches--general maintainer stuff--but rewriting large swaths of Tk's Mac implementation from scratch is outside my brief.

So: yes, it would be difficult. It would be extremely difficult. I wouldn't hold my breath.

--Kevin

--
Kevin Walzer
Code by Kevin/Mobile Code by Kevin
http://www.codebykevin.com
http://www.wtmobilesoftware.com
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
http://mail.python.org/mailman/listinfo/tkinter-discuss

Reply via email to