LINUX.ORG.RU

React vs Vue vs Svelte vs somebuzzword: что лучше?

 , svelte,


0

2

React/pReact

App.jsx:

import { h, Component } from 'preact'

export default class App extends Component {
  state = {
    counter: 0,
  }
  increaseCounter = (e) => {
    this.setState((state) => ({
      counter: ++state.counter
    }))
  }
  render(_, { counter }) {
    return (
      <button onClick={this.increaseCounter}>
        Count: {counter}
      </button>
    )
  }
}

index.js:

import { h, render } from 'preact'
import App from './App'


render(<App />, document.querySelector('#app'))

Vue

App.vue:

<template lang="pug">
button(@click="++counter") Count: {{ counter }}
</template>

<script>
export default {
  data: () => ({
    counter: 0,
  }),
}
</script>

index.js:

import Vue from 'vue'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App)
})

Svelte

App.svelte:

<script>
let counter = 0
</script>

<button on:click={() => ++counter}>Count: {counter}</button>

index.js:

import App from './App.svelte'

export default new App({
  target: document.body,
})

Прочее

index.html примерно общий для всех:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta charset="utf-8" />
    <title></title>
    <meta name="author" content="" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
  </head>
  <body>
    <div id="app"></div>
    <script src="./index.js"></script>
  </body>
</html>

Запускал все через parcel.

Можно ли сделать на основании этих примеров вывод о громоздкости реакта? Или вы можете привести примеры, где React менее многословен (это у меня еще без TypeScript). Сейчас примерно половина вакансий с React. Мне нужно определиться нужно ли вдовесок выучить эту парашу (хотя там учить особо нечего, но меня тошнит от смешения разметки и js)

★★

Последнее исправление: tz4678 (всего исправлений: 2)
Ответ на: комментарий от anonymous

причина несостоятельности названа

Эта причина несостоятельности несостоятельна по той причине, что никак не влияет на объективную реальность и принятие бизнес-решений: x86 живёт и здравствует, используется в новых процессорах, а потуги царской персоны помножить его на ноль помножены на ноль.

Это просто рудимент для обратной совместимости с маздаем и прочим дерьмом

Чушь, маздай уже давно портирован как минимум на ARM.

В какой вселенной может жить то, что эмулируется?

Двоичная логика тоже «эмулируется» на беготне электронов по полупроводникам. И что? Кого это волнует, кроме царской персоны?

mertvoprog
()
Ответ на: комментарий от mertvoprog

А gcc давно самодостаточен?

Да, бездарная обезьяна. Всё это сишный/крестовый рантайм. Написан либо на си, либо на С++. В контексте C++ это ничего не значит, потому что С++ и есть си. И никак не отрицает си как составную часть себя.

Точно так же даже asm часть си, потому как везде и всюду используется инлайн-асм гнутый, который именно часть гцц и часть си.

Часть — это когда кроме Rust он ни в чём больше не используется.

Нет, птушник.

В данном случае же это зависимость.

Нет, птушник. К тому же что бы ты не блеял - у тебя проблема. Если это зависимость, то ты не можешь неделять поделку свойствами зависимости.

Таким образом получается, что без зависимостей ворованной. Запомни, птушная обезьяна, никого не интересуют зависимости как такое. Мы обсуждаем то - ворованные они или нет и написаны они на говнорасте или нет.

Дак вот, получается, что говнораст без этой зависимости ничего не может, вообще. А значит ни в какой вселенной он сам на себе не написан.

По такой же методике, тупая ты бездарная обезьяна, если я пилю обёртку над гцц на баше, то у меня будет реализация сишки на баше? Я правильно понимаю тебя, обезьяна? Ведь тогда гцц - это завиисимость?

А может, и ОС

Да, обезьяна. У сишки с этим проблемы нет. К тому же ты обделался, птушная макака. Мы обсуждаем конкретный уровень - уровень компилятора. На то, что там ниже - всем насрать.

, и микрокод процессоров? Чего ещё нафантазируете?

А тут ты совсем обделалась. Потому как это уже не софтварный уровнеь и он вообще вне контекста.

anonymous
()
Ответ на: комментарий от anonymous

ООП создан крестами

Смелое заявление.

не брал у жабы

аки жаба

На ноль поделили.

ООП уже давно значит то, что породил С++

Вы ещё скажите, что лопаты без клавиатуры вдруг стали смартфонами, а старая классификация ничтожна, ага.

