From a rookie

Christian Mueller cmueller at gmx.de
Fri Jan 6 21:25:44 GMT 2006


Am Freitag, 6. Januar 2006 17:36 schrieb Francisco Quntero:
>   My best wishes to you all. 
>    
>   I am studying programming and I am marveled at the things you people 
>   can do with C++ , which my professors say is the foundation for 
>   the whole Linux development.   
>   I have been following this list fr a couple of weeks and I feel 
>   much too humble with my folllowing request for help.  
>   I am sure my doubts and confusion will seem trivial to you guys, 
>   for which I ask you to forgive me.  
>    
>   We need to know the relations among standard libraries, particularly 
>   to handling the screen and general I/O, in terms of  
>      - Dependency - Parallelism - Conflict - or persona preference;  
>      ... among the following: 
>    
>   Curses

This is for character-based apps. 


>    X  lib. 

That's the library needed on Linux / UNIX systems if you 
want to write a graphical app that runs under an "X server". 
Most graphical Linux apps today fall into that category.

I don't think many app developers use plain X lib these days, though. 
I wouldn't recommend this.  Use one of the toolkits / libraries below
instead. 


>   QT
>   KDE
>   Gnome


- These three are "above" X lib, i.e. provide more abstractions and 
  also parts not connected to drawing on the screen (For example, 
  Qt provides database and networking classes). 
- KDE depends on Qt.  Both are are written in C++. 
- GNOME is written in C.  There's a C++ wrapper though.  
- KDE and GNOME are both desktop environments and application frameworks
  (allow you to create nice apps without solving all the problems from 
  scratch).
- Personally I find Qt and KDE vastly superior to GNOME but then 
  again that may not be too surprising considering we're on a KDE mailing 
  list. ;-)



>   I am one of a group of students who must develop a fairly large, 
>   college project (Registartion, courses, grades, students general 
>   control; and so on) and it must be 1005 portable among Linux platforms;
>   and preferably also to MS-Windows (Sorry for my language).   
>    
>   We already know this is probably already available in  the Free Software 
>   community, but our goal is precisely to do this ourselves, as a 
>   pre-thesis project.   
>    
>   Key Words are:
>   Portable
>   Free
>   Efficient: Fast and small in terms of resources demanded. 
>    
>   Is it possible to have the very same application running on 
>   various clients, over Gnome, KDE, QT, Unix Curses and plain X-lib; 
>   just by recompiling the same source code, "infested" with a ziollion IFDEF´s ?    


Yes. 

I'd say if C++ is the language you're supposed to use and you need to support 
windows *now* then using Qt is your best bet: 

- It's native C++. 
- It has an excellent reputation of API elegance and general quality. 
- It provides support for Linux, Windows and Mac.  
- Qt4 is available on all these platforms under the GPL, so if you're going
  to use a GPL-compatible license for your app you can use it for free.  
- You said in another post you need database access, and Qt has support 
  for that. 
- If you don't deliberately or accidentally use platform-specific code 
  you shouldn't even need zillions of IFDEFs.  Qt apps can be written in 
  a source-compatible manner. 
- Using the KDE libraries would be another good option that offers even 
  more features to developers, but the windows port is still in 
  the works, so if you need it now Qt is better. 

So: 
Portable?  Qt: Yes.  
           KDE: Not yet to Windows 
Free?      Qt: Yes, it's under the GPL (be sure to read and understand that 
               license, though). 
           KDE: Yes, the libs are under the LGPL and your apps will also depend 
                on Qt, so see above).
Efficient? Both: C++ is pretty efficient.  


HTH,
Christian. 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde/attachments/20060106/15c64290/attachment.sig>
-------------- next part --------------
___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.


More information about the kde mailing list