Viktor
Ну качество - то такое :)
Ostap
Все, что касается безопасности или денег, все таки должно вертеться на сервере, и обычно это java
Ostap
Покрайне мере банковские сервера пишутся на джаве в большинстве случаев
Deleted
Ostap
Веб кабинет это всего лишь интерфейс
Viktor
Веб кабинет это всего лишь интерфейс
Я сейчас не говорю про остальные бонусы, вроде непревзойденного intellisence. Все бенефиты заключаются в повышенной безопасности самого кода без написания тестов на проверку типов и в целом поддержке абстрактной парадигмы мышления
Viktor
С этим нужно поработать просто для сравнения, здесь парой тройкой доводов не описать всего
Ostap
Я согласен, что статическая типизация это удобно, но как она защитит от xss атаки?
Viktor
Никак
Viktor
Это вообще не из той оперы)
Ostap
Тогда вернемся к css-in-js я так понял, это реально оправдано только если пишешь кроссплатформенное приложение
Ostap
Ну или просто лень переключиться на css'ку
Viktor
я в этом вопросе слабо подтянут, честно говоря, поэтому мое мнение наверное будет слишком субъективным. То есть я реально не особо пока задумывался в прагматичном ключе.
Я в принципе предпочитаю CSS-in-JS для написания одностраничных приложений из-за удобства. Естественно, для статических сайтов это все без надобности, хотя ты можешь спокойно верстать на react + typestyle (библиотека CSS-in-JS) и одной командой тупо рендерить это дело в html и css файлы
Viktor
Я ненавижу CSS препроцессоры
Viktor
я считаю, они ужасны (less/stylus расширяются через js, sass вообще руби-продукт)
Viktor
в CSS-in-JS мы не беспокоимся о классах вообще, об области видимости стилей мы также не беспокоимся вообще
Viktor
если у нас меняется состояние того же компонента в реакте, нам достаточно слить объекты с CSS свойствами и передать это дело компоненту
Viktor
мы можем динамически менять параметры сетки
Ostap
В удобстве как раз и вопрос, сейчас я пишу стандартно, html, sass, js, при необходимости vue и собираю все при помощи webpack
Viktor
если она написана на JS
Viktor
Deleted
css-in-js еще плох как минимум потому что ты отказываешь фактически от кеширования CSS файла и сильно замедляешь момент когда стили применятся на страницу
Viktor
возможно, не особо и имеет, честно говоря. Если бы мне было удобно и беспроблемно на Vue/sass, я бы никуда не ушел
Deleted
+ частично увеличиваешь время парсинга JS файла
Viktor
ты не отказываешься от кеширования, почему?
Viktor
просто кладешь их в отдельный файл, даешь ему имя на основе контрольной суммы
Viktor
а, ты об этом, ну тут я слабо разбираюсь, если честно. Говоря грубо, я могу пульнуть объект стилей глобально в память
Viktor
дело в том, что все css-in-js работают неодинаково
Viktor
raduim тупо обновляет атрибут style, typestype и afrodite их кешируют как-то точно, на выходе у них "безобразные" именя классов (тоже по типу контрольной суммы, то есть одинаковые объекты стилей в typesctyle, например, не порождают два класса)
Viktor
styled-components - вообще хз
но технически первый раз будет жесткий парсинг, да
Viktor
но мне кажется, все эти вопросы производительности столь незначительны, что ими можно пренебречь
Viktor
они там парсятся за десятую часть секунды
Viktor
имхо, лучше бы изначально весь CSS писали на JS
иногда на том же CSS -на-JS ты тулишь чей-то компонент, который на css написан, и приводить стили к одному порядку - жопа полная
Deleted
Viktor
бывало, я форкал чужие компоненты, они на стайлусе, я на sass, или наоборот
Deleted
Шанс ухода посетителя
Viktor
фэйсбук и вк тоже быстро грузятся?
Deleted
+/- 100 миллисекунд могут играть роль
Viktor
да не могут, имхо)
Viktor
если ресурс ценен, то останутся
Viktor
и я считаю пофигу даже на то, что гугл угрожает в ранжировании уронить "неотзывчивый" сайт
Ostap
Viktor
ну на новостных сайтах я пойду на жертвы, хорошо)
Viktor
просто эту "другие факторы" тоже нужо обкатывать*, и какой процент от времени загрузки съест работа с CSS - тоже нужно посмотреть
Viktor
может и не придется заморачиваться с ним
Viktor
CSS стало сложно писать в одном файле, встроенный @import создавал лишние сетевые запросы к серверу. Препроцессоры давали модульность, циклы, всякие игрушечные функции, примочки для построения БЭМ-like классов
Ostap
Единообразие кода?
Viktor
нет, единообразие формата
Ostap
Вебпак позволяет автоматически отформатировать бандл
Viktor
раньше очень многие писали на stylus (я до сих пор считаю, что он гораздо лучше sass, если смотреть по возможностям)
и если ты хочешь скомуниздить кусок кода на stylus и использовать его в sass - тебе нужна конвертация (ручная или автоматическая)
Viktor
единообразие синтаксиса, так наверное будет понятнее
Ostap
Если я захочу скомуниздить кусок кода с одного препроцессора на другой, я просто прогоню этот кусок через инструмент для конвертации
Viktor
в этом то и проблема, понимаешь
на мой взгляд мы боремся со следствием того, что у нас в принципе куча ненужных форматов
Viktor
все препроцессоры уже давно делают одно и то же
Viktor
но сейчас уже ничего не изменишь, люди привыкли ко всему этому
Ostap
По возможностям, лично мне от препроцессора нужны следующие вещи:
Нормальный импорт
Переменные
И вложенность для псевдоклассов и псевдоэлементов
Viktor
я понимаю, всем это нужно) и это есть в javascript
Viktor
только вложенность в CSS не нужна
Ostap
Но а зачем мне это загонять в js?)
Viktor
а тебе принципиально, в каком расширении файла писать свой CSS?)
Viktor
.sass/scss .less .js
Viktor
ну как бы классно конечно, только React/Angular/Vue компонентную модель стилей обыграли лучше
Viktor
согласен
css развивается ужасно медленно
двадцать лет мы шли к флексбоксу
Ostap
Viktor
в этом за один присест не разберешься) У Vue все прекрасно итак (про Angular не в курсе)
Viktor
для реакта подходит модель CSS Modules
Viktor
абсолюто та же вещь, что и у vue, только настраивать ручками
Viktor
с этим ты пишешь свой любимый CSS без всякого JS
Viktor
на выходе у тебя префиксные стили без конфликтов (с чем и боролся БЭМ, когда появился)
Ostap
Ага, тоесть это решает конфликт стилей
Viktor
да