но оно так же существовало в рамках одной методологии

А что тогда существовало/существует вне её?

В школу сходи

какие-то птушные

Вы предлагаете после ПТУ пойти в школу? Лихо!

вспомнить про какую-то маргинальную херню

Ну с таким подходом вся математика маргинальная, ведь нигде напрямую на практике не используются. Просто аппарат для других наук и индустрии. Равно как и прочее теоретизирование.

А вот js и ФП противоречат

Как JS может противоречить ФП, если в него нахапаны куски разных парадигм и ни одна не представлена там в чистом виде?

оно было всегда. Во всех языках

Даже в ассемблере?

В вот новое ФП - это отрицание старых идей

С учётом того, что Вы не признаёте теоретический ООП, а лишь тот, что сформировался из него на практике в промышленных языках — странно, что Вы пытаетесь при этом сравнивать его с идеальным ФП, а не с тем мутантом, который реально сформировался в промышленных же языках.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Они не нужны. Просто прими как данность. Для SPA через настройки Nginx все запросы на несуществующие страницы перенаправляются на /index.html, а дальше роутер разбирает location.pathname и выбирает нужный роут

tz4678 ★★
() автор топика
Ответ на: комментарий от anonymous

Часть — это когда кроме Rust он ни в чём больше не используется.

Нет, птушник.

Обоснуйте.

Если это зависимость, то ты не можешь неделять поделку свойствами зависимости.

А кто наделяет? Вы так и не принесли никаких пруфов на наделение из технической документации, только маркетоидный понос из лендинга.

если я пилю обёртку над гцц на баше, то у меня будет реализация сишки на баше?

Аналогия некорректная. Стоит сравнивать с реализацией баша на баше. Которая вполне может дёргать что-то внешнее, в том числе gcc, исходя из самой юниксвейной баша — он предназначен не для программирования на самом себе, а для склеивания в кучу CLI-инструментов.

У сишки с этим проблемы нет

Ну ОС на Rust уже тоже есть :3 Значит, когда LLVM перепишут на Rust — Вы успокоитесь?

уровень компилятора

Ну так Rust комплируется в LLVM-байткод. Что там ниже — всем насрать. Нет какой-то принципиальной разницы между байткодом LLVM и микрокодом x86 — шо то абстракция, шо это.

Потому как это уже не софтварный уровнеь

Технически таки софтварный.

mertvoprog
()
Ответ на: комментарий от tz4678

Они не нужны

Кто «они»?

через настройки Nginx

При чём здесь вообще бэкенд? Проблема не в этом, а в самом факте обращения к нему. History API отлавливает действия перехода по истории, в том числе можно искусственно пихать туда новые ссылки и «переходить» на них, но при этом нельзя банально отловить ввод/вставку нового URL. Это вопиющая дыра в его концепции, делающая его полупригодным.

mertvoprog
()
Ответ на: комментарий от mertvoprog

Ну так Rust комплируется в LLVM-байткод.

Всё, обезьяна. Ты обгадилась. Компиляция в llvm-байткод использует llvm-рантайм. Ты сам себе нассал на рожу. Молодец.

Меньше жри пропаганды. Это, кстати, показатель того, как бездарная обезьяна пытается искать оправдания. Но сама же своими нелепыми потугами лишь подтверждает мои тезисы. Я говорил, что ЦА этого говна птушники, которые ничего не знают и повторяют вбросы пропаганды. Так и вышло.

Птушная обезьяна уже второй раз обделалась. Она попыталась приписать в говнорасту генерацию llvm-байткода, чем он не занимается. Всё, мне даже ничего приводить особо не пришлось - тупость обезьяна сама всё сделает.

anonymous
()
Ответ на: комментарий от mertvoprog

x86 живёт

Нет, обезьяна. х86 не живёт. Ты обгадилась.

используется в новых процессорах

Не используется, обезьяна. В новых процессорах существует лишь слой совместимости с х86. Т.е. встроенный бинарный транслятор.

х86 как архитектура более не существует. Не существует процессоров нативно её поддерживающих.

Чушь, маздай уже давно портирован как минимум на ARM.

Обезьяна. Там нет никакого портирования - там высрано отдельное говно. Это раз.

Два, маздай никому не интересен как маздай. Это бездарное говно. Есть легаси-говно бинарное и ему нужна пускалка.

Поэтому даже маздай существует в рамках х86. И поэтому за пределами х86 это говно имеет 1% рынка. Почему? правильно, по той самой причине.

