Недостатки Java/SWT
От: igna Россия  
Дата: 05.09.07 12:50
Оценка:
Какие недостатки есть у Java/SWT по сравнению с другими комбинациями язык/библиотека для программирования под Windows? Хочу, чтоб поругали.
Re: Недостатки Java/SWT
От: 0rc Украина  
Дата: 05.09.07 13:31
Оценка: 18 (2) +1
Здравствуйте, igna, Вы писали:

I>Какие недостатки есть у Java/SWT по сравнению с другими комбинациями язык/библиотека для программирования под Windows? Хочу, чтоб поругали.


Список недостатков (ИМХО):

  1. SWT базируется на Java, отсюда очевидный недостаток — SWT зависит от Java
  2. SWT сравнительно молодая библиотека. Разработчик, который использует эту библиотеку "по крупному" обречен хоть раз запостить баг в багрепорт Eclipse комьюнити. Если посмотреть на баг-листы SWT можно заметить, что абсолютное большенство багов и рассуждений в новостных рассылках SWT от разрабочиков крупных продуктов на основе этой библиотеки (тот же Azureus проект или SWT Designer). Итак вторая проблема — это баги, из-за молодости библиотеки. Многие пофишены, но все-равно они есть еще.
  3. Вы не управляете развитием библиотеки. Формально библиотека открытая, фактически — есть сообщество, планы которого задокументированы на год вперед. Из-за этого ваши идеи, пусть и революционные — идут в мусорку.
  4. Ограниченая функциональность. Вы огранчены рамками SWT. Все что выходит за рамки библиотеки, придется писать самим. Иногда это обходится "дорого", так как приходится писать на JNI для множества предполагаемых систем.
  5. Вы привязаны к "платформе". Это значит, что если какого-либо native-компонета нет в системе — ваша программа будет работать без него (Например, Eclipst до сих пор не может подружить версии SWT с Motif).
... << RSDN@Home 1.2.0 alpha rev. 744>>
Re[2]: Недостатки Java/SWT
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 05.09.07 14:28
Оценка:
Здравствуйте, 0rc, Вы писали:

0rc>SWT базируется на Java, отсюда очевидный недостаток — SWT зависит от Java

Со всем согласен, но вот это философское утверждение не понял, можно разжевать?
Re[3]: Недостатки Java/SWT
От: 0rc Украина  
Дата: 05.09.07 14:41
Оценка: :)
Здравствуйте, rsn81, Вы писали:

R>Здравствуйте, 0rc, Вы писали:


0rc>>SWT базируется на Java, отсюда очевидный недостаток — SWT зависит от Java

R>Со всем согласен, но вот это философское утверждение не понял, можно разжевать?

Я имел ввиду JVM, так например есть тот же MFC, он не привязан к JVM, в этом смысле MFC "лучше" SWT так как не требует предустановленной JRE.
... << RSDN@Home 1.2.0 alpha rev. 744>>
Re[4]: Недостатки Java/SWT
От: igna Россия  
Дата: 05.09.07 14:49
Оценка:
Здравствуйте, 0rc, Вы писали:

0rc>Я имел ввиду JVM, так например есть тот же MFC, он не привязан к JVM, в этом смысле MFC "лучше" SWT так как не требует предустановленной JRE.


Да, вот это интересно. Некоторые считают зависимость от JVM (или CLR) недостатком, некоторые нет. В чем конкретно ты видишь недостаток?
Re[5]: Недостатки Java/SWT
От: 0rc Украина  
Дата: 05.09.07 15:18
Оценка:
Здравствуйте, igna, Вы писали:

I>Здравствуйте, 0rc, Вы писали:


0rc>>Я имел ввиду JVM, так например есть тот же MFC, он не привязан к JVM, в этом смысле MFC "лучше" SWT так как не требует предустановленной JRE.


I>Да, вот это интересно. Некоторые считают зависимость от JVM (или CLR) недостатком, некоторые нет. В чем конкретно ты видишь недостаток?


Сейчас я бы не назвал это большой проблемой, хотя до недавнего времени (как сейчас не знаю) существовали платформы, для которых не было JRE.
... << RSDN@Home 1.2.0 alpha rev. 744>>
Re[5]: Недостатки Java/SWT
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 05.09.07 15:20
Оценка: 1 (1)
Здравствуйте, igna, Вы писали:

I>Да, вот это интересно. Некоторые считают зависимость от JVM (или CLR) недостатком, некоторые нет. В чем конкретно ты видишь недостаток?


Необходимость наличия JRE у пользователя.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Недостатки Java/SWT
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 05.09.07 15:51
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Необходимость наличия JRE у пользователя.

Встраивать JRE в инсталлятор не пробовали?
Re[6]: Недостатки Java/SWT
От: igna Россия  
Дата: 05.09.07 15:51
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Необходимость наличия JRE у пользователя.


