Плюсы и минусы JavaFX и Silverlight
Я знаю, что уже есть вопрос о производительности Flex, JavaFX и Silverlight. Мой вопрос немного шире:
Мы оцениваем достоинства JavaFX и Silverlight в качестве технологии графического интерфейса пользователя, которая контролирует / настраивает наш серверный сервис (в настоящее время написанный на Java). Служба и графический интерфейс обычно находятся на одном компьютере, но удаленное управление (через браузер) также должно поддерживаться. В настоящее время мы разделены на 2 команды: одну.Net и одну Java, хотя у разработчиков Java также есть некоторый опыт.Net.
На мой взгляд, плюсы и минусы в настоящее время следующие:
Silverlight 4:
- Плюсы:
- Отличная интеграция с IDE
- Хороший рабочий процесс для разработчиков и дизайнеров
- Спектакль
- Расширенная сторонняя поддержка (инструменты, элементы управления и т. Д.)
- Много импульса и драйва от Microsoft
- Очень хорошая интеграция вне браузера
- Минусы:
- Поддерживается только на Mac и Windows (поддержка Moonlight не соответствует стандарту)
JavaFX 1.2:
- Плюсы:
- Широкая поддержка платформ
- Минусы:
- Поддерживает только латинские наборы символов (в настоящее время)
- Меньше дизайнерских инструментов
Мало или нет интеграции вне браузера. Обновление: по-видимому, есть поддержка вне браузера.- Производительность (по крайней мере, на демонстрациях, которые я просматривал на www.javafx.com)
- зрелость
Пожалуйста, дайте мне знать, если я что-то упустил или что-то ошибаюсь, и что еще я не учел. Мы также рассмотрели Adobe AIR, но исключили его, поскольку все наши разработчики уже имеют опыт работы с Java и / или.Net.
Пожалуйста, не начинайте никаких огненных войн здесь. Это не религиозный вопрос, и мне бы очень хотелось получить несколько практических советов и фактов.
4 ответа
Несколько думает о JavaFX.
- Поддерживает только латинские наборы символов (в настоящее время) (false) JavaFx использует стандартное представление строк Java, а также рендеринг полностью способен обрабатывать не латинские символы.
- Меньше дизайнерских инструментов (правда), но взгляните на новейшие NetBeans (подробнее @ текст ссылки)
- Мало или нет интеграции вне браузера (ложно) JavaFX работает на веб / настольных компьютерах, мобильных и новых платформах не планируется.
- Производительность улучшается с каждым выпуском.
- Срок погашения такой же, как у Silverlight, но с большей долей рынка на основе установленных виртуальных машин Java.
Ваша оценка JavaFX является своего рода неправильной.
Я играл с JavaFX последние месяцы, и я бы никому не рекомендовал начинать использовать его, если только ограничения (например, отсутствие поддержки Linux) не слишком жесткие. Поддержка IDE для JavaFX на данный момент нелепа. У вас нет справки по рефакторингу, нет автоформатов и даже нет помощи с отступами.
Мне нравится JavaFX, и я буду продолжать играть с ним, но для 2 одинаково хороших языков трудно преодолеть огромную разницу в среде IDE.
Silverlight также имеет Expression Blend для (вроде) WYSIWYG.
Я думаю, что решение в JavaFX было бы лучше, но его создание, вероятно, будет намного сложнее.
Я хотел бы немного подробнее рассказать о вашей идее о рабочих процессах IDE и dev/designer - я работаю с Silverlight уже полтора года, и должен сказать, что ключом к моему успеху был инструмент. На стороне разработчика очень полезна возможность пошагового выполнения кода в отладчике со стороны клиента на сторону сервера через вызов веб-службы. Мы наняли дизайнеров с опытом работы с набором инструментов Adobe и увидели, что они сразу же стали продуктивными в Blend (анимация пользовательского интерфейса, переходы между экранами, скрытие / отображение элементов и т. Д.). Соедините это с тем фактом, что Visual Studio и Blend могут использовать одну и ту же систему управления версиями, и вы получите отличную экосистему для быстрого объединения хорошо выглядящих веб-приложений.
Еще один профессионал для Silverlight - независимость от языка. Если вы выберете C#, вы также получите LINQ, лямбда-выражение и (скоро) параллельные циклы foreach.
Недавно я разрабатывал некоторые материалы на JavaFX.
Производительность JavaFX заметно улучшилась за последние 6 месяцев (между 1.0 и 1.2) и, как ожидается, улучшится с выпуском 1.3.
"Вне браузера" - это, по сути, JNLP (т. Е. Web-start). Это совершенно разумно из того, что я могу сказать. Например, WidgetFX написал настольную боковую панель в стиле Vista/7 полностью на JavaFX http://widgetfx.org/
Якобы есть "импульс и импульс" от Oracle - Ларри Эллисон был публично в восторге от этого - но это, конечно, сдерживается расследованием ЕС слияния Oracle и Sun.
Обратите внимание, что JavaFX не использует синтаксис Java. Это, однако, очень лаконичный и быстрый язык для написания GUI, но он имеет (относительно короткую) собственную кривую обучения. Однако он может включать в себя любые компоненты Swing (а их там довольно много) и может использовать классы Java.