On 18/02/2006, at 5:05 PM, tsumeruby / tsumelabs.com wrote:

> On Saturday 18 February 2006 02:21 pm, Scott Weeks wrote:
>> Why not just build the front end of the app in a windows language
>> (C++,VB,...) and then expose the APIs so that you can build the
>> business logic in Ruby?
>>
>
> Well, you are welcomed to use the Windows C API to build your 
> applications,
> however designing the application might be a task.
>

How is this so? I'm not a windows developer and I've only done a few 
things in VC++ but the "physical" design of the application is a breeze 
compared to juggling everything else (message passing and whatever 
other strange beasts lie beneath the surface). I was hypothetically 
speaking though as far as using Ruby as a backend. I tried it for one 
particular application and it was a bear to try to handle windows 
messages appropriately.

I also tried the Ruby Cocoa bridge for OS X about a year and a half ago 
but I couldn't quite get that to do what I wanted it to.


>> Honestly as good as Ruby is for so many things it's not the language 
>> to
>> be building GUI's in. TK and QT etc... always feel clunky compared to
>> native windows or mac apps. I know there's a Ruby- Objective C bridge
>> for the Mac but I don't know what's available for windows.
>>
> However, users don't expect native look, they
> expect a easy to use interface.
>

This is dead wrong.

I really don't mean to be inflammatory but users care very much about 
consistency. In fact consistency is probably the are with the greatest 
effect on the outcome when designing user interfaces. If you were to 
magically drop a well designed Cocoa application in the middle of a 
Windows environment it would confuse the hell out of users, no matter 
how well it was engineered for usability.

However, if you are building an internal corporate app then it doesn't 
matter too much because people can be trained to use and accept 
whatever they are given. In that case it's generally better to optimise 
for developer time than to optimise for user experience.

As well Windows users are more used to pain so they are more forgiving 
when it comes to non-native interfaces. I do know that Mac apps that 
aren't native stick out like dogs balls and there is very little chance 
people will go near them (the sole exception that I can think of is 
Firefox).

It (like anything else) depends on the task at hand, and I certainly 
don't mean to come off in the wrong way. I just think it deserves a bit 
of reflection and I really think that GUI development in Ruby could be 
amazing if the proper bridges were built to native systems rather than 
just being Yet Another Language with TK support.

Cheers,
Scott