Getting Started with Quickly
At the heart of what makes Linux thrive as an operating system are applications. Within it is a vibrant, diverse range of applications, satisfying even the most particular needs, all just a few clicks away. With such an imaginative range of applications available, a similarly vibrant developer community has formed, complete with a vast array of tools, languages and functionality. Unfortunately, although powerful, many of these tools are awkwardly complex, and many developers have let their ideas and creativity become buried under an avalanche of confusion around how those tools fit together.
Part of the cause of this problem is that many developer tools cater only to systematic developers—the kind of code-writing workaholics who hack for a living, with a fervent attention to detail backed up by unit tests and other hallmarks of the professional programmer. There are, however, developers of a different sort who are driven by writing practical code, scratching their itches and having fun writing programs and sharing them with others. These are opportunistic developers.
As part of our work in Ubuntu, we have been keen to harness opportunistic developers and enable them to do great work using Ubuntu as a platform. As part of this goal, we have developed a series of tools to make it simple for you to break down the barrier between idea and implementation, and help you to scratch your itches more quickly and easily. One such tool is Quickly (wiki.ubuntu.com/Quickly).
Quickly gets you up and running (quickly, of course) writing an application from scratch. Traditionally, writing desktop applications has involved a not-insignificant amount of faffing required, with build systems, source control, packaging frameworks, graphical interface tools and other things that get in the way of writing code. Quickly is a tool that simplifies how those different things fit together.
Quickly provides a framework with a series of templates for creating different types of applications. With each template, a series of opinionated decisions are made about the tools involved in creating that application. By far, the most popular template and the one that Quickly itself was created to satisfy is the Ubuntu template. This template uses a set of tools that has become hugely popular in modern desktop software development, and tools we have harnessed in Ubuntu. They are:
Python: a simple, easy-to-learn, flexible and efficient, high-level language.
GTK: a comprehensive and powerful graphical toolkit for creating applications and the foundation of the GNOME desktop environment.
GNOME: the desktop environment that ships with Ubuntu, offering many integration facilities.
Glade: an application for creating user interfaces quickly and easily, which then can be loaded right into your Python programs.
GStreamer: a powerful but deliciously simple framework for playing back and creating audio, video and other multimedia content.
DesktopCouch: a framework for saving content in a database that is fast and efficient, hooks neatly into Ubuntu One and is awesome for replication.
gedit: for editing code—Quickly assumes you are going to use the text editor that ships with Ubuntu, which provides a simple and surprisingly flexible interface for writing your programs.
With this core set of tools, you can write any application you can imagine and know that it will run effortlessly on Ubuntu and other distributions. Let's make the magic happen.
Today, Quickly primarily is used on Ubuntu and is not currently packaged for other distributions, although we hope this changes in the future and that other distributions use Quickly too. If you are running Ubuntu, getting Quickly is as simple as installing from the Ubuntu Software Center or firing up a terminal and running:
sudo apt-get install quickly
After a few minutes, you should be up and running.
With Quickly installed and ready to roll, let's start creating a simple application. Fire up a terminal with Applications→Accessories→Terminal, and enter the following command:
quickly create ubuntu-project myapp
This command uses Quickly to create a new Ubuntu Project called myapp. You will see a flurry of lines fly past your eyes as Quickly generates the new project and saves its various files inside a new directory called myapp. When Quickly finishes generating the project, it runs it automatically, and you should see a window that looks remarkably similar to Figure 1.
The generated application has a number of important elements common to many applications, such as a menu bar, menu items and status bar, and it also includes a label with some text and a rather nice Ubuntu circle of friends image. Feel free to click through the menus and play with your new program. It won't do much yet, but from this pre-existing base, you now can turn it into any program you want. Let's start working on it. First, go into the project directory:
cd myapp/
Quickly has a series of commands that each begin with the quickly command. The first command you need to know is how to run your program. Simply use the run command:
quickly run
This runs your program and displays it on the screen. When you're finished with the program, you can close it down either by clicking the window close button or pressing Ctrl-C inside the terminal.
Now, let's create a really simple program that demonstrates how basic development works with Quickly and its key components: Python and the GTK widget set. To do this, the program will have a text entry box and when you type in a word, it will search for that word on Google. Although delightfully simple, it demonstrates the basics well and is a good place to start.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.
Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.
Sponsored by ActiveState
Web Development News
Developer Poll
| Non-Linux FOSS: libnotify, OS X Style | Jun 18, 2013 |
| Containers—Not Virtual Machines—Are the Future Cloud | Jun 17, 2013 |
| Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer | Jun 12, 2013 |
| Weechat, Irssi's Little Brother | Jun 11, 2013 |
| One Tail Just Isn't Enough | Jun 07, 2013 |
| Introduction to MapReduce with Hadoop on Linux | Jun 05, 2013 |
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds









2 hours 55 min ago
4 hours 21 min ago
8 hours 31 min ago
9 hours 16 min ago
9 hours 27 min ago
9 hours 32 min ago
11 hours 42 min ago
11 hours 43 min ago
12 hours 28 min ago
13 hours 16 min ago