Проектирование приложения

Теперь о генерированном нами скелета приложения, мы использовали утилиты projectCreator и applicationCreator, давайте спроектируем наше конечное приложение. Приложение StockWatcher будет весьма просто просто просматривать состояния виртуальных акций. Конечный вид приложения будет таким:



Давайте поговорим о возможностях которые нам нужны от программы:

Пользовательский интерфейс

Список акций

Акции будут отображаться в виде таблицы. Мы хотим отображать названия акций, текущую цену, и ее изменение за сегодня (абсолютную величину изменения и процентное величину). У нас должно быть AJAX приложение, мы не хотим заставлять пользователя кликать на кнопке обновить, что бы увидеть новые данные по акциям. Нам необходимо что бы данная таблица обновлялась сама автоматически и периодично. В каждый момент обновления, мы будем наблюдать дату последнего обновления, что бы заверить пользователя в том что цены текущие.
Первоначально приложение будет полностью на клиентской стороне, мы будем генерировать случайные данные по акциям. Мы не рекомендуем использовать эти данные что бы делать какие либо инвестиции, или другие серьезные действия. Лучше воспользуйтесь таким средством как Google Finance.

Добавление/удаление акций (наименования)

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

Клиентский код

Ядро GWT это компилятор, который конвертирует исходный кода JAVA в JAVASCRIPT, трансформируя ваше рабоче приложение в эквивалентное JAVASCRIPT приложение. Однако надо учитывать ограничения JAVASCRIPT исполняемого в среде браузера, которые не поддерживает GWT. Мы должные помнить о этих ограничениях при написании исходного кода программы StockWatcher.

Поддержка языка (JAVA)

GWT поддерживает семантику языка JAVA версии 1.5. Вы можете использовать любы собственные типы данных, классы (и прочее) в вашем приложении. Однако JAVASCRIPT не поддерживает 64-битные целые числа и числа с плавающей точкой, одинарной точности, так что следует избегать использование переменных long или ключевого слова strictfp в исходном тексте JAVA. JAVASCRIPT (и его расширения, GWT) не поддерживает многопоточность, так что не используйте слово synchronized, и не делайте вызовов методов Object.wait(), Object.notify() и Object.notifyAll(). Так же, GWT не поддерживает механизмы рефлексии, хотя есть возможность узнать имя класса, для указанного объекта, через метод GWT.getTypeName(Object). JAVASCRIPT также имеет встроенный сборщик мусора (GC), но JAVASCRIPT не поддерживает финализаторов, так что Java финализаторы определенные в программе не будут выполнены в web режиме.

Поддержка библиотеки времени исполнения

JAVA 2 SE и JAVA EE библиотеки поставляют большое кол-во классов, но не вся их функциональность возможна в браузере. GWT поддерживает часть JAVA платформы, которая определена в пакетах: java.lang и java.util. GWT частично эмулирует регулярные выражения JAVA, синтаксис регулярных выражений используемых в GWT не идентичен JAVA регулярных выражений. GWT использует возможности регулярных выражений JAVASCRIPT.

Обеспечение GWT совместимости

При написании приложения используйте языковые возможности (фичи языка) и классы которые поддерживает GWT. Что бы найти несовместимость (классов/языка) в процессе разработки вашего приложения, отлаживайте его при помощи Хост — режима, если будет задействована не поддерживаемая JAVA функциональность, то вы увидите в окне отладки соответствующие сообщения.

Комментариев нет:

Отправить комментарий