Если бы это причины не было - маздай бы везде имел ту же долю рынка. Чего не наблюдается.

Двоичная логика тоже «эмулируется» на беготне электронов по полупроводникам. И что? Кого это волнует, кроме царской персоны?

Нет, обезьяна. Двоичная логика реализуется, а не эмулируется. В школу сходи - словарик почитай.

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

А так, вся микроэлектроника(связанная с вычислениями) строиться на базовых, обезьяна тупая, двоичных примитивах.

anonymous
()
Ответ на: комментарий от mertvoprog

До такой степени, что варнингами будут срать, но заведутся? Пруф.

Обезьяна - в школу сходи. Весь лор примерами завален.

Вы всерьёз пытаетесь выдавать лендинг для манагеров и толстосумов за «методички»? Заметьте, это Вы туда пошли, не Мы.

Т.е. ты согласен со мною, что ЦА говнораста - обезьяны? О чём ты кукарекал, что-бы потом так эпично обделаться?

Если же ЦА этого говна не обезьяны - почему оффсайт сделан для обезьян?

anonymous
()
Ответ на: комментарий от mertvoprog

фейспалм. да, он не перехватывает, ты переходишь на несуществующую страницу, которая типа алиаса для /index.html, а дальше все как я описал

tz4678 ★★
() автор топика
Ответ на: комментарий от mertvoprog

ООП-ная шелуха не может быть базой по сути своей, поскольку и без неё успешно программировали

Не аргумент. Успешно программировали и вовсе без языков программирования, и даже без компьютера. А так берем любой букварь по алгоритмам, и если автор не идиот, то он сразу на первых страницах показывает на пальцах абстрактный тип данных. Эта фундаментальная концепция и есть основа ООП. Дальше развилка: можно пользоваться готовыми средствами языка для описания таких типов, будет все просто и лаконично. А можно налепить все то же самое из говна и палок модулей, структурок и замыканий. Будет страшненько и костыльно, но зато илитарно. Но совсем без инкапсуляции обойтись нельзя, и нет таких языков в мейнстриме, где бы не было ООП в том или ином виде.

bread
()
Ответ на: комментарий от bread

Без ООП никто и никогда не программировал. Мир не знает таких прецедентов. Даже сам птушник до этого в какой-то мере дошел.

А можно налепить все то же самое из говна и палок модулей, структурок и замыканий. Будет страшненько и костыльно, но зато илитарно.

Не, не. Это не правильно. Не нужно так делать. Здесь упускается фундаментальный момент.

Дело в том, что секта не предполагает всего это. Они декларирует какой-то свой подход, но. Ни один сектант не смог создать язык, либо что-то подобное используя подходы данной секты.

И тут нужно было что-то менять. И именно под давлением среды фп-секта решила воровать чужое. Срочно понадобилась инкапсуляция как база, да и не только.

Потому что у фп-сектаы было два варианта - сдохнуть, либо воровать чужое. И они, очевидно, побежали воровать. В противном случае мы бы о них ничего не знали.

И даже всё это - это не попытка заново изобрести средства ООП и иже с ним. Это просто откапывание того, что существовало в языках ещё с их зарождения.

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

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

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

Правда все преимущества существуют лишь в их нелепых фантазиях.

anonymous
()
Ответ на: комментарий от anonymous

И вот ведь чудо. Ситуация с метапрогом аналогичная говнорасту и почему-то хомячьё-адепты говнораста хейтят его за то, за что не хайтят говнораст.

Чем ты это объяснишь?

метапрог родил свою поделку как нахлабучку поверх готовой системы и далее начинает выдавать свойства этой системы за своейства своей нахлабучки

Я ни на секунду не скрывал, что взял сишную систему типов. Думаю, что из структур, юнионов и указателей можно собрать практически все остальные возможные плюшки.

metaprog
()
Ответ на: комментарий от anonymous

А ведь он просто не хотел велосипеды бахать.

Опять же, лучше сишной системы типов как основы придумать что-то трудно.

А сама поделка позволяет не ней пилить то, что пилит он. Опен сорс она или нет - это неважно.

Как-то так, только прототип Метапрога - самый что ни на есть опенсорс. Его LabVIEW-диаграммы выложены вместе с исходником и распространяются под GPL v3. То что LabVIEW не опенсорсное - это дело десятое.

metaprog
()
Ответ на: комментарий от metaprog

