Eclipse (/iˈklɪps/, от англ. затмение[1]) — свободный фреймворк для разработки модульных кроссплатформенных приложений. Разрабатывается и поддерживается Eclipse Foundation.
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).
SmartGWT - Полная библиотека виджетов, основана на JS библиотеке SmartClient. Главная особенность- позволяет связывать пользовательские виджеты с серверными компонентами. Что позволяет делать управление данными на стороне сервера. Серьезный конкурент библиотеке Ext GWT. Распространяется как по платной так и бесплатной лицензиям. В платной лицензии есть возможность использования Enterprise объектов и визуального редактора виджетов.
Смысл ясен. Надо соединить все это вместе.
1. Скачиваем eclipse для java.
http://www.eclipse.org/downloads/
2. Ставим поверх Web Tools Platform (WTP) Project.
http://www.eclipse.org/webtools/
3. Ставим GWT plugin для eclipse.
http://code.google.com/intl/ru/eclipse/docs/getting_started.html
4. Создаем проект Web Application Project.
5. Скачиваем SmartGWT.
http://code.google.com/p/smartgwt/
6. Заходим в свойства проекта, добавляем в Java Build Path -> Libraries - Add External JARs библиотеки:
smartgwt.jar
smartgwt-skins.jar (если вы планируете изменить скин, в обратном случае, скин по умолчанию находится в основной библиотеке)
7. Заходим в директорию war, добавляем в главном html файле перед основным подключенным js файлом следующее (для указания пути статики SmartGWT):
8. Добавляем в ModuleName.gwt.xml:
9. В классе EntryPoint (точка входа нашего приложения) ищем функцию onModuleLoad();
Пробуем SmartGMT, дописывая следующее:
SC.say("Привет, мир!");
Плюс импорт в начало:
import com.smartgwt.client.util.SC;
10. Жмем Debug, переходим по адресу, который отображает консоль Develompment Mode, устанавливаем плагин для Вашего браузера.
Видим примерно следующее:
Далее работает в обычном режиме - точки останова, дебаггинг и прочее.
11. Компиляция для опубликования.
12. Ну и пощупать SmartGWT online можно здесь, а gwt - здесь.
ps. К сожалению плагина для Google Chrome под linux нет. Выражены некоторые надежды на появлении его в пятой версии браузера.
К счастью разработку это не затормозит, так как есть версия плагина для Firefox.
А как насчет обмена данных и java persistence.
ОтветитьУдалитьНа стороне сервера у меня django..
ОтветитьУдалитьСпасибо, заработало...
ОтветитьУдалитьСделал все как написано в примере - выдается ошибка:
ОтветитьУдалить17:23:55.343 [ERROR] [subtrace] Unable to load module entry point class com.smartgwt.client.SmartGwtEntryPoint (see associated exception for details)
com.google.gwt.core.client.JavaScriptException: (TypeError): $wnd.isc is undefined
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
at com.smartgwt.client.SmartGwtEntryPoint.init(SmartGwtEntryPoint.java)
at com.smartgwt.client.SmartGwtEntryPoint.onModuleLoad(SmartGwtEntryPoint.java:239)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:193)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Unknown Source)
в чем может быть проблема? Заранее благодарен
8 пункт выполнен?
ОтветитьУдалить