Re: FOSDEM GTK+ brochure



On Thu, Jan 08, 2015 at 05:12:28PM +0100, Olav Vitters wrote:
GTK+ has been created in 1996 for the GIMP — the
GNU Image Manipulation Program — but has quickly

Maybe:
"- a photo retouching, image composition and image authoring program -"

become a general-purpose library used by a large

Maybe something "and quickly evolved into"

number of applications including the GNU project’s
GNOME desktop.
[..]
Architecture Overview

Over time GTK+ has been built up to be based on
other libraries, also developed by the GTK+ team:
• Cairo, a library for 2D graphics with support for
  multiple output devices (including the X Window
  System, Win32) while producing a consistent output

Wayland, OS X?

GLib – the Core Library

Firstly, GLib provides common data structures:
• Single and doubly linked lists.
• Hash tables.
[..]
• And a few other data structures.

I'm not sure, but with bullet points shouldn't you do:
* bla;
* bar;
* foo.

?

GLib contains also lots of utilities:

Remove "also" IMO, or before "contains"

Wondering about "lots" or "loads"

• String and Unicode manipulation.
• Date and time functions.
• A command-line option parser.
• Perl-compatible regular expressions.
• An XML parser.
• A unit-test framework.
• And many other utilities.

Again maybe the ;, ;, ;, . ?

GObject – an Object System

Most modern programming languages come with their
own native object systems and additional fundamental
algorithmic language constructs. Just as GLib
serves as an implementation of such fundamental types
and algorithms (linked lists, hash tables and so forth),
GObject provides the required implementations of a

s/the required/an/ ?
and s/implementations/implementation/ ?

flexible, extensible, and intentionally easy to map (into
other languages) object-oriented framework for C. The
substantial elements that are provided can be summarized
as:
[..]
GIO – Input/Output on Steroids

GIO is striving to provide a modern, easy-to-use Virtual

s/is striving to provide/provides/

As we should not be doubting what we provide.

File System (VFS) API that sits at the right level
in the library stack, as well as other generally useful
APIs for desktop applications (such as networking and
D-Bus support). The goal is to provide an API that

Above sentence seems a bit too long.

s/The goal/It was created to/ IMO

is so good that developers prefer it over raw POSIX
calls. Among other things that means using GObject.
It also means not cloning the POSIX API, but providing

The DBus and VFS seems like it should be split out a bit IMO.


The GTK+ Widget Toolkit

GTK+ provides a flexible theming system with a CSSlike
syntax. The default theme is Adwaita, used by the
GNOME desktop, but other themes can be created
so an application can be well integrated with other
desktop environments or mobile devices.

This gives the impression that e.g. GTK+ by default looks out of place
on anything other than GNOME. E.g. bad in KDE, Mac OS X and Windows. I
don't think that is the case though.

About Versions

s/About Versions/Release schedule and versioning scheme/

There are new GLib, GObject, GIO, GTK+ and
GNOME stable releases every six months, around

Maybe: "Every six months there are new..." ?

March and September. A version number has the form
X.Y.Z, where “Y” is even for stable versions and is
odd for unstable versions. A new minor stable version
(e.g. 3.14.0 ! 3.14.1) doesn’t add new features,
only translation updates, bug fixes and performance
improvements. For a library, a new major version number
(“X” in X.Y.Z) generally means there has been an
API break, but fortunately previous major versions are

s/, but fortunately previous/. Previous/
or
s/, but fortunately previous/. To address this, previous/

parallel-installable with the latest version.
It’s recommended to use the latest versions for newly-
written code.

More information: http://www.gtk.org/

This gives the impression it is part of the versioning scheme section.
Could it be made to appear different?

-- 
Regards,
Olav


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]