qt:motivations
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
qt:motivations [2010/12/08 18:35] – [The alternatives] mithat | qt:motivations [2011/12/03 17:24] (current) – [Decisive factors] mithat | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Motivations ====== | ====== Motivations ====== | ||
- | I have decided that I need to teach myself **[[http:// | + | I have decided that I need to teach myself **[[http:// |
My enthusiasm for Qt had also been tempered by its licensing. In the past, it was available under a libre and gratis GPL or an expensive commercial license, and anything made with the GPL version was required to be published under a GPL-compatible license. In early 2009, Qt [[http:// | My enthusiasm for Qt had also been tempered by its licensing. In the past, it was available under a libre and gratis GPL or an expensive commercial license, and anything made with the GPL version was required to be published under a GPL-compatible license. In early 2009, Qt [[http:// | ||
- | Another thing that's kept me from getting really excited about Qt is that its native language binding is C++. C++ (like C before it) is a great " | + | Another thing that's kept me from getting really excited about Qt is that its native language binding is C++. C++ (like C before it) is a great " |
It could be worse. It could be straight C. | It could be worse. It could be straight C. | ||
- | Some people get bothered by the fact that Qt isn't " | + | Some people get bothered by the fact that Qt isn't " |
So, as far as major objections go, the only one that's really relevant is the language issue. | So, as far as major objections go, the only one that's really relevant is the language issue. | ||
Line 15: | Line 15: | ||
There are a lot of different multi-platform development environments. Why Qt? Why now? First, let's consider some of the other options. I have a strong preference for FOSS solutions (there are lots of reasons for liking FOSS as well as some for disliking it; I won't get into this here), and so these are the focus of what's explored below. My experience with all these toolkits is significantly less than exhaustive (to be generous), so please take it all with a block of salt. | There are a lot of different multi-platform development environments. Why Qt? Why now? First, let's consider some of the other options. I have a strong preference for FOSS solutions (there are lots of reasons for liking FOSS as well as some for disliking it; I won't get into this here), and so these are the focus of what's explored below. My experience with all these toolkits is significantly less than exhaustive (to be generous), so please take it all with a block of salt. | ||
| | ||
- | **[[http:// | + | **[[http:// |
- | **[[http:// | + | **[[http:// |
**[[http:// | **[[http:// | ||
Line 29: | Line 29: | ||
In spite of these shortcomings, | In spite of these shortcomings, | ||
- | **[[http:// | + | **[[http:// |
**[[http:// | **[[http:// | ||
Line 35: | Line 35: | ||
**[[http:// | **[[http:// | ||
- | As far as desktop programming solutions that are not FOSS, multi-platform, | + | As far as desktop programming solutions that are not FOSS, multi-platform, |
- | ===== Decisive factors ===== | + | ===== Decisive factors |
- | Perhaps what really tilted the scales for me was the porting of Qt to Symbian and (more importantly) | + | Perhaps what really tilted the scales for me was the adoption of Qt as the native platform in [[http:// |
- | Another factor that was decisive for me is the support that Qt seems to be getting. While the community aspect of Qt support isn't as strong as I'd like it to be, Nokia appears to be giving Qt big hugs and are themselves betting on Qt's future through Meego and to a lesser extent Symbian. And lest we forget, Intel is also part of the Meego effort. So, I have some confidence that Qt will be around for a while and remain relevant. | + | Another factor that was decisive for me is the support that Qt seems to be getting. While the community aspect of Qt support isn't as strong as I'd like it to be, Nokia appears to be giving Qt big hugs and are themselves betting on Qt's future through Meego and (to a lesser extent) Symbian. And lest we forget, |
===== A word on multi-platform programming in general ===== | ===== A word on multi-platform programming in general ===== | ||
- | The goal of multi-platform programming is to write once and compile anywhere. This is a huge goal, and one that not unexpectedly is essentially impossible to achieve. There are just too many differences in the way platforms work--from the OS level up to interface conventions. This leads to the following: | + | The goal of multi-platform programming is to write once and compile anywhere.((Or, as in the case with Java, compile once and deploy anywhere.)) |
- | **If you plan to develop your project to reach multiple platforms using one holy code base, you //must// accept compromises.** | + | **If you plan to develop your project to reach multiple platforms using //OneHolyCodeBase//™, you must accept compromises.** |
- | There are people who tell you this isn't the case. They are lying. There are people who say multi-platform development is doomed to failure. I believe they are lying as well. The simple truth is that multi-platform development based on one holy code base is possible, isn't perfect, and may not be the best (or even easiest) way for you to solve your multi-platform problem. The key is to develop an understanding of what the limitations (and strengths) of multi-platform programming are, and then apply it when it makes sense. And I can't think of anything but experience to give you this understanding. | + | There are people who tell you this isn't the case. They are lying. There are people who say multi-platform development is doomed to failure. I believe they are lying as well. The simple truth is that multi-platform development based on OneHolyCodeBase™ |
qt/motivations.1291833342.txt.gz · Last modified: 2010/12/08 18:35 by mithat