developers-roadmap icon indicating copy to clipboard operation
developers-roadmap copied to clipboard

Добавить упражнения по ООП

Open Znack opened this issue 5 years ago • 7 comments

Думаю на второго мидла дать упражнения на закрепление понимания ООП. Пока идея такая: реализовать Service Worker, для него сделать приём разного рода пушей (как минимум нескольких разных команд разного типа), проксирование работы с сервером для поддержки работы оффлайн и предоставить оттуда удобный механизм синхронизации вкладок. Всё это потребует хорошо спроектировать решение для выражения решения в объектах, показать изученные принципы ООП, и здесь React и Redux уже не помогут, так что думаю, что это хорошая иллюстрация, зачем фронтендеру ООП :)

Znack avatar May 18 '19 10:05 Znack

@NikitaRzm @in19farkt @Burize @kinda-neat @clicktronix @chmnkh хотел бы ваше мнение тут услышать :)

Znack avatar May 18 '19 10:05 Znack

Ну это получается даже как закрепление в принципе части второго мидла, тут и по сервис воркерам тема и по ООП (хотя я пока особо не представляю как тут можно круто ООП использовать). Можно чутка расширить и сделать просто задание на закрепление тем

clicktronix avatar May 18 '19 10:05 clicktronix

хотя я пока особо не представляю как тут можно круто ООП использовать

а можешь подробнее об этом? почему не представляешь? В чем сомнения и тд? Мне важно понимать, чтобы знать, что и как уточнить

Znack avatar May 19 '19 08:05 Znack

Я бы скорее предложил еще добавить персистентность: в частности - сохранение payload из пуша куда-то. Т.е. пуши например три вида:

  • напоминание о todo-item е: тудуитем в пейлоаде;
  • новый тудуитем добавлен (или кем-то отредактирован) - нужно например сохранить его отредактированный или вообще создать если его не было;
  • ну и обычный пущ информационный.

Тут уже можно затронуть сразу маппинг между слоями и как это выражать в ООП, по сути получится маленькое todo-приложение, которое ловит эвенты. Оно правда немного в вакууме - не знаю, кто бы стал таким образом поддерживать консистентность данных, но в теории можно придумать такую ситуацию, где приложение любыми способами пытается независимо от того, открыто оно или нет - получать самые актуальные данные как можно быстрее.

Такие мысли.

P.s. Непонятна синхронизация вкладок: нужен какой-то функционал в основе еще? Чтобы его данные синхронизировались, или как?

NikitaRzm avatar May 20 '19 03:05 NikitaRzm

Кстати да, я хотел там работу с локалстораджем сделать, забыл добавить в список. Надо будет обязательно.

Тут пока у меня идея доменку делать максимально абстрактной, чтобы это получилось что-то вроде либы-фреймворка для сервис воркеров. потом для своего проекта наследуешься от предоставляемых классов и реализуешь краткую бизнес-логику :)

Znack avatar May 20 '19 12:05 Znack

таки раз мне меншн поставили, то повторю то, что говорил ирл в 220

я тут не шарю, поэтому мнения у меня нет 🤷‍♂️

chmnkh avatar May 20 '19 15:05 chmnkh

Немного холивара в ПР про Service Workers по релевантной теме упражнений https://github.com/fullstack-development/developers-roadmap/pull/67

Znack avatar Nov 06 '19 07:11 Znack