2009-05-22 1 views
2

Я довольно новичок в программировании на C++, поэтому я не совсем уверен, что я ищу на данный момент. У меня есть опыт работы с C#, Python (чуть-чуть) и Visual Basic, но я изучаю использование C++ и отключение от .NET в целом (до того, как он полностью всасывает меня). Мои вопросы таковы:Библиотеки C++: Вопросы нужны Определенные ответы (мнения)

1) Какая бы была самая легкая, независимая от платформы библиотека графического интерфейса? Qt мне кажется немного раздутым (OpenGL, между прочим). Если я ошибаюсь, сообщите мне.

2) Какая самая легкая, независимая от платформы библиотека гнезд? (Пожалуйста, не поднимайте winsock2.h)

Заранее спасибо. Я буду продолжать Google, но, как я уже сказал, я не совсем уверен, что ищу, поэтому всякая помощь приветствуется.

+1

Почему «самый легкий вес» так важен? Простота использования и обучения может быть более важной, если вы новичок. – lothar

+1

Я согласен с комментарием Лотара. Пойдите с тем, с чем легче всего развиваться. В конце концов, по крайней мере, по моему опыту, приложения на C++ будут меньше и быстрее (значение улучшения - это еще один вопрос ...), чем C# и др. даже с некоторой «раздутой библиотекой». Кроме того, Qt разбивается на несколько компонентов, поэтому нет необходимости включать биты OpenGL (или GUI, или DB, или сеть и т. Д.), Если вам это не нужно. –

+0

Простота использования - это хорошо, но я стараюсь сделать этот проект максимально легким, так что чем легче, тем лучше. – 2009-05-22 19:38:40

ответ

1

Если вы заинтересованы в кросс-платформенной разработке, вы должны действительно проверить wxWidgets, так как он предоставляет не только набор графических элементов графического интерфейса, но и другие независимые от платформы решения. (И это с открытым исходным кодом, и к нему прилагается хорошая коммерческая лицензия).

Кроме того, он модульный, и вы можете в основном включать только то, что вам нужно - так что в этом смысле он имеет небольшой вес или, по крайней мере, может быть.

Я использовал его в нескольких проектах (коммерческих) с большим успехом, и как только вы получите API, он достаточно мощный.

Другие альтернативы, такие как GTK + и QT, хороши, но, на мой взгляд, им не хватает поддержки для базовой сантехники.

+0

Конечно, мы могли бы также начать обсуждение Vim vs Emacs, но что заставляет вас сказать, что Qt не имеет поддержки для «базовой сантехники»? –

+0

Я собирался сказать, Стюарт, Qt поддерживается собственной специальной группой. – 2009-05-22 19:51:16

+0

У меня нет ничего против QT, я использовал его, и мне нравится, как он разработан (как сказано в другом ответе, здесь у него действительно хороший OO-дизайн) ... Мне, возможно, придется немного отказать в поддержке для базовой сантехники - это не может быть честной виной. –

2

Qt на самом деле не раздувается (хотя его библиотеки имеют большой размер - это нелегко в этом смысле), он чрезвычайно удобен в использовании и содержит почти все, что вам может понадобиться (или, возможно, нет, возможно, для в первый раз, например, openGL), хотя по-своему (QSocket для сокетов, QString для строк, поэтому будьте осторожны, чтобы не сосать в нее :)). Еще один плюс (или минус) заключается в том, что он не моделируется после того, как некоторые популярные не-такие-строго-OO-библиотеки, такие как MFC (wxWidgets идут таким образом), но показывают пример (может быть лучшим) действительно хорошо крупномасштабных C++ OOD (так что это может быть полезно, также источники поступают бесплатно).

+0

На самом деле большим плюсом для QT является их бесплатный графический редактор; это действительно приятно. –

+0

Хорошо, я дам Qt попробовать. По крайней мере, таким образом я чувствую, что использую чей-то код elses. И я не планирую продавать то, что я делаю. Это будет бесплатно ... если я когда-нибудь закончу это. – 2009-05-22 19:52:17

3

В качестве библиотеки GUI я бы использовал wxWidgets или Qt (так как документация неплохая, а afaik часть GUI может использоваться независимо от тех частей, которые вы не хотите).

Для сокетов обратите внимание на Boost Asio, на мой взгляд, это лучшая библиотека сокетов C++, но документация трудно понять.

+1

+1 для Boost Asio. Я сделал свою первую правильную реализацию сокетов в этом месяце назад, и это было довольно удивительно. – Macke

Смежные вопросы