Хорошее, продуманное решение. Улыбнулся от фразы «самое важное — стремитесь к минимализму». Возможно в вашем подходе есть недостатки, но в минимализме его не упрекнешь.
Я пошел другим путем: сделал на ReactJS транспайлер, который преобразует JSON в реакт-примитивы (типа div и пр.) и сложные компоненты типа FileShow. Формы сделаны на Питоне и хранятся на сервере в отдельных директориях. Обработчики форм (команды, скрытие, валидация) в подгружаемых чистых JS. Шесть проектов разного уровня сложности используют 1 JS размером около 300 кб. Количество СПА около 30. В качестве примера SPA, в которой можно открыть несколько SPA. Если в поле «Более поздние обращения, ответы» нажать ссылку, открывается связанный документ. Многооконное SPA :) GitHub
Люди разные: некоторые мыслят глаголами(глагол — это действие), некоторые — существительными (предметами).
Лично меняя ООП очаровало именно философией, когда программа есть совокупность объектов, обменивающихся сообщениями (т.е. генерирующих события).
А наследование, полиморфизм и прочую атрибутику ООП я уже потом освоил.
Ничего не понимаю :). Я залогинился на хабре, открываю разные статьи, — всюду авторизован. Тоже самое с iframe, — ничего никуда не передаю, и всюду присутствую под своим юзернэйм. Браузер сам передает нужный кук с авторизацией.
Я не фанат iframe, просто без них иногда не обойтись. Я уже писал выше об этом
Если перейти по ссылке, откроется регистрационно-контрольная форма, в ней вложения. При нажатии «быстрый просмотр» для pdf-файла открывается модальное окно в iframe с кнопочками от G.Chrome/MF.
Как это можно сделать без iframe, я не знаю. Если есть варианты, поделитесь, плиз.
Ниже есть поле «Более поздние обращения, ответы». Если нажать ссылку, открывается связанный документ, НЕ в iframe. Многооконное SPA :)
Почему «Микрофронтенды», а не виджеты?
Мне без iframe не обойтись: если нужно быстро что-то просмотреть в диалоге и отправить на печать, то иначе никак.
Пример микро и макро фронтенда здесь.
Люди разные. Кто-то мыслит существительными, кто-то глаголами. Уважаемый Дэн предлагает в основу положить действия, т.е. глагол. Мне лично переход от объектов к функциям кажется странным. В простейших случаях я использую функции, но сложные контролы предпочитаю строить на основе классов. Я не против функционального программирования, но для сложных форм больше подходит ООП
У меня в 3 проектах 29 форм. Самая крутая 52 поля (без учета полей в вызываемых диалогах). Я относительно просто решил аналогичные проблемы. Сделал код объектно-ориентированным (redux-free-zone): форма — объект, контрол (поле) — объект. Контролы и формы генерят команды. Обработчики команд в подгружаемых скриптах на ванильном js. Валидация аналогично. Скрытие аналогично. Все летает. Формы делаются на питоне, реакторную часть месяцами не трогаю.
Присоединяюсь и советую прислушаться к рекомендации НЛО: «Мы призываем вас критично относиться к любой публикуемой информации».
При всем уважении к автору он не вирусолог.
То, что сделал разработчик сайтов выглядело прекрасно. Ему в качестве прототипов дали несколько расписаний в т.ч. гугл, и он сделал даже лучше. А пользователи забраковали. Им нужно нажать пальцем кнопку и выйти. И чтобы чем проще, тем лучше. То, что я сделал за выходные ради интереса, они оценили как «Это то, что мы хотели».
Приложение — это не веб страница, оно делается под конкретных пользователей.
Проблема одна: разработку приложения поручили разработчику сайтов. Не все программисты понимают разницу, а тем более заказчики.
На сайт заходят, приложением пользуются. Интерфейс принципиально разный, не важно WA или PWA.
Пример из жизни: знакомой потребовалась на сайте почасовая аренда помещений. Программист все сделал отлично, но пользователи сказали, что работать с этим не будут. И слово свое сдержали. Потому что смартфон — это не ПК. Программист заявил, что они просят 40000 кнопок на странице, — это не возможно. Мне стало интересно, инструмент есть, и я сделал для них PWA. Восторг пользователей не передать. Потрогать можно на react-py.ru. Пример № 2
У меня весь проект 260 кб, прикольно будет, если в es2015 останется 60.
Если серьезно, то я завидую вашему cli для ангуляра. Может и в create-react-app это можно легко настроить, знать бы как. Спросил у stackoverflow — никто не ответил.
Даст ли ускорение переход на ES-2015? Я использую create-react-app, на выходе «старый» js (нет ни «let», ни "=>"). Где бабелям и вебпакам сказать, что я хочу ES-2015? Я бы сравнил и рассказал. У меня в одном прикольном проекте около 40000 кнопок на странице (36000 скрыты, 4000 видны). Заказчик так приказал. Летает и на десктопах, и на смартфонах.
Люди разные. Кто-то мыслит существительными, кто-то глаголами. Мне лично ближе объекты.
Я пошел другим путем: сделал на ReactJS транспайлер, который преобразует JSON в реакт-примитивы (типа div и пр.) и сложные компоненты типа FileShow. Формы сделаны на Питоне и хранятся на сервере в отдельных директориях. Обработчики форм (команды, скрытие, валидация) в подгружаемых чистых JS. Шесть проектов разного уровня сложности используют 1 JS размером около 300 кб. Количество СПА около 30. В качестве примера SPA, в которой можно открыть несколько SPA. Если в поле «Более поздние обращения, ответы» нажать ссылку, открывается связанный документ. Многооконное SPA :)
GitHub
Лично меняя ООП очаровало именно философией, когда программа есть совокупность объектов, обменивающихся сообщениями (т.е. генерирующих события).
А наследование, полиморфизм и прочую атрибутику ООП я уже потом освоил.
Я не фанат iframe, просто без них иногда не обойтись. Я уже писал выше об этом
Как это можно сделать без iframe, я не знаю. Если есть варианты, поделитесь, плиз.
Ниже есть поле «Более поздние обращения, ответы». Если нажать ссылку, открывается связанный документ, НЕ в iframe. Многооконное SPA :)
Мне без iframe не обойтись: если нужно быстро что-то просмотреть в диалоге и отправить на печать, то иначе никак.
Пример микро и макро фронтенда здесь.
подгружаемые скрипты:
обработчик команд, скрытие полей
валидация
Есть пример многооконного СПА :)
Документация
Исходники
При всем уважении к автору он не вирусолог.
Приложение — это не веб страница, оно делается под конкретных пользователей.
На сайт заходят, приложением пользуются. Интерфейс принципиально разный, не важно WA или PWA.
Если серьезно, то я завидую вашему cli для ангуляра. Может и в create-react-app это можно легко настроить, знать бы как. Спросил у stackoverflow — никто не ответил.