Fedora Linux Support Community & Resources Center
  #1  
Old 26th July 2012, 04:15 PM
Mohenjo Offline
Registered User
 
Join Date: May 2011
Posts: 5
windows_7firefox
Question How to get started?

This is going to be a silly question, so I apologize.

About a decade ago I completed my bachelor's degree in computer science, where programming was a big portion. After having left college I've spent the last 10 years doing everything related to computing except programming. Though I've always held and maintained an interest in Linux.

I'm at a point where I'd like to begin playing around with development on my Fedora box, and I really don't know where to start sadly!

So my questions are simple:
--What would be a good development environment for Fedora? While I've no idea how to do it yet, I'm hoping to develop a small application that has a GUI.
--Is there a "de facto standard" site for code references that developers use? I understand the concepts, so when I dive in I'll have a basic understanding of what I want to do and will just need some way to get example code.

Thanks much!

::edit::
Wow, I pretty much left out the most important piece! My preferred language is C++, and I hope that's still one of the more common used when designing Linux-based applications.
Reply With Quote
  #2  
Old 26th July 2012, 04:48 PM
RupertPupkin Offline
Registered User
 
Join Date: Nov 2006
Location: Detroit
Posts: 5,684
linuxfedorafirefox
Re: How to get started?

Since you're using C++, I'd say that Qt would be your best choice for developing GUI applications. It's the most commonly-used toolkit for C++ in Linux, and it's available and usually installed in most distros. There are other choices (e.g. FLTK, FOX, Gtkmm) but not everyone will have those installed.

You could start with the official Qt documentation here: http://doc.qt.nokia.com/
Then make sure you install the Qt development package:
Code:
yum install qt-devel
You might want to take a look at the C++ GUI examples in this thread. In particular, look at Pitfall's first example here. That is typically the way GUI Qt applications are created, using Qt Creator and separating the UI design from the backend code.
__________________
OS: Fedora 20 x86_64 | Machine: HP Pavilion a6130n | CPU: AMD 64 X2 Dual-Core 5000+ 2.6GHz | RAM: 5GB PC5300 DDR2 | Disk: 400GB SATA | Video: ATI Radeon HD 4350 512MB | Sound: Realtek ALC888S | Ethernet: Realtek RTL8201N
Reply With Quote
  #3  
Old 26th July 2012, 04:54 PM
Fenrin Offline
Registered User
 
Join Date: Apr 2010
Location: Earth
Posts: 899
linuxopera
Re: How to get started?

Most linux applications are either based on the GTK+ framework or on QT. Another alternative is wxWidgets (programs which use this: Code::Blocks, Audacity for example).

for gtk development:
http://developer.gnome.org
some tutorials
gtk3 reference manual

best for Gtk development is probably the Anjuta IDE (except if you want to use C#, then monodevelop). If you follow a tutorial older than maybe 2 years, you must probably change some code a bit so that it works with the current version.

I have only a bit GTK3 experience, not any QT or wxWidget experience. If you are not sure what to use, you could just search for the term GTK vs QT via a search engine.

QT has probably the advantage that there are more books available. But for rather simple GUI's you probably don't need a book. Also it's probably easier if you want to license your program commercially.

native gnome applications and gnome desktop are built with GTK and KDE desktop and native applications are built upon QT.

Last edited by Fenrin; 26th July 2012 at 05:01 PM.
Reply With Quote
  #4  
Old 26th July 2012, 06:19 PM
jwele Offline
Registered User
 
Join Date: Jul 2012
Location: Sacramento
Age: 24
Posts: 48
windows_xp_2003chrome
Re: How to get started?

I second using QT framework, they have great tools for it, and If you get into networking I have heard some good stuff about boost.asio for a networking framework if you want to make more "WOCA" (Write once compile everywhere).
Reply With Quote
  #5  
Old 2nd August 2012, 04:41 PM
Gareth Jones Offline
Official Gnome 3 Sales Rep. (and Adminstrator)
 
Join Date: Jul 2011
Location: Birmingham, UK
Age: 32
Posts: 2,771
linuxfirefox
Re: How to get started?

Quote:
Originally Posted by Mohenjo View Post
--What would be a good development environment for Fedora? While I've no idea how to do it yet, I'm hoping to develop a small application that has a GUI.
Code:
yum groupinstall "Development Tools"
will give you the core Linux programming tools (GCC/G++, Make, autotools, headers for the C library etc.).

For GUI development, groupinstall "X Software Development", "GNOME Software Development", "KDE Software Development", and/or "XFCE Software Development", depending on your preferred desktop.

For KDE, the standard tool-kit (GUI framework and support library) is Qt, which is C++-based. For the others, GTK+ is preferred. GTK+ is C-based, so it can be used from C++ directly, but there is a native C++ binding called Gtkmm. Personally I find Gtkmm feels more "native" than Qt (it's less mired in macros etc. inherited from the pre-standard C++ compiler mess, and doesn't use an additional language pre-processor). Others will swear by Qt though, so give both a whirl and see which you prefer.

Both have the facility to build interfaces graphically (e.g. Glade for GTK+), and are portable to other (non-Linux) OSes. There are IDEs for both if you prefer that to a plain text editor (KDevelop for Qt/KDE, Anjuta for GTK+/Gtkmm/GNOME).

Quote:
--Is there a "de facto standard" site for code references that developers use? I understand the concepts, so when I dive in I'll have a basic understanding of what I want to do and will just need some way to get example code.
We call it the internet.

Start by running through the tutorials linked on the Gtkmm and Qt websites. Then check out autoconf and automake, and Git/Mercurial/Subversion/... for project management, or you can let the IDEs handle that for you.
Reply With Quote
  #6  
Old 2nd August 2012, 06:35 PM
Pitfall Offline
Registered User
 
Join Date: Nov 2011
Location: the Netherlands
Posts: 67
linuxchrome
Re: How to get started?

@RupertPupkin: thanks for referring to my code.

I also highly recommend using Qt. Their documentation is one of the best I have seen so far. Please take a look at QML, it is a really interesting technology. You can build a GUI using a CSS-like syntax and handle events in your C++ code. Using native Qt widgets are also available of cource.
Gtkmm is another option if you dislike Qt.
__________________
Desktop: i3 540, GT430, Fedora 17 x86_64 KDE
Netbook: E-450, HD 6230, Fedora 17 x86_64 KDE
Reply With Quote
Reply

Tags
beginner, development, programming, started

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Hal is not started soker Using Fedora 0 30th July 2009 01:58 AM
How to get started? RJFUatHOME Using Fedora 2 27th August 2007 07:24 PM
Is dri started or not ? phe Installation, Upgrades and Live Media 5 10th July 2007 12:02 PM
vsftpd doesn't work when started automatically, but works started manually oryan_dunn Servers & Networking 7 2nd February 2007 09:41 PM
Getting Started gurumac Using Fedora 4 24th March 2006 05:12 PM


Current GMT-time: 13:50 (Wednesday, 22-10-2014)

TopSubscribe to XML RSS for all Threads in all ForumsFedoraForumDotOrg Archive
logo

All trademarks, and forum posts in this site are property of their respective owner(s).
FedoraForum.org is privately owned and is not directly sponsored by the Fedora Project or Red Hat, Inc.

Privacy Policy | Term of Use | Posting Guidelines | Archive | Contact Us | Founding Members

Powered by vBulletin® Copyright ©2000 - 2012, vBulletin Solutions, Inc.

FedoraForum is Powered by RedHat
Abergele - Loja Travel Photos - Linares Travel Photos on Instagram