Послушай-ка, дружище, нам тут не нужны проблемы не нужен еще один метапроготред. Шел бы ты отсюда, а? %)

Nervous ★★★★★
()
Ответ на: комментарий от metaprog

Чем ты это объяснишь?

Понятия не имею. Я не читал темы. Знаю только о заходах некоторых адептах.

Я ни на секунду не скрывал, что взял сишную систему типов. Думаю, что из структур, юнионов и указателей можно собрать практически все остальные возможные плюшки.

Речь идёт не о сишке, а о лабвью. Я понятия не имею скрывал ты или нет - я ни в чём тебя не обвиняю. Я говорю о тезисах конкретной обезьяны. В данном случае неважно что там происходило в реальности.

У нас есть ситуация, которую описала обезьяна(пусть даже и не верно) и её реакция.

anonymous
()
Ответ на: комментарий от metaprog

Опять же, лучше сишной системы типов как основы придумать что-то трудно.

Я про лабвью.

Как-то так, только прототип Метапрога - самый что ни на есть опенсорс. Его LabVIEW-диаграммы выложены вместе с исходником и распространяются под GPL v3. То что LabVIEW не опенсорсное - это дело десятое.

Я про лабвью, повтор. Здесь смысл в том, что обезьяна ссылается на то, что раз на чём-то разрешено что-то пилить - украсть это нельзя.

anonymous
()
Ответ на: комментарий от Nervous

Неужели наш монарх — ооп-сектант? Какой позор %)

Чини методичку. Это просто объективный факт. Вся прикладная разработка связана с ООП. И рядовому батраку насрать на всю эту идеологическую херню - ему важно удобство.

Имело бы фп-говно какое-то отношения к прикладному миру - там было бы тоже самое. Это никак не связано с ООП.

А что касается меня - я не отношу себя к какому-либо ООП. Я отношусь в надООП, т.е. тому, что называют фп-птушники императивщине.

Для меня вообще нет никакой разницы. Потому как ФП-параша более императивной, нежели ООП. Потому как базируется на ворованных подходах древних.

anonymous
()
Ответ на: комментарий от metaprog

Думаю, что из структур, юнионов и указателей можно собрать практически все остальные возможные плюшки.

У типизации есть два назначения. Первый - это типизация, условно, памяти. Ну и операций над нею.

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

Дак вот сишка - это про первое. Но система типов не ограничивается первым. Это нужно понимать.

Если проще - память - это некое пространство. Сишка работает с ним на уровне контейнеров и примитивных операций над ними. Контейнер 1/2/4/8 и далее кубов. Какие-то стопки из них. Это тот самый первый уровень.

А вот второй уровень - это уже всё остальное. наполнение, семантические(и не только) контейнера. Что в нём, куда он перевозятся, чьи там находятся вещи. Куда конкретное они едут.

Ты пока что ограничен только парадигмой контейнеравоза. Тебе не интересное ничего, кроме объёма и прочего описанного первым уровнем. Но это не значит, что этим в реальности всё ограничено.

Воспринимай систему типов шире.

anonymous
()
Ответ на: комментарий от Nervous

А чем метапроготред хуже того, что здесь происходит? Ну, за исключением присутствия царя.

Princesska ★★★★
()
Ответ на: комментарий от anonymous

х86 не живёт

Отрицаете объективную реальность? Занятно.

В новых процессорах существует лишь слой совместимости с х86

Проблемы элитки, отрицающей, что слоёный пирог из RISC и микрокода тоже может быть архитектурой. Выползайте из прошлого века.

высрано отдельное говно

Не-а, под это «отдельное» говно можно просто пересобирать софт. А не переделывать, как это было с WinCE и прочими WinRT. Кроме говна с ассемблерным вставками, конечно.

Есть легаси-говно бинарное

Если это легаси — почему его новое продолжают делать?

Если бы это причины не было - маздай бы везде имел ту же долю рынка. Чего не наблюдается.

Маздай имел внушительную долю рынка на мобильных девайсах, пока эффективные манагеры её не просрали, высрав убогое говно под названием Windows Phone. И на x86 вон просирают, судя по тому, сколько народу повалило с десяточки на макось в последние годы.

Вот если бы беготня электронов реализовывала бы какую-то другую логику

Беготня электронов никакой логики не реализовывает. Электроны пускают или не пускают другие электроны, и в зависимости от этого ток по элементам схемы «идёт» или «не идёт». Наколхоженная поверх этого двоичная логика — абстракция более высокого уровня. И эмулируется поверх беготни и небеготни тока не менее чуждо, чем микрокод эмулирует чуждый набор инструкций.

mertvoprog
()
Ответ на: комментарий от anonymous

ЦА говнораста - обезьяны

Лендинги делаются вообще не для технарей. Лендинги делаются для заказчиков, манагеров и прочего сброда, которому надо получить общее представление об этой задротской фигне и решить, тащить её в проект или не тащить. Для технарей она не предназначена. Фактом посещения этой параши вместо технического описания языка, Вы наглядно продемонстрировали свой дилетантский уровень.

mertvoprog
()
Ответ на: комментарий от tz4678

переходишь на несуществующую страницу

Для History API не имеет значения, «существует» страница или «не существует». Это решает дёргающий его на фронтенде код. Только этот код не может отловить факт перехода по какому-то URL через адресную строку, потому что браузеры не передают это событие History API и сразу лезут на сервер.

mertvoprog
()
Ответ на: комментарий от bread

показывает на пальцах абстрактный тип данных. Эта фундаментальная концепция и есть основа ООП

WUT? А без ООП абстрактных типов данных не было, что ли?

совсем без инкапсуляции обойтись нельзя

Ну дак речь о том, что банальное разбиение кода на несколько программ тоже является инкапсуляцией, например. И непонятно, при чём здесь ООП, если в ООП, выходит, точно так же «украдено» то, что уже было. Если толковать её по-царевски, а не в более узком ООП-понимании.

mertvoprog
()
Ответ на: комментарий от anonymous

Даже сам птушник до этого в какой-то мере дошел.

Сарказмометр у Царя не просто сломан, а вообще отсутствует. Что характерно, у техномартыханов это распространённое явление.

Это не правильно. Не нужно так делать.

Это так не работает. Рыночек решает делать, как ему надо, а не как илитка считает правильным.

в мире ООП говно люди попросту не сожрут.

Не захотят жрать говно — с голоду умрут ;-)

mertvoprog
()
Ответ на: комментарий от metaprog

распространяются под GPL v3

Вы сами-то GPL читали? Она требует, чтобы текст лицензии дублировался в начале каждого файла исходников. И у этого есть вполне разумная причина — если этого не делать, лицензию в некоторых юрисдикциях могут признать недействительной. Где в бинарной .vi-лапше можно увидеть текст GPL?

mertvoprog
()
Ответ на: комментарий от anonymous

сишка - это про первое

Почему же? typedef Tzar _Tzar; — это уже не уровень контейнеровоза.

mertvoprog
()
Ответ на: комментарий от anonymous

Это просто объективный факт

Что ты ооп-сектант? Похоже на то.

Вся прикладная разработка связана с ООП

С идеями, сворованными ооп-сектантами из структурной парадигмы в свою многократно беспомощно обгадившуюся методичку, ты хотел сказать? %)

рядовому батраку насрать на всю эту идеологическую херню - ему важно удобство.

Именно. И когда ооп-говно становится неудобным, его выкидывают и берут то, что удобнее. Я доступно излагаю? %)

Nervous ★★★★★
()
Ответ на: комментарий от mertvoprog

Царь не настоящий. Либо попросту едет кукухой.

Его кукуха уже давно покинула пределы облака Оорта, это уж точно.

Nervous ★★★★★
()
Ответ на: комментарий от mertvoprog

О чем ты? Он единственный на первой странице дал лучший ответ по теме, после которого тему можно было бы и закрыть. React vs Vue vs Svelte vs somebuzzword: что лучше? (комментарий)

Подтверждаю написанное им. От всех этих либ требуется одно и тоже - компоненты и межкомпонентное взаимодействие. И react + mobx наиболее гибкий и удобный подход для построения грамотной(насколько это возможно в вебе) архитектуры приложения.

anonymous
()
Ответ на: комментарий от tz4678

Чего это с удалением? Всё на месте же.

И неужто для Царя является проблемой сменить IP? Какой же это Царь?

mertvoprog
()
Ответ на: комментарий от tz4678

извращения типа styled components

Это же вроде для того, чтобы сделать CSS тоже модульным. Чтобы не находить потом в каком-нибудь .less-файле один большой глубоко вложенный чад кутежа строк на 10к.

Nervous ★★★★★
()
Ответ на: комментарий от tz4678

если кто-то не умеет делать декомпозицию - это на проблемы языка