Не прими за занудность, но почему это недостаток? Чем это хуже случая, когда программа использует некую библиотеку, dll которой нужно установить?
Re[6]: Недостатки Java/SWT
От: cvetkov  
Дата: 05.09.07 16:12
Оценка: :)
Здравствуйте, 0rc, Вы писали:

0rc>Сейчас я бы не назвал это большой проблемой, хотя до недавнего времени (как сейчас не знаю) существовали платформы, для которых не было JRE.


До недавнего времени SWT было только для Windows. Сейчас кажеться ситуация изменилась, но я не уверен.
Re[7]: Недостатки Java/SWT
От: Cyberax Марс  
Дата: 05.09.07 16:23
Оценка: +2
cvetkov wrote:
> 0rc>Сейчас я бы не назвал это большой проблемой, хотя до недавнего
> времени (как сейчас не знаю) существовали платформы, для которых не было
> JRE.
> До недавнего времени SWT было только для Windows. Сейчас кажеться
> ситуация изменилась, но я не уверен.
SWT с рождения поддерживала Linux.
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[7]: Недостатки Java/SWT
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 05.09.07 16:51
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>До недавнего времени SWT было только для Windows. Сейчас кажеться ситуация изменилась, но я не уверен.

Cyberax истину глаголет — с Linux-ом SWT дружил всегда. А теперь вот это многообразие:

  1. SWT:
    • Windows.
    • Windows (x86/WPF).
    • Windows (x86_64).
    • Linux (x86/GTK 2).
    • Linux (x86/Motif).
    • Linux (x86_64/GTK 2).
    • Linux (PPC/GTK 2).
    • Linux (s390/GTK 2).
    • Linux (s390x/GTK 2).
    • Solaris 8 (SPARC/GTK 2).
    • AIX (PPC/Motif).
    • Mac OSX (Mac/Carbon)

  2. eSWT:
    • Windows Desktop.
    • Windows Mobile 2003/5.
    • WinCE 5.0 Professional.
    • Nokia Series 80.
Re[8]: Недостатки Java/SWT
От: iZEN СССР  
Дата: 05.09.07 20:31
Оценка:
Здравствуйте, rsn81, Вы писали:

R>Здравствуйте, cvetkov, Вы писали:


C>>До недавнего времени SWT было только для Windows. Сейчас кажеться ситуация изменилась, но я не уверен.

R>Cyberax истину глаголет — с Linux-ом SWT дружил всегда. А теперь вот это многообразие:

