
Towards Ruby Nov 06, 2007 15:58
I have a desktop application that I've started building out with Delphi and it's going pretty well. I'm 100% confident that I can do everything/anything I need to do with Delphi on Windows. But I've been thinking a lot about going after the Mac market with this product and how to get there. After Ruby Conf, I'm becoming more convinced that Ruby might be the answer for OSX...and Windows.
I've been a Delphi developer for a fairly long time. I'm very comfortable using Delphi and am productive with it. However, I don't see the Delphi market going anywhere. The community is a great one and one that I'm proud to be a part of, but it seems stuck; stuck on things that are just not very productive.
Besides, every few years I think developers need to reevaluate their skillset and push themselves out of their comfort zone to grow. I did this with C++ and I've done this with web development. Each time I've done it, I've had to work to acquire the skills that I wanted. But each time I've done it, I've become a much better programmer. And each time I've done it, I've been rewarded with interesting and fun opportunities. In short, it's always worth the effort. Enough philosophy. :)
One of the biggest, if not the biggest technical issue facing Delphi is its lack of cross platform capabilities. This is something that I believe will be essential to the long term goals of the product that I'm building. I don't think I'm the only one with this issue. Many ISV's, including Microsoft, have significant cross platform offerings. As the usage patterns of personal computers shift, the software development community can no longer rely on a single vendor/platform for their deployment needs. Why would I want to take that risk? Why wouldn't I want to be able to deliver my product to as many people as I can?
Despite the best efforts of CodeGear, Delphi suffers from several other problems:
- Closed Source/Proprietary: Delphi's progress is at the mercy of CodeGear's competency and resources.
- Activation/Licensing: The ability to use Delphi is at the mercy of CodeGear's activation servers.
- Poor Documentation: Their documentation sucks and very few people care to document it for them. The user base is mature, those that know, already know.
- Dwindling User Base: How many developers you know are choosing to learn Delphi? How many companies that you know are starting new projects with Delphi? How many companies are hiring new Delphi developers?
I like Ruby. I really like Ruby. It addresses virtually every weakness of Delphi and keeps most of its strengths. Ruby has a fantastic framework with many third party options. The language itself is extremely pliable and expressive. The notable weakness Ruby has, is Delphi's greatest strength. Ruby doesn't have a great GUI layer. Delphi is the best Windows GUI tool there is, so this is a big weakness, especially for a desktop application.
But, the interesting thing is that I've moved towards webifying my Delphi UI's anyway. So, why can't I do this with Ruby? A Ruby wrapper for WebKit would be perfect (I haven't found one yet, thinking about writing one). This would make the development of a cross platform shareware application viable with Ruby.
This is pretty close to what Rich Kilmer and the InfoEther guys are doing today. They use Flash for their UI, but they've got all the machinery and according to Rich's RubyConf session, they'll be releasing the core infrastructure as an open source project RSN. What Rich & Co have done is package the entire Ruby interpretor and framework in a way that it can be distributed with your application.
In moving away from Delphi, I'll certainly miss great components like NexusDB. But Ruby offers so much more than Delphi in the intangibles. These things are hard to ignore and it's at the tipping point for me.
The next steps for me is to do a few projects with Ruby and see where the limits are for my application. Once I explore a bit, I'll be able to determine quickly if Ruby has what I need to implement my vision.
Ruby is a on the upswing. It's got a smart, vibrant community that is cranking out useful stuff very quickly. It's open sourced so there is no bullsh*t about activation/licensing/escrow, dealing with a single vendor, etc. There is no fear that if I create something great in Ruby that it will be shackled (technically or legally) by some corporation other than my own. :)
Looking forward, Ruby's intangibles add up to a lot. It might mean more work for me to achieve my goals initially, but in the end, I believe the payoffs will be worth it. They always are.
Write a comment
- Required fields are marked with *.








Posts: 1
Reply #1 on : Fri April 18, 2008, 13:47:04