Как я могу создать приложение, подобное Thunderbird? Какой язык мне выбрать? - PullRequest
1 голос
/ 13 февраля 2010

Я не хочу создавать функциональность Thunderbird. Я просто хочу создать проект с подключаемыми функциями, кроссплатформенностью и простотой установки. Есть ли какие-либо документы, которые указывают на разработку Firefox или Thunderbird?

Я знаю, что Thunderbird встроен в C ++, тогда как я могу получить такую ​​графику и все другие функции.

Пожалуйста, помогите мне.

Ответы [ 6 ]

4 голосов
/ 14 февраля 2010

В духе других ответов я считаю необходимым указать, что 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 и т. Д.)

У каждого есть свои сильные и слабые стороны, не зная вашего текущего опыта и требований, невозможно выбрать один для вас.

4 голосов
/ 13 февраля 2010

Вы можете просмотреть исходный код Firefox здесь:

http://mxr.mozilla.org/firefox/source/.

И Thunderbird:

http://mxr.mozilla.org/seamonkey/source/.

В любом случае, если вы хотите создать портативное приложение с плагинами, я предлагаю вам забыть о попытке скопировать Mozilla и изучить вместо него Qt или wxWidgets.

2 голосов
/ 13 февраля 2010

Eclipse RCP может быть хорошим решением для создания многофункциональных кроссплатформенных клиентских приложений с подключаемыми функциями. Eclipse RCP основан на Java и технологиях SWT.

Здесь - список приложений, созданных с помощью Eclipse RCP. Также доступна демонстрационная версия почтового клиента с RCP здесь . Еще одна отличная сборка программного обеспечения с RCP - RSSOwl , программа чтения каналов.

1 голос
/ 13 февраля 2010

При выборе языка / платформы для разработки, я думаю, следует учитывать следующие моменты:

  1. Поддержка разработки для нужных функций.
  2. ремонтопригодность - с точки зрения поддержки платформы / языка, насколько она поддерживается для обслуживания.
  3. Совместимость с платформами намерений (кроссплатформенность и т. Д.)
  4. Возможность расширения языка / платформы в будущем

C ++ - просто отличный язык. Остальное (используя богатую графику и т. Д.) - учиться ...

0 голосов
/ 02 марта 2010

Менеджер категорий Mozilla позволяет очень просто добавить поддержку плагинов в ваше приложение, но, как говорили другие авторы, у вас будет достаточно места, чтобы подняться до того, как вы туда доберетесь.

0 голосов
/ 13 февраля 2010

Множество вариантов и другие уже предложили хорошие идеи. Java сделает вашу жизнь (разумно) легкой, но C / C ++ даст вам больше возможностей за счет необходимости абстрактных API.

Я должен добавить, что будьте осторожны - вам, вероятно, будет трудно внести изменения в ваше приложение, если вы посвятите себя одному набору технологий и сделаете серьезную разработку без переписывания. Например, если вы выбрали C и Apache Portable Runtime, вам может быть трудно перейти на что-то другое. Аналогично, если вы пишете пользовательский интерфейс в разгаре, преобразование в SWT / Eclipse будет означать переписывание пользовательского интерфейса. Я не хочу вас обескураживать, просто добавьте предупреждение о том, что приложения x-платформы требуют довольно тщательного планирования.

Несколько заметок, т. Е. дерево Мозилла тоже. Thunderbird / Firefox и т. Д. По существу собираются из одного и того же дерева исходных текстов, просто используя разные компоненты. Система сборки Mozilla довольно сложна, на мой взгляд, в большей степени, чем ядро ​​Linux. Таким образом, предложение Мануэля о том, чтобы забыть Мозиллу, является хорошим, если их маршрут не принесет ничего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...