R>[list=1]
  • SWT:
    • Windows.
      R>
    • Windows (x86/WPF).
      R>
    • Windows (x86_64).
      R>
    • Linux (x86/GTK 2).
      R>
    • Linux (x86/Motif).
      R>
    • Linux (x86_64/GTK 2).
      R>
    • Linux (PPC/GTK 2).
      R>
    • Linux (s390/GTK 2).
      R>
    • Linux (s390x/GTK 2).
      R>
    • Solaris 8 (SPARC/GTK 2).
      R>
    • AIX (PPC/Motif).
      R>
    • Mac OSX (Mac/Carbon)
    +
  • FreeBSD
  • Re[2]: Недостатки Java/SWT
    От: mishaa Россия http://kmmbvnr.livejournal.com
    Дата: 06.09.07 05:54
    Оценка: 2 (1) +1
    0rc>Список недостатков (ИМХО):

    0rc>
  • SWT сравнительно молодая библиотека. Разработчик, который использует эту библиотеку "по крупному" обречен хоть раз запостить баг в багрепорт Eclipse комьюнити. Если посмотреть на баг-листы SWT можно заметить, что абсолютное большенство багов и рассуждений в новостных рассылках SWT от разрабочиков крупных продуктов на основе этой библиотеки (тот же Azureus проект или SWT Designer). Итак вторая проблема — это баги, из-за молодости библиотеки. Многие пофишены, но все-равно они есть еще.
    Не все так страшно, библиотека не настолько молодая, и на ней написан не один крупный проект.

    0rc>
  • Вы не управляете развитием библиотеки. Формально библиотека открытая, фактически — есть сообщество, планы которого задокументированы на год вперед. Из-за этого ваши идеи, пусть и революционные — идут в мусорку.
    Хм.. а ситуация с MFC, Winforms, QT или Swing лучше?

    0rc>
  • Ограниченая функциональность. Вы огранчены рамками SWT. Все что выходит за рамки библиотеки, придется писать самим. Иногда это обходится "дорого", так как приходится писать на JNI для множества предполагаемых систем.
    Это цена кросплатформености. Если проект только под Windows — JNI кодa не намного больше чем расширяя MFC.

    0rc>
  • Вы привязаны к "платформе". Это значит, что если какого-либо native-компонета нет в системе — ваша программа будет работать без него (Например, Eclipst до сих пор не может подружить версии SWT с Motif).
    Обратная сторона really-native-look-and-feel.

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

    Встречал мнение: требование SWT, чтоб все операции с виджетами проходили в одном потоке в, это плохо.

    Можно поругать SWT за то что вместо асинхронных делегатов как в Winforms, многопоточность реализована через метод Display.[a]syncExec...

    Но это все не мое IMHO. По мне так SWT+Jface рулят.
  • -- Главное про деструктор копирования не забыть --
    Re[4]: Недостатки Java/SWT
    От: goorov  
    Дата: 06.09.07 06:39
    Оценка:
    Здравствуйте, 0rc, Вы писали:

    0rc>>>SWT базируется на Java, отсюда очевидный недостаток — SWT зависит от Java

    R>>Со всем согласен, но вот это философское утверждение не понял, можно разжевать?

    0rc>Я имел ввиду JVM, так например есть тот же MFC, он не привязан к JVM, в этом смысле MFC "лучше" SWT так как не требует предустановленной JRE.


    С таким же успехом можно сказать, что "SWT не привязан к windows, в этом смысле SWT лучше MFC так как не требует предустановленной windows". В конце концов любой gui от чего-то зависит, так что имхо совсем не аргумент
    Re[7]: Недостатки Java/SWT
    От: lomeo Россия http://lomeo.livejournal.com/
    Дата: 06.09.07 06:58
    Оценка:
    Здравствуйте, rsn81, Вы писали:

    L>>Необходимость наличия JRE у пользователя.

    R>Встраивать JRE в инсталлятор не пробовали?

    Ещё мегабайты. Возможно, из-за размера потенциальный пользователь откажется это качать.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[7]: Недостатки Java/SWT
    От: lomeo Россия http://lomeo.livejournal.com/
    Дата: 06.09.07 06:58
    Оценка: +1
    Здравствуйте, igna, Вы писали:

    I>Не прими за занудность, но почему это недостаток? Чем это хуже случая, когда программа использует некую библиотеку, dll которой нужно установить?


    Ничем, если размеры и усилия при установке библиотеки и JRE сопоставимы.
    Я же не говорю, что это огромный минус. Но это отнюдь не достоинство, и иногда это надо учитывать. Я скорее скачаю программку на 5 мегабайт, чем на 50, если функциональность у них схожая. И мне абсолютно по барабану насколько удобно было разработчикам её разрабатывать.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[8]: Недостатки Java/SWT
    От: rsn81 Россия http://rsn81.wordpress.com
    Дата: 06.09.07 07:52
    Оценка:
    Здравствуйте, lomeo, Вы писали:

    L>Ещё мегабайты.

    ~9Mb, с размером встроенного .NET, кстати, несравнимо, как впрочем и по простоте установки.

    L> Возможно, из-за размера потенциальный пользователь откажется это качать.

    Так сделать два инсталлятора. Это проблема распространения приложения, а не проблема самого приложения.
    Re[9]: Недостатки Java/SWT
    От: lomeo Россия http://lomeo.livejournal.com/
    Дата: 06.09.07 08:42
    Оценка:
    Здравствуйте, rsn81, Вы писали:

    L>> Возможно, из-за размера потенциальный пользователь откажется это качать.

    R>Так сделать два инсталлятора. Это проблема распространения приложения, а не проблема самого приложения.

    Я к тому, что сколько инсталляторов не делай, а JRE пользователю нужно. Если его нет, то его надо качать и ставить. Как он это будет делать — качать отдельно или встроенный — неважно. Это дополнительные телодвижения. А дополнительные телодвижения достоинством назвать трудно.
    ... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
    Re[10]: Недостатки Java/SWT
    От: rsn81 Россия http://rsn81.wordpress.com
    Дата: 06.09.07 10:27
    Оценка: +1 -1
    Здравствуйте, lomeo, Вы писали:

    L>Я к тому, что сколько инсталляторов не делай, а JRE пользователю нужно. Если его нет, то его надо качать и ставить. Как он это будет делать — качать отдельно или встроенный — неважно. Это дополнительные телодвижения. А дополнительные телодвижения достоинством назвать трудно.

    Грамотно распространяемое ПО позволяет пользователю:
    1. Выбирать для скачивания один из инсталляторов: с включенной средой исполнения или без.
    2. Во время установки инсталлятор определяет наличие среды исполнения (в случае .NET это кроме прочего и предшествующее определение наличия следующего ПО требуемой версии: IE, Windows Installer и прочее), и в случае ее отсутствия:
      • инсталлятор со встроенным сопутствующим ПО автоматически устанавливает его, пользователь, в принципе, может и не заметить этого;
      • "легкий" инсталлятор предлагает автоматически загрузить соответствуюшее ПО из Интернета;
      Таким образом, пользователю достаточно жимкнуть OK в диалоге: ПО будет при необходимости загружено и установлено.
    Телодвижения при грамотном распространении приложения минимальны — нажать OK в соответствующем диалоге. Проблема вовсе не в самом факте существования сопуствующего ПО, среда исполнения управляемых платформ в этом отношении ничем не отличается от используемой в программе конкретной библиотеки, БД и прочего. Проблема в том, как это сопутствующее ПО поставляется. Если программист не заботится о телодвижениях пользователей, то проблемы будут без вариантов.
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.