|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.ide digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript electronics |
digitalmars.D.dwt - TODO?
I have some ample spare time coming in the next few weeks to start, then hobby time from there on, and before I dug into the port, I'm curious on a few things. I take it ticketing isn't being used as of yet [1]. Which considering the depth of the project I'm assuming it's hack till it works for now. No dramas. However, What has and hasn't been done? What is everyone heading into? The blessing of a decentralized SCM is that everyone can do what they want with ease. The curse is that without solid communication there seems like there could be quite a bit of possible toe stepping going on. So as an outsider wanting in, what has and hasn't been worked on thus far? Meaning, if you could write 5 things that you know *has* to be done, what would they be? And what is everyone working on, I'd love to help, but I really don't want to duplicate effort. I caught the bundles mention in the wiki, we're sending them to where? If you have particulars in the port that you need done but in the middle of something else, feel free to throw them up, these are things that I'm interested in doing. - I would like to start going behind the work involved and start seeing what needs to be done to start pulling in SWT's 3.4 changes. SWT having a 12-18 month release schedule means that it'll be stable for quite some time. Also, traditionally there isn't any changes between milestones in regards to the api itself, just feature adding and implementation/bug fixing. So I don't think it'll be all that fluid. It should also keep dwt up to speed. So there isn't always a situation where features are being chased. By time DWT is up to snuff and considered something of a 1.0 will be about the time 3.4 will be out of milestone phase and be considered final. This has the added benefit that it means there is another 12-18 months to have to worry about catching up all over again. - Performance/API/Testing/Documentation There's something to be said about SWT's API. While crufty compared to what it could be, it allows inherited documentation and examples. However, the actual underlying implementation could use some solid clean up to get the java'isms out. (Dynamic arrays, default argument values, etc could be used quite a bit. Structs could be used quite liberally where "class is all we have in java land" etiquette is used). But I would like to clean up/discuss underlying changes once we're aware that the ported code works. Obviously this is a down the road thing. That being said, I think it would be a solid idea to do some unit testing on things that can be blackboxed into tests. Obviously with the massive scale that is SWT unit testing across the board would be a massive and frankly hard task at hand. But anything that can be blackboxed (ie, not have functionality spread across 16 classes) and gets some performance/d'ism treatment should get some unit tests. Following Tango's approach to unit testing seems sound. I don't think that changing the api would be wise on it's own, but it may be worthwhile to create a d wrapper that overlaps dwt to clean up the implementation would be worthwhile. - Nebula ports I don't know the opinion on the nebula project from a dwt point of view, but I would like to start working on porting it over. I'm assuming it's going to be a dwt-addon. - Is an OSGI port being considered? It's not directly related, but is needed for JFace IIRC. I don't have any idea how hard it would be to do in D with it's limited reflective abilities, but I do know of an objective-c implementation. So I'm assuming it's possible. [1] http://www.dsource.org/projects/dwt/report/1 Ok, it's getting late. Just wanted to get a feel of what needed to be done, and what people were working on so I can get involved without tripping. -Robby Mar 03 2008
Hi Robby, nice to see you again. I wanted to contact you on your last questions about SWT, but it seems my mail went to spam? At the moment I think doing duplicated effort is not really the problem :) But to be sure, you can make a ticket in the related *sub*-projects and say in the text that you want to do this task. Perhaps you can inform or talk with me per mail or in IRC #dwt. Tasks that come to my mind: dwt-win: dwt.widgets.DirectoryDialog dwt.program.Program dwt-linux: dwt.widgets.DateTime dwt.program.Program dwt-samples: PaintExample LayoutExample (Custom)ControlExample Set/Get Api If you have something to contribute, please see http://www.dsource.org/projects/dwt/wiki/Contribution SWT 3.4 is no issue at the moment. First we want to have DWT 3.3 running with all widgets stable and with the installation problems solved and more examples. We do /not/ want to get the java'ism out. Instead we explicitely want to stay as near as possible at the java implementation. The reason is, that later merges are far easier done. Certainly in some cases this is not possible and in other cases we want additionally methods, that is OK. Unittests: Unittest are available in the SWT project. So this can be a good starting point. Nebula: Porting nebula could be done in the dwt-addons project. Is the license of nebula ok with doing this? OSGi: OSGi is used for plugins in Java and relies on its own class loaders. Perhaps it can be omitted when using a fixed composition of components at compile time. Frank Mar 03 2008
Comments inline Frank Frank Benoit wrote:Hi Robby, nice to see you again. I wanted to contact you on your last questions about SWT, but it seems my mail went to spam? Mar 03 2008
instead of tango svn you can now use the new tango release 0.99.5. Mar 03 2008
Frank Benoit schrieb:instead of tango svn you can now use the new tango release 0.99.5. Mar 03 2008
Robby wrote:At the end of the day, that list was meant to come across as things I'd like to work on short to long term. Not necessarily griping about the state of things, or trying to swing direction. I just think that there could be some size wins off the top, and with d's gc the way it is, there's some considerable memory footprint wins that could be in the pipeline. But I'll try to show those wins with code, rather than keep spilling about it here and go from there perhaps. Now back to getting it to build... -Robby Mar 03 2008
|