Git Product home page Git Product logo

shri-architecture's Introduction

shri-architecture

Задание по архитектуре для ШРИ-2018

Постановка задачи

Вам предлагается реализовать один из наиболее популярных в мире фронтенда архитектурных подходов - Flux - в формате простого фреймворка. Ваш фреймворк должен уметь обрабатывать действия пользователя и предоставлять API для связи с бэкэндом

Требуемая реализация

Вам предлагается 2 файла - index.html и sendToServer.js. В index.html вы найдете простую форму: инпут для ввода текста, кнопку "отправить на сервер" и лейбл. В sendToServer.js находится фейковый метод отправки данных на сервер. После "успешной отправки" метод вызывает событие dataIsSent.

Вам предлагается написать Flux реализацию фреймворка, который бы осуществлял отправку данных на сервер по нажатию на кнопку, а после успешной отправки писал в лейбле "Сервер принял данные <текст из инпута>". Каждый этап (передача данных и/или управления между элементами архитектуры) должен логироваться в консоль и на экран.

Использование фреймворков и библиотек, в том числе jQuery, запрещено. Реализовывать виртуальный DOM для Flux-архитектуры не нужно. Изменять API sendToServer - можно и даже рекомендуется (при сохранении "функциональности"). Изменять верстку index.html - можно, но необязательно.

Обратите внимание, что в стандарте es5 еще нет классов и разделения кода на модули. Если вы используете es5 - прочитайте, как реализовать модули и классы, например, в книге Стояна Стефанова "Javscript. Шаблоны".

Минимальное решение

  • Реализация фреймворка Flux с логированием в консоль
  • Сделать логирование событий на экран

Оптимальное решение

  • Реализация MVP-фреймворка с той же функциональностью

Дополнительное задание

  • Реализовать другие архитектурные подходы (MVC, MVVM)

Сроки и сдача

Домашнее задание сдается до 1 апреля 2018. В соответствующий тикет приложите ссылку на репозиторий или решение в архиве и ссылку на работающее приложение.

shri-architecture's People

Contributors

laete avatar

Watchers

James Cloos avatar Alex Bakoushin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.