Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>As the creator and lead developer of doxygen, let me also provide my perspective<br> (obviously biased as well ;-)</p> <p>If you are looking for a 100% faithful replica of Apple's own documentation style, then AppleDoc is a better choice in that respect. With doxygen you'll have a hard time to get that exact same look, so I would not recommend to try.</p> <p>With respect to Xcode docsets; Apple provides <a href="http://developer.apple.com/library/ios/#featuredarticles/DoxygenXcode/_index.html" rel="nofollow noreferrer">instructions</a> how to set that up with doxygen (written in the time Xcode 3 was released). For Xcode 4 there is also a <a href="http://www.duckrowing.com/2010/03/18/documenting-objective-c-with-doxygen-part-ii/" rel="nofollow noreferrer">nice guide</a> how to integrate doxygen.</p> <p>As of version 1.8.0, doxygen supports <a href="http://www.stack.nl/~dimitri/doxygen/markdown.html" rel="nofollow noreferrer">Markdown markup</a>, as well a large number of additional <a href="http://www.stack.nl/~dimitri/doxygen/commands.html" rel="nofollow noreferrer">markup</a> commands. </p> <p>With doxygen you can include documentation on the main page (@mainpage) as well as on subpages (using @subpage or @page). Inside a page you can create sections and subsections. In fact, doxygen's user manual was completely written using doxygen. Besides that, you can group classes or functions together (using @defgroup and @ingroup) and inside a class make custom sections (using @name).</p> <p>Doxygen uses a configuration file as input. You can generate a template with default values using <code>doxygen -g</code> or use a <a href="http://www.stack.nl/~dimitri/doxygen/doxywizard_usage.html" rel="nofollow noreferrer">graphical editor</a> to create and edit one. You can also pipe options through doxygen via a script using <code>doxygen -</code> (see question 17 of the <a href="http://www.stack.nl/~dimitri/doxygen/faq.html" rel="nofollow noreferrer">FAQ</a> for an example)</p> <p>Doxygen is not limited to Objective-C, it supports a large range of languages including C, C++, and Java. Doxygen is also not limited to the Mac platform, e.g. it runs on Windows and Linux too. Doxygen's output also supports more than just HTML; you can generate PDF output (via LaTeX) or RTF and man pages.</p> <p>Doxygen also goes beyond pure documentation; doxygen can create various graphs and diagrams from the source code (see the <a href="http://www.stack.nl/~dimitri/doxygen/config.html#config_dot" rel="nofollow noreferrer">dot</a> related options). Doxygen can also create a browsable and syntax highlighted version of your code, and cross-reference that with the documentation (see the <a href="http://www.stack.nl/~dimitri/doxygen/config.html#sourcebrowser_index" rel="nofollow noreferrer">source browser</a> related options).</p> <p>Doxygen is very fast for small to medium sized projects (the diagram generation can be slow though, but nowadays runs on multiple CPU cores in parallel and graphs from one run are reused in the next run). For very large projects (e.g. millions of lines of code) doxygen allows the projects to be split into multiple parts and can then link the parts together as I explained <a href="https://stackoverflow.com/questions/8247189/doxygen-is-slow">here</a>.</p> <p>A nice real-life example of using doxygen for Objective-C can be found <a href="http://dl.dropbox.com/u/2601212/NanoStore%202.0/html/index.html" rel="nofollow noreferrer">here</a>.</p> <p>The development of doxygen highly depends on user feedback. We have an active <a href="http://sourceforge.net/mail/?group_id=5971" rel="nofollow noreferrer">mailing list</a> for questions and discussions and a <a href="https://bugzilla.gnome.org/enter_bug.cgi?product=doxygen" rel="nofollow noreferrer">bug tracker</a> for both bugs and feature requests.</p> <p>Most users of doxygen use it for C and C++ code, so naturally these languages have the most mature support and the output is more tuned towards the features and needs for these languages. That said, also wishes for and issues with other languages are taken seriously. </p> <p>Note that I do nearly all doxygen development and most testing on a Mac myself.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload