DevPinoy.org

A Filipino Developers Community
Welcome to DevPinoy.org Sign in | Join | Help
in Search

cruizer

aspiring to free and open the mind of .NET developers

May 2006 - Posts

  • Windows.Forms on Mono@Linux

    Ok, so yesterday I took a look at MonoDevelop's GUI designer for Gtk# and showed a screenshot of the same Gtk# desktop app running on Windows (Server 2003) and Linux (via VMWare). Today I played around with the Mono 1.1.13 that comes with Ubuntu Dapper Beta and was also pleasantly surprised to realize that it now supports Windows Forms.

    What is Windows Forms? It's the managed framework for creating Windows desktop apps, combining a bit of the flexibility of MFC with the ease of use of VB6's point-n-click GUI designer. The Mono project initially attempted to implement Windows Forms support using the WINE (a Windows emulator) project, but that failed miserably since WINE was a moving target. They retraced their steps over a year ago and vowed to implement it via System.Drawing.

    I think their efforts are now coming to fruition. I tested things by typing in the simple program found in the Windows Forms QuickStart tutorial into MonoDevelop. Yep, I had to type things out as MonoDevelop doesn't have a Windows Forms designer yet. At first the compiled app wouldn't run, complaining of an obscure error that it could not understand my X (Window System) locale. Duh! I typed in this command:
    export LANG=C
    and retried running the app and it worked!

    Now just for fun I also tried creating a simple WinForms app on VS.NET 2005. It made use of partial classes and targeted the .NET 2.0 Framework. I copied it over to Linux and ran it. Lo and behold it still worked! Smile [:)]

    Here's the obligatory screenshot.

    So now we have a mature framework in Gtk# for running cross-platform .NET desktop apps. Windows Forms is next, with the targeted H2 2006 release for Mono 1.2. Let's just hope MS doesn't have or assert patents on Windows Forms.


  • A look at MonoDevelop's GUI designer for Gtk#

    Easy-to-use developer tools have, for the most part, been largely Windows-only. I guess that's not true anymore, what with the latest Eclipse IDE and the up-and-coming MonoDevelop IDE. In case you've been living in another planet for quite some time and you have no idea what MonoDevelop is, MonoDevelop is an IDE that runs in Linux and other UNIX-like operating systems that allows you to develop applications running on the Mono CLR, which is an open source port of the Microsoft .NET Framework. MonoDevelop started life as a port of the open source SharpDevelop IDE for .NET on Windows.

    MonoDevelop 0.10 (and its later versions; currently it's at 0.11) already features an integrated GUI window designer for the Gtk toolkit. Since the Gtk# library for .NET allows cross-platform (Windows and non-Windows) desktop apps to be developed, I think it's a big feature. You can find out more information about the announcement of the GUI designer here and here. A Flash screencast can be viewed here.

    I played around with the MonoDevelop in the latest Ubuntu Dapper beta (flight 7) and was delighted to see it was already working :) Last time I tried it, it just crashed after opening a Gtk# project. I've attached here links to screenshots I took:

    01 - new Gtk# project
    02 - view of IDE
    03 - designer view
    04 - putting in widgets
    05 - running it on Linux
    06 - Linux and Windows side by side

    Some pet peeves:
    1. Even if you change the window's title (by setting its Title property using the Widget Properties pane), it still shows as "MainWindow" in the GUI designer.
    2. The drag-n-dropping of controls into the window/form needs refinement. You can't just drag controls around; you'll have to cut-n-paste them if you want to move them across boxes in the layout. You can't press the Del key either to delete a widget...you need to right-click on the widget and select "Delete" from the context menu. Oh well.
    3. The IDE seemingly hung up when I exited it. It was there for a few minutes then it disappeared. Weird huh?
    4. Running a Gtk# app on Windows first produces an ugly black console window (see screenshot #6). Exiting the Gtk# app automatically removes the black console window. While workable, I don't like it. Stick out tongue [:P]
    Still I think the clincher here was that I was able to compile a desktop app in Linux and run the same compiled binary in Windows. Next time I'm gonna test if the reverse (compile in VS.NET, run in Linux) is just as effective. Cross-platform .NET, here we come!

    Oh I forgot: here's a link to the Gtk# installer for Windows. The SDK will allow you to develop Gtk# apps on Windows while the redistributable will allow your end users to run them.
  • Our Doctor Uses Mozilla Firefox

    We went to The Medical City last Saturday for our newborn's first checkup with her pediatrician. I was pleasantly surprised to see that she and her secretary were using Mozilla Firefox for web browsing and accessing their custom-made web application (presumably for appointments and keeping patient records). And the web application's URLs sported a familiar extension name: .php.

    It's encouraging to see that open source is making inroads, even in non-IT-oriented industries. It just proves that well-written, user-friendly software need not be proprietary or "closed-source."


  • Ubuntu Dapper Beta with Xgl also rocks!

    I just installed Xgl on my laptop running the beta 2 of Ubuntu "Dapper Drake." My cheapo laptop has a measly Intel 855GM integrated graphics chip set, but Xgl works acceptably on it Smile [:)]

    Actually the final version of Ubuntu Dapper Drake (6.06) is supposed to come out next month. But I couldn't wait anymore, and I really want to give Xgl a spin. Overall, Ubuntu Dapper is much improved over the previous version, Ubuntu "Breezy Badger" (5.10). So I downloaded the beta 2 ISO file and proceeded to reformat my notebook.

    For starters, my laptop's wifi device was automagically recognized. No more driver compile necessary! Unsurprisingly, the laptop still couldn't use the SmartLink built-in modem out of the box. I'll still have to do a compile on this later...

    The default Ubuntu theme looks slick; it looks more caramel/orange than brown. Ah, finally they realized that very few people like the muddy brown theme they used to have; now all that typical users will need to do is to replace the built-in "Ubuntu Dapper Beta" wallpaper Stick out tongue [:P]. With Xgl on it looks even slicker, with windows and tooltips that shake and wobble smoothly and windows/menus that have shadows underneath. You can also adjust the transparency levels of its various windows and dialog boxes...with this, who needs to wait 'til next year for Windows Vista's Aero when you can have something that's even slicker today?

    Boot time is also significantly faster. It's still not as fast from-BIOS-to-GUI as Windows XP but it's a significant improvement nonetheless. This is a very welcome development.

    The only downside to the install was that the thing again defaulted to a 640x480 resolution with my built-in Intel graphics chip set. To think that lots of users already reported this problem with Breezy Badger...I still had to download the 915resolution package, edit the 915resolution config file and even the xorg.conf file. I probably had to reboot 10 times before I figured out that I still had to enter the HorizSync and VertSync parameters for the laptop monitor.

    Hopefully they can still find time to fix this before Dapper Drake goes gold. In the meantime, my son is sure to miss GNOME Stones on the new Ubuntu setup.
  • Xgl rocks!

    The hype machine is on Windows Vista and Mac OS X lately.

    But have you seen Xgl? While still currently bleeding-edge (i.e. under heavy development), it enables eye candy and functionality on Linux today similar to (or maybe even better than) that promised for Vista's Aero desktop graphics interface tomorrow. I just downloaded the Kororaa Live CD (version 0.2) and burned it onto a CD-R, then booted my machine. My officemates went ooh and aah over the smooth graphics effects. CPU utilization was low and the graphics silky smooth. If you have the bandwidth (694MB ISO download) and the time to play around with it, I strongly suggest you give Kororaa Linux a spin. You don't have to install it into your system; you just boot the OS from the CD.

    Of course it's not enough to have all that cool eye candy. Those features/effects have to be made available to developers easily. I guess this is where Linux lags Vista. Vista developers will have access to the Aero graphics features via XAML and Windows Presentation Foundation (WPF) while Linux developers will probably have to contend with coding in C and calling OpenGL.

    Still...you have to see Xgl first hand to see how cool it really is. The downloadable videos don't do justice to the smoothness of the user experience. And after playing with it for a while, I can already pinpoint some features that can help improve productivity a bit, namely the multiple desktop on top of a rotatable cube (Ctrl-Alt + left/right arrow keys), desktop zoom (Windows key + right click or rotate mouse wheel) and arrange/view all windows (F12).



Powered by Community Server (Commercial Edition), by Telligent Systems