|
I've not deployed an application using wxWidgets[^], however I have "toyed" with the framework and was rather impressed by how quickly I could hack out a basic application and port it from Windows to Linux. Actually took me longer to get the framework compiled than it did for me to figure out how to write an application using it, build the app and then port and build the app again (not sure that means squat, but I thought I'd mention it).
If I were doing any form of cross platform development, this would be an excellent framework to choose (great community support from what I've seen as well); plus it is Free unlike Qt ...
... and with a 2mb footprint for the entire cross platform framework, kind of makes you wonder why the .NET framework exceeds 25mb ...
One other point - with Apple's recent announcement[^] , the wxWidgets team is already addressing port issues and discussing what this means to it's developers ...
FYI - Forte Agent[^] was recently ported to wxWidgets; if you're wondering what applications are "in the field" that use this framework; others are listed on the wxWidgets website (see link above).
My two cents on this one ...
D.
|
|
|
|
|
Douglas Troy wrote:
... and with a 2mb footprint for the entire cross platform framework, kind of makes you wonder why the .NET framework exceeds 25mb ...
Let's see here:
- The .NET framework: A web and client applications platform. It provides threading, application deployment, XML document object model, app configuration, low-level OS synchronization mechanisms, image loading & manipulation, a complete graphics library atop GDI/GDI+, collections library, database connectors, a set diagnostic services, a globalization API, a file I/O & isolated file I/O storage framework complete with asynchronous IO and streaming, a sockets library and a higher-level library built on top of sockets, a complete security framework and API, complete with stack walking, assembly verification, and strong naming of assemblies, a regular expressions library, a web library for working with online data, web responses/request, and a complete web UI framework, to name a few, in addition to a complete client UI framework atop Win32. All of this is language neutral. In the form of the Mono Project, most of this is platform neutral.
- The wxWidgets package is a UI framework.
Any questions?
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
wxWidgets has most of the stuff that you listed as features of .NET. More importantly the official version of .NET only runs on Windows. Can Mono do everything that the official .NET can do? Does it have official support from Microsoft?
Undoubtly you can find stuff that .NET can do that wxWidgets can't, but the reverse is also true. For instance, I don't think .NET has an editable grid component with embedded controls.
Does .NET come with source code? This is avaible in wxWidgets allowing you to debug and cutostomise controls easier.
|
|
|
|
|
I'm not trying to do a .NET vs wxWidgets comparison, I'm saying that you're comparing apples & oranges.
You said, "oh look wxWidget's nice 2mB runtime! How ugly is .NET's 25mB runtime!"
I replied, ".NET is a platform, wxWidgets is a UI framework".
It is apparent you haven't coded much (or at all) with the framework; you make assumptions that simply aren't true (no editable grid component, no source code, etc.).
So to clarify in case any wxWidget zealots are around, I have no idea if your UI toolkit is better than .NET's UI toolkit. All I'm saying is comparing the .NET framework and wxWidgets is like comparing a castle and a lamp: you might find a lamp in a castle, but there's a whole lot more to a castle than its lighting fixtures.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
I am not a wxWidgets zealot, by any means, but I felt I had to dismiss some of your claims, like .NET being platform independant.
But I would be interested in seeing the .NET Grid with embeddable components, if you have a link.
|
|
|
|
|
Good. Nor did I accuse you of being a zealot, I just clarified in case any were reading. Also, I said with the Mono Project (or DotGNU, Portable.NET), you can write platform independent code. I'm not gonna get into this too deeply for fear of starting another online argument, which is retarded.
As far as your grid component goes, does the DataGridView suit your fancy? I guess it depends on what you mean by "embeddable components" -- you can use existing components or write your own cell type components that plug right into the grid. Is that what you mean? Or does wxWidgets have a superior grid?
If I can say one thing good about the DataGridView, I will say that it is the most customizable component I've ever seen coming from Microsoft. I almost crapped my pants looking at all the configurable properties on that thing.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
DataGridView does look nice, although it seems that you have to wait for next version of visual studio before it's available.
Sorry, I can't agree about Mono. Maybe you can have partial compatibility with .NET, but without Microsofts blessing there's going to be problems. It seems to be a similiar scenario to Wine, the port of the Windows API to Linux. After years of development there are only a handful of apps that work 100% on Wine.
|
|
|
|
|
Judah Himango wrote:
Also, I said with the Mono Project (or DotGNU, Portable.NET), you can write platform independent code. I'm not gonna get into this too deeply for fear of starting another online argument, which is retarded.
I said it, and I meant it!
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Conversation With a Muslim
Judah Himango
|
|
|
|
|
A big problem with Mono is that at this point in time it does not fully support the "System.Windows" namespace - which includes DataGridView. But it is likely (I haven't verified) that code that compiles with Mono will compile with Visual Studio.NET. However, the reverse is currently not generally true. So there can be some sort of platform independence -- but not in the way most of us probably prefer (that is using Windows Forms).
|
|
|
|
|
No it's not, IMHO. It's not just making the same GUI work on different platforms. And even if you've resolving incomplete multi-platform support and variances in technology level, you still have to then support your product on multiple platforms. Testing, tech support, installation programs, etc.
The irony is, it was a lot easier when multiple platforms meant multiple teams (and not just programming teams), perhaps with a common set of low-level code. Nowadays, because of the teaser of cross-platform compatibility, it looks easier, but it can actually be harder.
Marc
My website
Latest Articles:
Undo/Redo Buffer
Memento Design Pattern
|
|
|
|
|
You are right. It's not the tools that make cross platform development any easier or harder. Rather it's the conventions/standards that develop over time that allow cross platform development to happen. The tools are just a market reponse.
Chris Meech
I am Canadian. [heard in a local bar]
Remember that in Texas, Gun Control is hitting what you aim at. [Richard Stringer]
Nice sig! [Tim Deveaux on Matt Newman's sig with a quote from me]
|
|
|
|
|
I would tend to agree that you should have multiple teams for multiple platform support. I would also agree that the low level engine code could be shared and even OS calls encapsulated.
GUI components most likely should not be shared and implemented per-platform. This way the application can look, feel and behave just as any other application on that platform. This would be opposed to having an application running on Unix that looks and feels like Windows or vice versa. The users of the platform are used to a particular set of key combinations, GUI menu layout, etc. to make it easier to work with applications. The goal is to make it easier to learn to use your application and in doing so it should follow the standard example of applications written for the platform.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
You don't feel that over the years Java has meant writing code for Windows and Unix is easier? Or that the .NET compact framework makes writing .NET on PPCs and Desktops easier? Or even that better compliance from Microsoft's C++ compiler means that cross-platform C++ is less painful? Or that the mono project isn't a Cool Thing? Also check out Mainsoft's Grasshopper[^].
I remember trying to write cross platform C++ and FORTRAN, and moving from X to MFC to Solaris's GUI kit (what was it's name?).
Personally I think things are way better than they were.
cheers,
Chris Maunder
|
|
|
|
|
one code base written in C under UNIX
a separate code base written in C++ under Windows
now and then you get to copy an algorithm between the two, but thats about it. the original UNIX code wasn't quite written with cross platform libraries
zen is the art of being at one with the two'ness
|
|
|
|
|