Ответ 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 также выглядят так, как будто они имеют потенциал и могут быть использованы в ближайшем будущем.