Gabor Grothendieck wrote: > The preferred solutions in the post all seem to involve another language: > > - tcl to use tk > - Python to use wxWidgets > > and other solutions mentioned also seem to involve other languages: > > - Visual Basic > - Java (Swing?) > > Is there some key missing feature in R with regards to GUIs > that requires interposing another language?
Yes, there is: R is designed for CLI, and this implies a different approach as for a GUI (sequential execution of commands versus event-driven application). A language more suitable for event-driven way of programming is thus often interposed between R and the GUI itself. Have you notice that none of "external" GUIs for R do all the job in R itself. Perhaps, the closest one from a 100% R coded GUI is R Commander, but it takes benefit from the specific event loop of tcltk (otherwise, the whole GUI would be completelly frozen during all R computations), and partly of Tcl (even if it is indirect). JGR is Java, SciViews-R is Visual Basic, Tinn-R is Delphi, RKward is C++, etc... Of course, it is possible to implement extensions in C directly within R (that is what RGui does), another altenative, not favoured by "external" GUI developpers, it seems. best, PhG > On 10/15/05, Philippe Grosjean <[EMAIL PROTECTED]> wrote: > >>Hello, >> >>Following a discussion initiated on r-devel, that mentions SciViews-R >>and other GUIs issues for R, I would like to make comments (and would be >>happy if these comments would initiate interesting initiatives). >> >>A big, big problem with SciViews-R is that a part of it is written in >>Visual Basic 6, a M$$$$ language, not supported any more, buggy, non >>transposable to other platforms, etc, etc. Last year, I started to >>rewrite SciViews-R, using much more native R code, which will ultimately >>give what I call a "R GUI API", currently partly implemented in the >>SciViews bundle available on CRAN. That "R GUI API" is a lot of work: >>thousands of lines of code for the full API, and as I said, only a part >>of it is currently implemented. That API is developed with reusability >>in mind: platform-independent, better basis to rewrite SciViews-R in a >>different language, and freely available for use by other GUIs. However, >>nobody seems to be interested by this API (may be because it is not >>documented enough?). Even simple functions like progress() in the svMisc >>package are ignored, although they could be useful to some people. Well, >>I regret this situation, but I don't care much more than that: after >>all, the main goal is to make it the basis of the future >>platform-independent implementation of SciViews-R. >> >>Now, regarding the rewritting of SciViews-R itself in a >>platform-independent environment (i.e., language + graphical widget), >>this is not undertaken currently for the reason I am not satisfied >>enough with all curerently existing solutions for various reasons. I >>give just a few explanations here: >> >>1) R + Tcl + Tk. The tcltk R package is widely available and largely >>debugged. However, there are still problems to make a 100% Tcl console >>for R (look at Peter Dalgaard's attempt in the package, not complete, >>not 100% operational, currently). Another problem: the Tk widgets are a >>little bit old-fashion, and I miss a lot of features provided by more >>advanded graphical widgets like wxWidgets, for instance. However, it >>seems to be the best bet, currently. So, I explore various kinds of >>additions that could make Tcl + Tk a better and more modern GUI >>implementation. Look at http://www.sciviews.org/SciViews-R... the >>"tcltk2" package. In that package, I add "Tile", a series of themable >>and more modern widgets, the famous "tkTable", a tooltip widget, a text >>widget with synthax colouring, a tree widget, etc. + some Windows >>specific stuff that help regarding problems like focusing on a Tk >>window, and communicating with other apps. However, I face the problem >>of installing all these additional widgets seemlessly under all >>paltforms supported by R. For the pure Tcl widgets, no problems. But for >>widgets with compiled code, like Tile or tkTable, this is much more >>difficult... And since I mainly work on Windows... >> >>2) wxWidgets. This is a really great, very capable and >>platform-independent solution. I like very much James Wettenhal attemps >>of using wxPython (wxWidgets + Python) through RSPython and the >>experimental wxPython R package. However, it is still alpha, there are >>problems to finalize it, and his author is not continuing its >>development for reasons that are personal to him. So, I am not sure we >>will have a usable version available soon to integrate wxWidgets with R >>and use it for a R GUI. >> >>3) JAVA. There is a good R GUI written in JAVA: JGR. Moreover, something >>like the Eclipse platform is a very promizing environment for a >>rich-featured R IDE. JAVA specialists in my University say such a GUI, >>written in JAVA will be relatively slow compared to other solutions. >>However, JGR is a good actual counter-example. >> >>4) GTK2. Great widgets... but forgets Windows. I installed and used Gimp >>under Windows. This is certainly the best demonstration on what can be >>done with GTK2 under Windows. I must admit I am very disappointed as a >>Windows user: look&feel is very different, and irritating in several >>aspects. >> >>So, a long mail to conclude that, if I still haven't started to >>implement the platform-independent version of SciViews-R, it is because >>I am not convinced that any of the currently available R + rich-featured >>and platform-independent widgets solutions available is the one that >>will make it possible to reimplement SciViews-R in a streamless and >>relatively bug-free manner. To summarize, the currently best candidate >>is R + tcltk + tcltk2. I am convinced that R + Python + wxWidgets is by >>far a much better solution, but it is still in alpha development. >>Eclipse + JGR looks promising, and GTK2 is there too, but not enough >>integrated under Windows for me to start using such a solution, as a >>Windows user. >> >>I don't have much time to dedicate to SciViews-R and to the Sciviews R >>GUI API for the moment, and I will certainly focus on four hot topics: >>(1) developing the actual SciViews-R as a better teaching aid (I use and >>need it for my own courses!), (2) contributing to the development of >>Tinn-R, (3) further integrating R Commander with SciViews-R, and (4) >>integrating Rpad with SciViews-R. However, I will have various contracts >>in 2006-2007 where the development of SciViews-R is a part of the job. >>So, I will have the opportunity to hire one or two developers, and this >>will hopefully speed up SciViews-R development in a directly that will >>satisfy more users. >> >>Otherwise, I am open to any suggestion, and more importantly, to any >>idea of collaboration with other R GUI developers, as it is currently >>the case with John Fox (R Commander integration with SciViews-R), >>Jose-Claudio Faria (Tinn-R developement and Tinn-R compatibility with >>SciViews-R), and Tom Short (Rpad developments and compatibility with >>SciViews-R). I think it is important to insist on this, in a world >>populated with a myriad of slowly developed, half finished, half >>featured R GUIs, made by people that look too individualist in my view >>to be able of working all together and to write a single R GUI that has >>any chance to be full-featured, well-documented, reasonnably bug-free, >>truly platform-independent, in a near future. >> >>Best, >> >>Philippe Grosjean >> >>..............................................<°}))><........ >> ) ) ) ) ) >>( ( ( ( ( Prof. Philippe Grosjean >> ) ) ) ) ) >>( ( ( ( ( Numerical Ecology of Aquatic Systems >> ) ) ) ) ) Mons-Hainaut University, Pentagone (3D08) >>( ( ( ( ( Academie Universitaire Wallonie-Bruxelles >> ) ) ) ) ) 8, av du Champ de Mars, 7000 Mons, Belgium >>( ( ( ( ( >> ) ) ) ) ) phone: + 32.65.37.34.97, fax: + 32.65.37.30.54 >>( ( ( ( ( email: [EMAIL PROTECTED] >> ) ) ) ) ) >>( ( ( ( ( web: http://www.umh.ac.be/~econum >> ) ) ) ) ) http://www.sciviews.org >>( ( ( ( ( >>.............................................................. >> >>______________________________________________ >>R-devel@r-project.org mailing list >>https://stat.ethz.ch/mailman/listinfo/r-devel >> > > > _______________________________________________ > R-SIG-GUI mailing list > R-SIG-GUI@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/r-sig-gui > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel