Каковы недостатки использования кроссплатформенного фреймворка для разработки под одну платформу?

В последнее время я размышлял о том, стоит ли мне начинать изучать другой фреймворк, так как у меня есть только машина с Windows, и я не собираюсь создавать кроссплатформенное программное обеспечение в ближайшее время. Чтобы помочь мне с этим решением …

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

  2. Пожалуйста, перечислите фреймворки и библиотеки, которые я могу начать изучать для быстрой разработки приложений для Windows с использованием C ++. Один с большим количеством документации является предпочтительным. Буду признателен, если вы включите ссылку, которая поможет мне начать работу.

1

Решение

Есть ли какой-либо недостаток в использовании кроссплатформенного фреймворка, когда я не собираюсь разрабатывать кроссплатформенный?

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

Пожалуйста, перечислите фреймворки и библиотеки, которые я могу начать изучать для быстрой разработки приложений для Windows с использованием C ++.

Хороший вариант здесь Qt. Он предоставляет очень хороший фреймворк на C ++ для Windows и других платформ. Если вы хотите только Windows, есть другие варианты, в том числе Среда выполнения Windows через C ++ (для разработки под Windows 8) или Microsoft Foundation Classes.

3

Другие решения

Используя кроссплатформенную инфраструктуру, вы упустите навороченные платформы, такие как программный контроль над Windows 7 Jump Lists. Из-за этих вещей он не будет ощущаться как собственное приложение, а как порт приложения, написанного для другой ОС. Во многих случаях это не имеет значения.

Современная платформа C ++, построенная с использованием шаблонов, не будет работать хуже, просто потому что она кроссплатформенная. Вы просто упустите возможности, которых нет на нескольких платформах.

2

Как правило, проблема с кроссплатформенными платформами зависит от конкретной платформы.

например wxWidgets — они быстрые, но не слишком много доступных классов GUI. Документация не отличная, однако обновляется должным образом.

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

Это оба UI Frameworks. оба GPL и, следовательно, вы можете использовать его.

Nokia Qt — это отличная кроссплатформенная платформа, и это не просто еще один пользовательский интерфейс, а полноценная платформа для кроссплатформенной разработки. Однако проблема с Qt — метаобъектный компилятор (мод). Это своего рода расширение языка.

Я бы порекомендовал вам выбрать QT в качестве вашей следующей структуры. Он активно развивается, облегчен, недавно был открыт и поставляется под лицензией LGPL.

0

Просто чтобы поддержать другие ответы, Qt является отличной платформой (и, надеюсь, выживет в Nokia).

Кроссплатформенные платформы имеют в основном два недостатка: производительность (часто они добавляют еще один уровень, который не требуется на нативных платформах) и, конечно, кроссплатформенность, то есть часто не поддерживающую функциональность, характерную для вашей целевой платформы. С Qt я никогда не видел производительность как проблему. Кроме того, Qt включает в себя так много библиотек, которые фактически расширяют возможности, которые вы можете делать в Windows, что также не является вторым недостатком.

Единственная проблема с Qt на самом деле — метаобъектный компилятор (moc). В начале вы наткнетесь на некоторые странные ошибки компилятора, которые, в конце концов, приходят из moc. Просто запомните это и погуглите на ошибки, вы к этому привыкнете.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector