Можно ли использовать коллекции GWT Elemental в неэлементных приложениях?
Можно ли использовать коллекции Elemental (elemental.util.Collections, elemental.util.ArrayOfInt, elemental.util.MapFromStringTo и т. Д.) В неэлементном приложении GWT. Я уже использую эти модули:
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<!-- Inherit the RequestBuilder stuff. -->
<inherits name="com.google.gwt.http.HTTP" />
<!-- Inherit GQuery -->
<inherits name='com.google.gwt.query.Query' />
Но я бы хотел начать использовать облегченные коллекции Elemental, а не Java ArrayList и HashMap. Это возможно? Было бы довольно легко портировать с Elemental в его собственный модуль для этой цели? Спасибо за помощь.
2 ответа
Конечно, все, что вам нужно сделать, это включить следующую декларацию в дескриптор вашего модуля (*.gwt.xml
):
<inherits name="elemental.Elemental"/>
См. Элементный пример на стволе GWT.
Я не мог получить проекты GWT Elemental silvercomet или просто выполнить в FireFox.
Однако приведенный ниже простой элементный тестовый код выполняется в FireFox и Chrome вместе с модулями gwt user и http.
Файл модуля.
<module rename-to="HelloElemental">
<inherits name="elemental.Elemental" />
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<!-- Inherit the RequestBuilder stuff. -->
<inherits name="com.google.gwt.http.HTTP" />
<add-linker name="xsiframe" />
<set-configuration-property name="devModeRedirectEnabled" value="true" />
<entry-point class="com.google.silvercomet.client.Main" />
</module>
Класс точки входа -
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;
import elemental.util.ArrayOf;
import elemental.util.Collections;
public class Main implements EntryPoint
{
public void onModuleLoad()
{
ArrayOf<String> items = Collections.arrayOf();
items.insert( 0, "First" );
Window.alert( items.get( 0 ) );
}
}