Какие системы Windows GUI в настоящее время заслуживают изучения?

Я планирую написать приложение Windows, чтобы помочь себе в некоторых исследовательских задачах тестирования (заметок, генерации данных, регистрации ошибок), и я застрял на ранней стадии выбора рамки/языка. Мой единственный опыт работы с веб-разработкой и тем, что я вижу, WinForms, WPF, Silverlight, Swing и т.д. Все одновременно устарели и процветают в зависимости от того, кого вы спросите.

В то время как моя главная цель - создать приложение, я бы хотел научиться чему-то полезному, а не собирать навыки с тем, что никогда не будет видно в проекте на работе. Какие платформы Java или С# люди рекомендуют изучать?

Ответы

Ответ 1

Собственные приложения

Для занятости: Ну, в настоящее время большинство компаний (по крайней мере, большинство компаний из Омана и ОАЭ, где я живу) медленно мигрируют в облако. Однако есть еще некоторые возможности для разработки собственных приложений. Самая сложная структура в настоящее время: (no.. not WPF), Windows Forms!

Почему простые старые Windows Forms вместо удивительного WPF? Одна из причин, устаревшие приложения. В настоящее время большинство компаний запускают только небольшие приложения для приложений с графическим интерфейсом, в основном бизнес-приложения. Для этого WPF будет очень дорогим, так как у них уже есть рабочая сила, испытываемая в Windows Forms, и много устаревшего кода, однако для WPF им придется создавать новую кодовую базу, и это довольно рискованно. Поэтому лучше всего использовать Windows Forms.

Для новых проектов. Однако, если "стоит изучать", вы имеете в виду новые, амбициозные и гламурные. Тогда WPF может быть лучшим выбором для вас. Это зависит от ваших требований.

Облако

Теперь, для облака. Java FX и Silverlight оба в настоящее время находятся в центре внимания. Однако Java FX может иметь преимущество, поскольку он поддерживает большее количество платформ. Но опять же, Silverlight обладает всеми возможностями и ресурсами Microsoft позади этого, и он идеально подходит для разработки Windows Phone.

Сравнение

Для сравнения, вот что вы получаете по каждому набору инструментов:

Windows Presentation Foundation:

  • Власть и ресурсы Microsoft
  • Идеально подходит для создания новых приложений для настольных систем.
  • Глазные конфеты
  • Awesome API
  • XAML, лучший способ отделить дизайн от логики
  • Создание приложений для облака (но они работают только с Windows с .NET)
  • Windows Phone может запускать подмножество WPF

Windows Forms:

  • Используется для владения и ресурсов Microsoft, теперь WPF имеет это
  • Идеально подходит для поддержки устаревших приложений.
  • Хорошо обученная рабочая сила, если вы предприниматель.
  • Довольно зрелый API
  • Поддерживает больше платформ, чем WPF (через Mono)

Java FX:

  • Создание приложений для облака
  • При поддержке Oracle
  • Довольно красивый API
  • Кросс-платформенный, работает на большинстве ПК, смартфоны являются проблемой.

Silverlight

  • Создание приложений для облака
  • При поддержке Microsoft
  • Довольно удивительный API
  • XAML
  • Кросс-платформенный, работает на Mac и ПК, работает на Windows Phone.

GTK #

  • Кросс-платформенный, работает на большинстве ПК, работает без смартфона.
  • В мире с открытым исходным кодом
  • Подтверждено Mono
  • Идеально подходит для создания приложений для Gnome.

Качели

  • Кросс-платформы, работающие на большинстве ПК, умные телефоны - проблема.
  • Довольно зрелые
  • Идеально подходит для создания 2D-игр, используя Java2D

Заключение

Как вы говорите:

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

Ну, рамки, которые вы, скорее всего, увидите на работе (если вы не используете такие основные компании, как Microsoft, Oracle, Google и т.д.), это Windows Forms и WPF. По крайней мере, то, что большинство компаний используют здесь. Так я рекомендую. JavaFX и Silverlight также выглядят так, как будто они имеют потенциал и могут быть использованы в ближайшем будущем.

Ответ 2

WPF. Лучшая поддержка Windows. Кстати, это не устарело.

Ответ 3

Java FX 2.0 кажется очень многообещающим и теперь является живым, если качели выглядят устаревшими для вас. Обратите внимание, что он имеет мало общего с предыдущими версиями. См. Например это короткое сравнение с качелями. И оракул сказал, что они планируют открыть источник.

Теперь он довольно новый, поэтому вряд ли он будет использоваться в существующих приложениях.

Ответ 4

Одним из вариантов для вас может быть создание вашего приложения в виде HTML + Javascript и запуск его в настольном приложении путем внедрения механизма браузера (IE или что-то еще). Если вам нужны встроенные API-интерфейсы, есть механизмы для их доступности для кода JavaScript Javascript.