Mon 21 Aug 2006
Very rough first outline to the D-Bus book I have knocking around in my head
Posted by J5 under D-Bus , Freedesktop[3] Comments
I discussed this project with a few people and GUADEC and finally have gotten around to actually starting it. Below is a rough outline of what could become a series of books written about D-Bus and related technologies.
This first book will concentrate on the D-Bus concepts , trying to introduce the model, terminology and best practices with an eye towards practical knowledge as one of the biggest barriers to developing with D-Bus is understanding the base concepts. Because of this the book will focus solely on the 1.0 D-Bus core API with a little place at the end reserved for various authors to briefly introduce various binding API’s. The hope is that other books would be forthcoming which would go into depth on the bindings subject.
This will be my first book and I haven’t decided on anything other than I am going to write it. I’ll leave all the nitty gritty details (such as how we are going to publish it) until after I have some content to show.
Please read over the outline and give suggestions on topic you would like to see covered by the book.
Working Title: Driving D-Bus
Forward
In the beginning (History of D-Bus)
Basic Concepts
Object Oriented Design
Bus'
System
Session
Arbitrary
Transports
Bus API Overview
Bus Names
Objects
Interfaces
Messages
Method Calls
Method Returns
Error Returns
Signals
Filters
Threading
The Life-cycle of a Message
Async vs Sync (pending calls)
Introspection
Creating your first app to talk to the bus
List Names
Creating your first provider/consumer pair
Who's the server and who's the client
Creating a more complex app for listening to HAL events
Bypassing the bus - creating your own server
Spot the mistakes
Methods of debugging the bus
examples of apps with obvious flaws that D-Bus writers commonly run into
Reaching Higher Ground - An overview of select bindings
GLib
Python
Qt4
Refrence
Glossary
Extended Reading
August 24th, 2006 at 12:36 pm
What about upping the level of the focus to how to write a good DBus application instead of how to program with DBus?
Example topics: How to deal with fault-tolerance, how to evolve an interface in a backward-compatible manner, how to make an efficient procotol in spite of the increased latency compared to in-process communication, how to structure the application in a sensible manner (e.g. using async events instead of blocking function calls that requires multithreading), how to deal with common patterns of use (you could briefly show the architecture of some existing DBus application), etc.
March 6th, 2007 at 11:59 am
I am looking and looking for DBus book but can’t find it. When you will release it? have you try lulu.com (”own” by Red Hat founder).
When you write that book, would you consider an audience with less experience/knowledge (’dummy book??’)? (just like me). So after read the book, can create a small program, ‘hello world’, have a better feeling of DBus and ready to cruise for more complex applications.
Note: I have read the DBus tutorial but couldn’t understand it well ;-(. I need a simpler book or a book which lays foundation for less experience people.
March 7th, 2007 at 11:57 am
I haven’t really had time to start as I am currently working on tight deadlines at OLPC. The first book is going to be more about the internals. The best place to learn is to ask questions on the D-Bus mailing lists and irc channel.