All streams
Search
Write a publication
Pull to refresh
24
0
Илья Агарков @ElianL

User

Send message
styled-component работает не через inline стили, а генерит css-классы которые и прокидывает в элементы
При использовании BEM вам никто не помешает в разных компонентах, случайно заюзать одно имя класса более одного раза…
С SC этой проблемы вообще не возникает
Во первых, статья про язык, а не про то где какие его фичи поддерживаются.

Во вторых, это не проблема, берете babel и вперед.
Дак вроде как это вошло в уже в ES2018
И чем это отличается от opacity: 0? Opacity просто делает элемент прозрачным (или полупрозрачным), а visibility: hidden ещё не даёт с ним взаимодействовать: навести, кликнуть, сфокусировать.


Так же что стоит заметить, что opacity создает новый контекст для расчета z-index. Плюс opactity можно анимировать
reducer'ы должы быть чистыми функциями, нельзя в них писать что-то в localStorage.
как то вы недооцениваете сложность современного фронтенда
Вот и назвать его надо ico-leftpanel


Вот только завтра приходит дизайнер и переносит вашу левую панель на право, а ваши иконки по прежнему содержат в себе leftPanel
при чем тут fetch?
Вот только сами промисы создаются с передачей в конструктор фукнции в качестве параметра. То есть — callback

element.addEventListener('click', ()=> {...}) 

на промисы или async/await как будете переводить?
Не силен в микросервесах, да и в бекенде тоже… Но разве микросервисы не подразумевают, что любой микросервис в системе может быть написан на любой технологии и языке? И пока нет реализции cote на других языках и платформах, использовать его для создания большой системы будет проблематично?

А в целом за статью спасибо. Интересно
в последний версии Chrome уже нет этой проблемы — пример рабочий
Смотрели, не понравилось.
Написали свое react-bem-classes — может кому понравится
Никто и не говорил про разные домены. На каком домене это все крутиться вообще не при чем. Мы говорим о разбиении на два логический проекта(на уровне репозиториев)

Бессмысленное для пользователя генерирование на сервере html с данными при старте каждой сессии

Не бесмыленное — визуально перформанс растет. C сервера приходит уже готовый html
плюс такие страницы индексируются поисковиками

Лишний блокирующий загрузку всего остального запрос за html, которого могло бы и не быть.

нода не блокирует загрузку за счет асинхроности js

Невозможность выложить на статический сервер типа github.io.

и? сколько страниц в интернете генерится, к примеру, php их тоже нельзя выложить

Невозможность без плясок с бубном завернуть в cordova или chrome app.

лично заворачивал в cordova приложение где фронт был написан с прослойкой на node (c reactjs) — проблем никаких. Потому что фронт умеет рендериться там где есть js

Костыли для обеспечения кроссбраузерности.

при чем тут нода?

Невозможность раздачи через CDN

аналогично с "невозможность выложить на статический сервер типа github.io."

Плюс выноса фронта в отдельный проект в том, что сам фронт и решает каким ему быть после сборки — статикой или легким nodejs сервером. Он никак не завазян на язык/фреймворк бекенда. Мы можем переписывать любую часть, другой это коснется

Он полностью абстагирован от бека, как бы это было например с iOS или Android приложением.

Я уж молчу на сколько это удобно когда бекендерам вообще не приходиться думать, о html/css/js файлах — в их репе их просто нет.
А фронтедрам не нужно поддерживать локальную версию бека, заботиться о миграциях, установки зависимотей бекнда и так далее. Они спокойно забирают данные с удаленного сервера и все. + Всегда могут локально просить данные с продакшен сервера(ведь часто баги появляются именно на рабочем контенте)

На эту тему советую почитать вот эту статью https://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/
"чёткое разграничение зон ответственности" — как раз таки будет разбиения проекта на два отдельных =)

"Сами по себе они отрендериться на сервере не смогут" — для этого есть nodejs

"куча проблем с кешированием" — при полноценном серверном рендере страницы не статичны, а в случае если вы отдаете браузеру просто пустой html-заглушку то это не большая проблема, так как все "большие" части(js/css) все равно закешируются
решени с решеткой это не изящное решение, решетка для браузера это якорь к которому нужно проскролить страницу после ее загрузки, а никак не часть роута.

History Api придумали не просто от нечего делать.

Плюс ссылки с решеткой плохо индексируются поиковиками. Обращаю ваше внимание, что Angular2 (и ReactJS к примеру) могут отлично сами рендериться на сервере

Ваше решени это просто костыль и использование инструментов(решетки в урле) не по назначению
я не могу предоставить вам рабочий кусок кода, потому что я не знаком с данным фреймворком но примерно это может выглядеть так (пcевдокод)

Route::get('/templates/{template}', [
    'uses' => 'MyApp\AngularTemplatesController@index',
])

Route::get('/templates/{template}', [
    'uses' => 'MyApp\AngularTemplatesController@index',
])

Route::get('/assets/*', [
    'uses' => 'MyApp\staticController@index',
]);

Route::get('/api/*', [
    'uses' => 'MyApp\apiContoller@index',
]);

Route::get('*', [
    'uses' => 'MyApp\IndexHTMLController@index',
]);
"определить какие урлы должен обрабатывать бекенд(статика, api) все остальное уже "редеректить" на html где урл подхватит клиент"

чем не решение?
Даже если оставлять все один проектом, то есть решени куда лучше:
определить какие урлы должен обрабатывать бекенд(статика, api) все остальное уже "редеректить" на html файл где урл подхватит клиент.
Идея копипастить урлы из одного файла в другой это просто ужас.

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity