Developing FOR Haiku

Hi there,

I’ve been following Haiku for quite a while now, and I love how it really is an operating system of its own instead of what could be called ‘just another’ UNIX distribution.

As a software developer I’d like to give this thing a shot, but apart form an API introduction and some documentation on that I’ve only been able to find resources on working on Haiku itself.

Now basically I have just one question, and that’s what platform is recommended for Haiku development. I mainly use OS X in which I use VMware to run Haiku, so it would be awesome if I could either use something within Haiku itself, or the dev tools that come with OS X.

And great project people, keep it on!

Is there any more information on this? I would like to do the same thing.

so the beginning class would be this:

https://www.haiku-os.org/development/learning_to_program_with_haiku

some of it is out of date, but should still work if you put your mind to it.

This is the followup “course”

https://www.haiku-os.org/tags/programmingwithhaiku

Generally I’m a Pe guy with GCC in the terminal window. not a big IDE person (that’s just me)

Developping for Haiku is similar to what you would do for any other operating system. Our tools are a command-line gcc (both gcc2 and gcc4 are available, use the setarch comand to switch), a text editor (Pe and vim are good choices), or an IDE if you prefer that (Paladin is popular, but a simple IDE). Some people also managed to run Qt Creator on Haiku.

Because of licensing problems, our documentation is split in two parts: the "legacy" manual at https://www.haiku-os.org/legacy-docs/bebook/ documents the BeOS API, which we are compatible with, and the Haiku book ( http://api.haiku-os.org/ ) repeats some (but not all) of it, and add some of the most important new features. Unfortunately, it is often necessary to dig into the system headers to discover some of the available features.

My advice is to dig into everything above, and then look at the Applications that are part of Haiku. Looking at simple things such as the login app help give you a feel for writing a basic application…

http://cgit.haiku-os.org/haiku/tree/src/apps/login

With time it gets easier and you’ll begin to miss the Haiku/Be API on other operating systems :slight_smile:

Most published information in book form is for BeOS. There are several fairly good, but older books that I have found to be of some value, including:

  • "Programming the Be Operating system", Dan Parks Sydow, OReilly - 1999
  • "BeOS - Porting Unix Applications", Martin C Brown, Morgan Kaufmman publishers - 1998,
  • "Be Developer's Guide", The Be Dev Team - 1997.

I think that recently there was a book written specificially for Haiku, but I don’t have that one (yet). It may possibly be available for the Kindle, but I can’t seem to remember for sure…

The older Be books and others can be had for a bargain on the usual used book store venues…

[quote=ronald-scheckelhoff]Most published information in book form is for BeOS. There are several fairly good, but older books that I have found to be of some value, including:

  • "Programming the Be Operating system", Dan Parks Sydow, OReilly - 1999
  • "BeOS - Porting Unix Applications", Martin C Brown, Morgan Kaufmman publishers - 1998,
  • "Be Developer's Guide", The Be Dev Team - 1997.

I think that recently there was a book written specificially for Haiku, but I don’t have that one (yet). It may possibly be available for the Kindle, but I can’t seem to remember for sure…

The older Be books and others can be had for a bargain on the usual used book store venues…[/quote]

Look here for BeOS/Haiku books:

BeOS, Haiku and Zeta Books

Actually its also possible to develop in linux and Mac OS X for haiku. But this means you have to build all the time a own image from the haiku tree (if you put your software under 3rd party and add it to jam build) but this definitly not easy :slight_smile:

The best way is to develop directly in haiku. I suggest paladin as ide…

In wich direction of app development are you interested??

There where also some BeNewsletters floating around in the web … it was verry usefull source for getting started :slight_smile:

LOL - I just realized this is a necro-bump thread (2008) Well, the OP is probably long gone, but hopefully it will benefit others.

The link to the Haiku/Be/Zeta book page reminded me of Dominic’s Be File System PDF document. That’s an excellent, must read item for the Haiku guy IMO…

Necro-bump thread or not, this is an evergreen topic.

I just wanted to point out that there is a DIRE NEED of fully working development tools on Haiku. Apart from C++, other languages are not fully ported, because the bindings are not complete. Some languages don’t have any bindings at all yet.
yab (which is mostly for beginners) seems to have the best support for the Haiku API.

In short, the toolkit of programming languages available to someone who wants to program on the Haiku platform is far from satisfactory (again, apart from C++).
This is an area into which a lot of efforts needs to be poured.

Someone who wants to program for Haiku wants to program in C++ … otherwise they are probably quite confused about what Haiku is and what its goals are.

Most of the bindings I have seen are just people makings something neat… but not very practical in the long run the exception would probably be the Java port…

Also with respect to where efforts should be poured… I think Webkit is good (its been causing secondary improvements as well in the BeAPI and Kits)… next up I think we need a a decent IDE with UI designer targeting the BeAPI. Thirdly we need GPU support… Mesa3D is there its just not hooked up to anything.

word. has there been any further development on python bindings within the last year?

Spinach… in a way. I haven’t tested it yet, but there is a haiku port of the ICU widget toolkit that uses native widgets, and there are python bindings for ICU. So if you can get those two things to work together, you can at least write portable, haiku compatible, GUI apps in python…