Подтвердить что ты не робот

Кто-нибудь работает над стандартной библиотекой высокого уровня для С++

STL/Boost покрывает все материалы низкого уровня.

Но как насчет концепций более высокого уровня?

Windows: У нас есть несколько оконных библиотек

  • KDE (Qt)
  • Gnome
  • Мотив (C, но написанный в стиле OO)
  • MS Windows
  • и т.д.

Но кто-нибудь работает над унифицированным стандартом для окон? То, что завернуло все вышеперечисленное, было бы приемлемым. (даже если он получил доступ только к обычным вещам, это будет отправной точкой).

Работа в сети:
Там есть пара (в том числе материал Boost низкого уровня).
Но есть ли кто-нибудь, кто работает на сетевом уровне на основе службы?

Все остальные вещи, которые Java/С# имеют в своих стандартных библиотеках.
Материал, который облегчает начинающему, чтобы он прыгнул и сказал, что Wow сделан, и он работает повсюду (почти).

В любом случае. Здесь надеются, что там есть интересные проекты.

Edit

Возможно, его нет. Но если есть пара, которая может быть объединена вместе как отправная точка (и, возможно, изменена с течением времени (где это устаревшее ключевое слово)) в хорошее консолидированное целое.

Примечание. Windows - это лишь небольшая часть того, что я ищу. Языки Java/С# объединяют гораздо больше под капотом, чем только графический интерфейс. Что было бы хорошим набором библиотек, чтобы получить всю функциональность в одном месте.

4b9b3361

Ответ 1

Проект Poco С++ предназначен для доставки всего, что вы просите, за исключением Windowing:

Библиотеки POCO С++ предназначены для сетевой, межплатформенный С++ разработки программного обеспечения, что Apple Cocoa предназначен для разработки Mac или Ruby на Rails для веб-разработки - мощная, но простая в использовании платформа для создайте свои приложения.

Ответ 2

Слишком большие различия между платформами, чтобы получить окончательный стандарт С++ для программирования графического интерфейса. Я думаю, Qt примерно так же близко, как вы попадете в обозримое будущее. wxWidgets - еще один популярный выбор, но, как я понимаю, они используют менее современные функции С++.

Что касается общения в сети, я думаю, что вы расплывчаты. Если вы имеете в виду веб-службы через HTTP, я бы посмотрел на Pion.

Ответ 3

Ну, это почти 2010 год, а на С++ почти есть потоки.

Я, вероятно, захлопнувшись за это, но С++ движется слишком медленно - в ущерб себе и его пользовательскую базу. Я с готовностью признаю сложность технических и политических проблем, но это все еще грязная реальность. Язык не может строить концепции более высокого уровня, когда требуется 5-10 лет для согласования и реализации строительных блоков.

Причины этого бесконечно обсуждаются, но печальная правда заключается в том, что С++ отнесся к нишевому языку. Мне нравится С++, но я смотрю на прогресс С#, Java и даже Python и Ruby за последние 5 лет, и я все больше сомневаюсь в том, стоит ли С++ прилагать усилия.

Ответ 4

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

Ответ 5

Я предполагаю, что здесь есть какой-то поиск ключевого слова, потому что я вижу объявление REALbasic, которое я обычно использую для межплатформенный графический интерфейс в настоящее время.

Я провел много времени в течение последних 15 лет, работая в графическом интерфейсе С++, включая розничную продажу своего уровня переносимости для CodeWarrior PowerPlant и работы над два генератора кода GUI на основе Macintosh, включая добавление генерации Windows в AppMaker. Я работал с wxWidgets, в основном wxPython. Итак, мое мнение о трудностях в кросс-платформенном графическом интерфейсе достаточно хорошо: -)

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

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

Причина, по которой она так долго занималась, чтобы вещи эволюционировали, не имеет ничего общего с тем, что мир С++ медленно двигается, это просто неразрешимая проблема. Самые лучшие кросс-платформенные приложения для Java делают некоторые вещи условно для OS/X, и все еще критически очевидно для опытного пользователя, что они не являются родным Mac-приложением, хотя некоторые из них очень полезны и довольно близки к родным - Oxygen XML editor и DeltaWalker являются двумя моими фаворитами.

Ответ 6

Я не думаю, что можно сделать действительно полную портативную графическую библиотеку. Операционные системы слишком разные. Можете ли вы представить себе графическую библиотеку, которая будет охватывать все, начиная от iPhone и заканчивая Windows 7, и не будет чувствовать себя странно на любом из них?

Ответ 7

Периодически появляется библиотека Boost gui.
По общему мнению, проблемы слишком широки (вы ориентируетесь на мобильные телефоны, FPS-игры или рабочие станции САПР), и что это слишком много работы - Qt/wxWidgets занимает 10 лет.

см. http://lists.boost.org/Archives/boost/2005/09/94453.php для обсуждения.

Было бы хорошо, потому что GUI обычно означает кросс-платформу и потоки, поэтому все инструментальные средства GUI изобрели собственные кросс-платформенные, файловые системы и классы потоков. С другой стороны, если бы стандартный CGI был введен в С++, это, вероятно, выглядело бы как TK!

Ответ 8

Что такого хорошего в стандартизации? Конечно, если новички-кодеры хотят загрузить один SDK для создания портативных приложений, пусть они загружают Qt (или что-то подобное) и навсегда остаются в его среде с мелкой стеной. Но было бы трагедией, если бы мир С++ вращался вокруг этой библиотеки и повышал бы и POCO, wxWidgets и clutter и blitz ++ и собственные и еще 101 замечательные вещи (да, gtkmm и ACE даже) были заглушены при рождении, потому что привратники Стандартная библиотека не считала нужным их допускать.

Разнообразие - это хорошо, я думаю (хотя, имея дело с ним, он помогает иметь хорошего менеджера пакетов, я потратил часы на настройку зависимостей сборки от Windows, которым потребовалось всего несколько секунд apt-get на Debian).

Ответ 9

ACE отлично подходит для одновременной коммуникации и создания сетей.

Ответ 10

Для кросс-платформенного окна, wxWidgets. (ранее wxWindows).

Ответ 11

Только все и его брат, но едва ли кто-нибудь из них действительно попадает куда угодно.