2008-09-09 8 views
17

Я работаю над проектированием и созданием настольного приложения. Я думаю об использовании eclipse или netbeans для базы этого приложения. Однако я никогда не строил ни одну из этих платформ. Я лично склоняюсь к использованию netbeans, потому что он швы, как эта платформа, является более легкой кривой обучения. Но я хотел спросить людей, которые на самом деле используют эти платформы, перед которыми проще использовать?Рамка для рабочего стола Java

Мое личное определение вспомогательная скважина выглядит следующим образом:

  • Легко начать работу с

  • последовательны и логичны API

  • Хорошая документация

  • легко построить и развернуть

Большое спасибо,

Джош

ответ

6

Я не могу сказать достаточно о платформе Eclipse RCP. Я бы рекомендовал его для разработки приложений для Java-приложений.

Это бесплатно, имеет отличные уроки и позволяет кросс-платформенную разработку богатых настольных приложений, которые используют встроенный инструментарий для Windows, что означает, что ваше приложение будет выглядеть как родное на любой платформе. Он также имеет чистый API, который остается на вашем пути, и делает развертывание на любой платформе кусочка торта.

Если ваш интерес проверить эту книгу: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

1

Я использовал Eclipse в качестве рамочной основы, но это было в основном только с помощью SWT-- мы действительно не использовать большую часть RCP.

Это действительно зависит от того, что вы пишете, но из того, что я узнал от использования Eclipse, он действительно подходит для написания приложения, которое включает в себя редактирование данных с использованием различных видов (как и редактирование кода).

Что-нибудь более случайное, чем может привести к тому, что вы начнете толкать фреймворк в направлении, которое оно не было спроектировано и вызывало массовые сбои.

1

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

Вы можете положиться на http://www.javadocking.com/, чтобы упорядочить ваше приложение.

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

2
  • Простой в использовании: У меня есть опыт разработки на Eclipse, и я должен сказать, что это не так легко понять свою модель развития. Конечно, для базового материала у него есть несколько мастеров, которые облегчают работу, но для чего-то более сложного это просто сложно. Я не знаю о Netbeans, но я слышал, как это было проще.
  • Согласованный API: Я думаю, что Eclipse выигрывает в этом аспекте. Он работает над OSGI (приносит некоторую сложность) и имеет расширения плагинов для почти всего. Это, по-видимому, платформа для разработки плагинов, поэтому я могу предположить, что она надежна.
  • Документация: Eclipse выигрывает далеко. Справка с сайта eclipse отличная, и список рассылки содержит множество вопросов пользователей.
1

RCP имеет большое кривое обучение, но как только вы узнаете основы Затмение IDE сам поддерживает создание приложений RCP очень хорошо. Я только построил плагин для NetBeans (не создавал полноценное приложение), а кривая обучения была меньше, чем для приложения RCP. В книге Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications содержится подробное введение в создание приложений RCP.

1

Пожалуйста, ознакомьтесь с некоторыми приложениями с открытым исходным кодом на странице http://www.eclipse.org/community/rcp.php, прежде чем использовать RCP только для создания текстового редактора. Благодарю.

1

Я сделал небольшую работу с обоими, но только на относительно простых приложений. Оба они имеют примерно равные возможности. Я лично предпочитаю платформу Netbeans, поскольку это имеет больше смысла для меня.

Вы также должны рассмотреть JSR-296, платформу Swing Application Framework. Он обеспечивает базовую структуру для создания приложений Swing, управления ресурсами приложений, состояния и т. Д., Но без такого «багажа», как Netbeans и Eclipse. Netbeans IDE имеет ряд инструментов для создания приложений в SAF. См. https://appframework.dev.java.net/ для получения дополнительной информации.

Не зная больше о вашей заявке, трудно указать на подходящие сильные/слабые стороны двух платформ.

1

У меня есть аналогичная задача, и я также рассматриваю различные рамки. У меня есть опыт работы с Eclipse (~ 4 месяца разработки RCP), а теперь Netbeans (в течение нескольких дней). ИМХО эти рамки слишком сложны. Вы просто входите в отладку в Eclipse-специфических загрузчиках плагинов, пытаясь понять, почему вы получаете ClassNotFoundException или NullPointer. Та же история с NetBeans: как-то где-то где-то читает xml-файлы конфигурации и создает интерфейс от этого, круто, до тех пор, пока вы следуете руководству. И, конечно же, вы не можете разработать и RCP на основе Eclipse, используя некоторую другую среду IDE, NB также очень ревностно относится к ее использованию (если только вы не делаете некоторые хаки, как я). Что мне не хватает - это четкий способ отладки моих потоков от основного к действию. Вместо этого мне всегда говорят, что я должен делать, чтобы избежать исключений. И поэтому я должен держать пальцы скрещенными каждый раз, когда я пытаюсь вытащить что-то новое. И это никогда не срабатывает в первый раз. Теперь я подумал о возможностях, которые мне нужны, и я искал небольшие проекты, которые нацелены на определенные функции, такие как управление плагинами, например. И их много. Просто скомпилируйте список необходимых функций и начните добавлять небольшие рамки, объединив их в свой проект. Это также имеет смысл, поскольку в конечном итоге ваш проект должен потреблять меньше ОЗУ.

0

Я бы использовал Eclipse RCP, когда вам действительно нужна платформа для построения сверху, а не просто «виджеты», например, swing или swt. RCP является твердым и устойчивым, модульным и очень гибким. Как только вы овладеете им, вы получите огромные преимущества. Будучи платформой, вы получаете наиболее часто используемые вещи - предпочтения, конфигурации, автоматические обновления, управление макетами, брендинг и тому подобное. Вы создаете продукт, а не приложение. Но кривая обучения довольно крутая в начале.

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

1

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

У нас были хорошие впечатления от Swing.

0

Посмотрите некоторые из приложений с открытым исходным кодом на http://www.eclipse.org/community/rcp.php, прежде чем открывать, что RCP предназначен только для создания материала.

+0

Обратите внимание, что [ссылки только ответы] (http://meta.stackoverflow.com/tags/link-only-answers/info) не приветствуются, ответы SO должны быть конечной точкой поиска решения (а также еще одна остановка ссылок, которые со временем становятся устаревшими). Пожалуйста, подумайте о добавлении отдельного резюме здесь, сохранив ссылку в качестве ссылки. – kleopatra 2013-11-21 16:48:58