Конечно, есть уже всякие БЭМы для запиливания модульности в немодульный CSS, но чем мешает еще один способ? В чем-то он даже лучше.

Nervous ★★★★★
()
Ответ на: комментарий от tz4678

БЭМ для петухов на самокатах

Настоящие мужыки не боятся чада кутежа, я понемаю. Когда приходит время что-то исправить, они просто выкидывают всю колобяху и пишут новую. Они же мужыки.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 1)
Ответ на: комментарий от tz4678

обоснованная критика

Нет ничего идеального, все можно покритиковать. Можно ли извлечь из этого неидеального какую-то пользу — вот что имеет значение. Из БЭМа пользу извлечь можно, и еще какую.

подробный разбор плюсов и минусов

Так-так, интересно.

Ниже предоставлен образец вёрстки без наследования в имени класса названия блока, модификаторы привязываются к главному классу через наследование в SCSS

И приведен маааленький (пока) зародыш будущего хтонического ужоса на 10к строк, который никто до конца не понимает и поэтому не осмеливается трогать. Единственное, что можно более-менее безопасно сделать — это добавить еще.

Когда на проекте появляется джун, которого можно бросить ужосу на съедение, в остальной части команды некоторое время слышны вздохи облегчения и царит приподнятое настроение.

А причина одна причины две — пространства имен сущностей и их ролей не разделены, ограничения на глубину вложенности внутри сущности нет, поэтому

  • любое изменение может потенциально внезапно повлиять на что угодно где угодно;
  • рост ужоса ничем не ограничен.

Модульность и простота — прощайте, геморрой и депрессия — здравствуйте.

классы длинные некрасиво фуфу

Ну окей. Дело вкуса. Правда, не обошлось без легкого мухлежа. Это

<h1 class="article__heading_level_1 article__heading_level_1_active"></h1>

может выглядеть так:

<h1 class="heading heading_active article__heading"></h1>

или

<h1 class="article__heading article__heading_active"></h1>

или вообще

<h1 class="heading heading_active"></h1>

— если тебе не нужны в этом месте стили для роли (или сущности — если это роль, для которой подходит любая сущность), то и ее класс включать не нужно. Удобно.

Все зависит от того, чему ты хочешь назначить модификатор - сущности или ее роли.

Длиннее? Да. Стоит ли оно того? Я думаю, что да. Все, что поможет не дать ужосу вырваться на волю, того стоит.

Дословная цитата из документации: В CSS по БЭМ также не рекомендуется использовать селекторы по тегам или id

И в той же документации написано, почему не рекомендуется (не запрещено) этого делать. Но чукчи ведь не читатели.

В каждом большом темплейте есть мелкие элементы, как кнопки, дропдауны, тайтлы, субтайтлы, секции и т.д. Но в БЭМе у вас их нету

Любой элемент может быть сущностью. Надо тебе сущность «заголовок со смайликами» — вот тебе класс «smiley-header». Ставь его хоть на h1, хоть на span.

В чем проблема иметь сущности button, dropdown, title, subtitle, section? Дай-ка угадаю — в том, что они потом будут интерферировать с внутренностями ужоса, в котором сущности не отделены от ролей?

Так ведь для этого и нужен БЭМ (и другие модульные методологии) — чтобы ужоса у нас в стилях не было %)

Плюсы: их нет.

О — объективность %)

Ну раз афтар не смог, я ему помогу:

  1. Модульность для стилей, причем в любом браузере.

Собственно, все остальное из этого плюсища вытекает. Понятность, легкость изменения, composability и все прочие достоинства модульного кода по сравнению с вермишельной хтонью.

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

P. S. В этой притче сущностью был блок, ролью элемент, а модификатором — модификатор.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 6)
Ответ на: комментарий от Nervous

я читал как его создавали. сейчас он больше не в моде. петухи на самокатах сейчас styled components форсят. дебилы взяли разметку с js смешали, им показалочь этого мало, они решили еще и стили туда засунуть. хотя тот же qml неплохо реализован.

tz4678 ★★
() автор топика
Ответ на: комментарий от tz4678

петухи на самокатах сейчас styled components форсят.

Пусть что хотят форсят, мы-то знаем, что нам нужно. Модульность.

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Когда приходит время что-то исправить, они просто выкидывают всю колобяху и пишут новую

Это самая разумная стратегия в безумном мире веб-технологий. Оно и быстрее получается, и макакам приятнее.

bread
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.