Создание HTML5/JavaScript приложения (веб-сайта)
Требуется разработать веб-приложение (в виде веб-сайта), состоящее из трех основных страниц-модулей:
1. Авторизация (верстка: http://ufna.ru/dev/index.html)
2. Лобби (верстка: http://ufna.ru/dev/2.html)
3. Диалог подтверждения действия
Приложение работает как Single Page Application, т.е. все действия выполняются без перезагрузки страницы!
Основная верстка как вы уже видите по ссылкам - готова! Требуется из верстки сделать приложение, по-мелочи верстка конечно понадобится, но основной объем сделан.
Связь с сервером, авторизация и получение данных - все с помощью JavaScript SDK такой штуки как Parse: https://parse.com/docs/js_guide
Жду оценки стоимости и сроков. Ниже - подробности каждой страницы.
--== АВТОРИЗАЦИЯ ==--
Окно состоит из трех основных блоков:
1. Блок ввода данных
2. Блок доп. меню
3. Блок ошибки
Третий блок (ошибки) появляется только при ошибке авторизации и показывает возникшую ошибку. Исчезает плавно после нажатия "войти" с новыми данными.
После нажатия на кнопку "войти" появляется полноэкранный "индикатор прогресса", который будет играть роль нашего лоадинг экрана. Этот экран полупрозрачный, открывается поверх того, что было под ним (общий для приложения). В этот момент проводится авторизация, если все ок - переходим к лобби, если нет - выводим сообщение об ошибке и даем еще шанс.
--== ЛОББИ ==--
Текущий экран лобби это "обрамление" для модулей лобби, т.е. общие элементы - панель информации игрока и главное меню. Соотственно, от перемещения по главному меню зависит что будет в "свободной зоне", пример: https://dl.dropboxusercontent.com/u/15490650/Work/SeaCraft/Lobby_Modules.jpg или http://ufna.ru/dev/5.html#
Т.е. в целом лобби состоит из трех блоков:
1. Блок главного меню
2. Блок информации об игроке
3. Блок текущего модуля
В рамках текущего заказа стоит задача сделать рабочими первые два блока, для тестирования блока главного меню блоки №3 - просто разноцветные странички.
В блоке информации об игроке отображается информация, получаемая с сервера (см. выше про Parse).
--== ДИАЛОГ ПОДТВЕРЖДЕНИЯ ==--
Потребуется верстка, схематика простая:
- заголовок
- текстовый вопрос
- две кнопки: да/нет
Все тексты должны быть параметризируемы, т.е. класс диалога универсальный для кучи случаев жизни. Например, подтверждение выхода, продажи айтема и прочее.
--== ЛОКАЛИЗАЦИЯ И ДОПОЛНИТЕЛЬНЫЕ КОММЕНТАРИИ ==--
Все тексты должны быть локализуемы с возможной "горячей" заменой (т.е. пользоваель может в настройках сменить язык, и все тексты должны поменяться).
Учитывая что текстов дальше очень большое количество (как раз на тех страницах-модулях лобби), то надо подумать как эту систему лучше организовать.
У меня такое видение:
\ru
----\Authorization.json
----\Lobby.json
----\ShipsInfo.json
----\ModulesInfo.json
\en
----\Authorization.json
...
Т.е. разбиваем языки по папкам, внутри папок – набор файлов, каждый экран знает из какого файла он берет данные. Все, абсолютно все тексты (кроме, например, имени игрока, полученного с Parse сервера) – делаются через переменные языковые, т.е. способны быть локализированными, обычное ключ:значение
Возможно технически удобнее делать один json файл со значениями переменных, но в этом случае он все-равно должен собираться из "многих", т.к. держать и переводить все тексты в одном файле – очень сложно.