В духе других ответов я считаю необходимым указать, что Mozilla предоставляет платформу, которую они использовали для создания своих приложений, включая Firefox и Thunderbird, - см. XULRunner .
С XULRunner вы
- разработка интерфейсов в XUL (кроссплатформенный язык описания пользовательского интерфейса, который используют Firefox и Thunderbird) или даже в HTML,
- разработка логики программы на JavaScript или, если вам действительно нужно, C ++ (или даже Python , как это делает Komodo),
- поддерживает тот же механизм расширения, что и используемый Firefox / Thunderbird
Вот неполный список приложений, созданных поверх XULRunner: Зал славы XULRunner .
Чтобы ответить на ваш первоначальный вопрос, платформа Mozilla предоставляет богатые функциональные возможности на многих платформах, указав набор межплатформенных API (например, (упрощенное) XUL для определений интерфейса) и реализуя каждый API на каждой платформе.
Реализация такого кроссплатформенного слоя с нуля - это много работы, поэтому вместо того, чтобы пытаться посмотреть и скопировать реализацию Thunderbird, вам следует выбрать одно из кроссплатформенных решений, упомянутых в ответах здесь (Mozilla, Eclipse, QT, wxWidgets и т. Д.)
У каждого есть свои сильные и слабые стороны, не зная вашего текущего опыта и требований, невозможно выбрать один для вас.