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)

Ответ на: комментарий от abs

Было когда-то дело, что я с Зевсом дело имел… Это короче ПО для создания и упрааления ботнетами, а теперь меня собеседуют какие-то 23-летние синьоры на самокатах

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

Мне платили мало 110-120 тысяч в месяц.

Адекватная зарплата для адекватного спеца, мне кажется за «манипулирование строками на js» тебе столько бы не платили.

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

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

Конкретно то что ты назвал (алгоритмы и шифрования) нужны по минимуму, но чем выше ЗП, тем больше надо типа тех же реактов с ангулярами, оптимизаций (не алгоритмическое О большее и прочее, а типа google page speed) и прочего интересного

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

Поэтому я и считаю таких работодателей неадекватами. Всякие алгоритмы и паттерны нужны при велосипедостроении. Альтернативоно-одаренные свои фреймворки изобретают во главе с петухом на самокате. Я как раз такое наследие от одаренного дебила, свалившего во Вконтакте ковырял. Там ни строчки комментариев и в Confluence описания нет. Ага слуйчайно попал и два года проработал, поддерживая с десяток проектов на AngularJS и Vue.

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

Слава баблу гугла, давшего жс кодерам мощу V8.

Брысь отсюда со своей некомпетентностью. Иди в толксы, там твое место.

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

https://tsar1997.blogspot.com/2019/12/blog-post.html

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

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

В общем, маня, ты слишком глупый. Рядовой бот с рядовой методичкой.

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

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

В этом мире ты живёшь, вернее ты то не живёшь - ты бездарный бот, жертва той самой мусорной пропаганды. Тебе нормально.

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

И вот существует борьба, борьба за «умы» обывателей. А далее уже выбор, условный, каждого обывателя - с кем он и кто он.

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

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

Поэтому, побежал в школу и там будешь перед доской вещать эту шаблонную херню.

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

И вот существует борьба, борьба за «умы» обывателей. А далее уже выбор, условный, каждого обывателя - с кем он и кто он.

И твои методы тебе кажется победоносными, передовым шагом в педагогике? Ты предполагаешь, что хоть кто-то хочет оказаться в твоей стороне, хоть кому-то с тобой по пути? «Этот парень блюет дерьмом, но это свой в доску парень, который блюет дерьмом, и мы идем за ним, потому что не хотим, чтоб он блеванул на нас», или я чего-то не понимаю?

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

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

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

И твои методы тебе кажется победоносными, передовым шагом в педагогике?

Очевидно, что да. Я - прямое выражение этого базворда. Это было доказано множество раз. Это даже стало негласным правилом лора.

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

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

или я чего-то не понимаю?

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

И теперь у вас, клоунов, родился план. Вы решили, что если кукарекать потуги вида «да ты просто лох», «да ты никому ненужен» и прочее - это каким-то образом на меня повлияет. Повлияет на людей.

Нет, говно ты. Нонейм бездарный с помойки - ты. Никому ненужен ты. Не я. Никакой своей стороны не показал ты, а не я. И так со всем.

О чём ещё можно говорить? Да и зачем. Любой сторонний наблюдатель задаст вопрос. «если он никому ненужен, не никаких шагов и влияния нет - откуда вообще каждую секунду вылезают клоуны-крыватели покровов? Почему клоуны бояться что-то кукарекнуть? Почему клоуны везде врут и единственное, что делают - кукарекают из под анонимусов и используют админ-ресурсы?».

Потуги ваши не поддаётся какому-либо осмыслению. Но имеют одну базовую мотивацию. Один клоун начинает нести херню и надеется, что есть другие подобные опущенные, которые будут вторить. И эта пара опущенцев-провокаторов мечтает о том, что эти действия повлияют на ТЗ толпы.

Методичка достойная идиотов убогих.

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

Ну собственно - это то, о чём я всегда говорил. Да и рассказал опять. Кто-то ожидал иного?

И бездарностей одна методичка на всех. Бездарность обгадилась и начинает орать «да ты тупой». Даже не понимая, что чем больше ты кукарекаешь о том, что тупой я - тем большая бездарность ты. Потому что по определению ты меньше меня. А значит чем я меньше - тем меньше ты.

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

Запомни маня, когда какое-то говно из помойки орёт что-то на кого-то - это воспринимается только как потуги опущенного и нелепые оправдания.

Я уже десять раз вам, идиотам, объяснял. Без аргументации все потуги - это ad hominem. По-сути это эквивалентное заявлению «я лучше». И ты должен показать, что лучше. Но вот смотрят на тебя и кто ты? Опущенный огрызок. Всё. Потуга провалилиась.

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

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

Очевидно, что да. Я - прямое выражение этого базворда.

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

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

Маня, я уже всё сказал по поводу твоих убогих потуг. Ситуация следующая. Есть опущенное нонейм-говно. Этот опущенный прибежал ко мне и решил поиграть в игру. А давай я ему скажу, что он тупой и он пойдёт рыдать так же, как рыдаю я. Ведь мне же всё эти говорят, да и мамка говорила.

Но ты перепутал. Эта дошколятская херня не работает. И теперь, когда дошколёнок обделался и побежал рыдать - он начал придумывать новую херню. «я просто траллил», «бомбануло». Любимая маза всех идиотов.

Её видно и от этого клоунов и от предыдущего. Только один это явно декларирует, а другой нет. Насколько же опущенным идиотом надо быть, что-бы на полном серьёзе оправдываться потугами вида «бомбануло»/«траллил».

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

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

Уровень. Типичный ответ пхп-джун-макаки.

Как я уже говорил - смотрим. Это и есть уровень адепта vue.

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

Твои оскорбления имели бы силу, приведи ты факты, там нужно задеть за живое, неприятную правду сказать и наче это лишь смех вызывает. Для олдов, наверное, все похапэшники, питонисты с джавоскрпитоидами всегда были скрипткидисами и не вызывали уважения ведь не зная основ програмиирования на C/C++ нельзя овладеть даже скриптовыми языками, понять что значит «передача по ссылке» в мануале и т.п. Ну, пускай. Че дальше то?

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

я не являюсь адептом чего-то, я лишь держу руку на пульсе конъюктуры рынка. сейчас даже парашные гомноконторы требуют знания реактивных фреймвЁрков в придачу к куче баззвордов. но если быть объективным, то работа с dom никогда настолько простой не была, а сегодняшние джуны, которые начинали с фреймворков не умеют с dom работать и не знают языка. можно и на ваниле писать, но это же долго. там даже преимущество не в биндинге, а в готовых компонентах…

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

Я не понимаю твоих потуг. Ты постоянно кукарекаешь какую-то херню.

vue - реактивный фреймворк. Ты лизал ему жопу. Ты кукарекал ранее, что ничего этого ненужно. жс - не для этого - твоя кукаретинг.

Каким-то dom работать, какая-то херня нелепая. Что там работать - это примитивная херня. К тому же с каким домом там работал пхп-джун? да ни с каким.

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

Либо учи трюки, либо твои потуги никому ненужны. А ещё лучше начни что-то понимать, а не будь цирковой мартышкой.

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

Либо учи трюки

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

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

Подожди, маня, но ты ведь обосрался. Зачем ты жаловался на то, что твои оппоненты знают новые трюки, которых ты не знаешь. А хозяин не ценит те трюки, что ты выучил давно?

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

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

setCounter(n => n + 1)

Чому не setCounter(counter + 1)?

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

концепция реакта, чистота и прочая чушь - развалились. От неё ничего не осталось.

Я ведь могу написать чистый компонент (не имеющий состояния, отрисовка которого зависит только от переданных ему входных параметров)? Могу. Что там у реакта внутри происходит — значения не имеет. Пусть там хоть гномики байты вручную перекладывают — это никого не сношающие детали реализации.

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

Как-то так мне все это видится.

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

Я ведь могу написать чистый компонент (не имеющий состояния, отрисовка которого зависит только от переданных ему входных параметров)? Могу. Что там у реакта внутри происходит — значения не имеет. Пусть там хоть гномики байты вручную перекладывают — это никого не сношающие детали реализации.

У тебя проблемы с методичкой. Чистота - это не про могу. Это про есть, всегда. С таким подходом чистота есть везде, ведь «чистый компонент» можно написать где угодно.

Наличие у компонента собственного состояния ломает функциональную чистоту, — отрисовка теперь зависит еще и от него, — это увеличивает сложность, затрудняет понимание, увеличивает вероятность ошибок и поэтому внутреннего состояния нужно по возможности избегать.

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

И что значит избегать? Это всё за пределами лаб обусловлено необходимостью. Если состояние нужно - оно будет. Ты не сможешь его избежать.

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

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

К тому же это ничего не меняет. То, что тебе пропаганда сказал «это состояние не состояние» - ничего не изменило. Неважно где ты поменял значение - в локальном состоянии или глобальном. Даже наоборот - в лольном лучше, проще и надёжнее.

По поводу входных параметров - это не работает. Если у тебя там лежит инпут или что-то, что генерирует какие-то события - у тебя уже ломается логика.

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

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

С таким подходом чистота есть везде, ведь «чистый компонент» можно написать где угодно.

Именно. Возможность нарулить чистоту есть практически везде. Просто где-то это можно сделать просто и изящно, а где-то придется страдать. Страдать никто не хочет.

Никакой функциональной чистоты там нигде нет.

Если ты сам к ней не стремишься и напихал состояние и побочные эффекты куда надо и не надо — то да. Нигде не будет. Я не про кишки реакта говорю, хрен с ними. Я о компонентах, которые пишу я сам.

Впрочем, чистота ведь не самоцель. Цель - уменьшение сложности и, следовательно, когнитивной нагрузки на программиста. Что (предположительно) позволит ему самому писать более качественный код, быстрее понимать написанное другими и делать меньше ошибок. Именно для этого нужна и чистота, и модульность, и понятные имена, и документация, и даже стандарты форматирования кода.

Чистота ради чистоты на хер никому не облокотилась. Если можно понять, что происходит с твоим компонентом, глядя только на его входные параметры — цель достигнута.

Если состояние нужно - оно будет. Ты не сможешь его избежать.

Конечно, будет. Но если подойти к управлению состоянием с умом, можно отделаться минимумом головняков типа «как мне получить данные от соседнего (не родительского) компонента??!!111??»

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

Если у тебя там лежит инпут или что-то, что генерирует какие-то события - у тебя уже ломается логика.

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

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

Пока твое состояние не потребуется другим компонентам, ага.

Если через пропсы пробрасывать куски состояния - всё превращается в адский ужас, ошибки и дыры дырявые

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

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

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

Именно. Возможность нарулить чистоту есть практически везде.

Нет, повторюсь. Тебя поимела пропаганда и ты не изучил базовые методички. «возможность» тут же отрицает чистоту. Я уже множество раз говорил о том, как именно вас поимела пропаганда.

Изначальная концепция чистоты предполагает чистоту и отрицает сайд-эффекты как таковые. Там нету никаких «возможно».

Далее эта методичка и её адепты обделались настолько сильно, что пришлось что-то менять. Оказалось, что никакая чистота не работает и всё состоит из сайд-эффектов.

И уже далее родилась некая мантра, которую секты друг другу ретранслируют. Мантра обыденная для любой секты - методичка запрещает что-то называть тем, чем оно является. Вчера были сайд-эффекты, а сегодня уже нет. Начинаются все эти истории «это другое» и прочее. Сектанту нужно объяснить - почему то, что он отрицал существует.

Поэтому далее строиться новая методичка, которая говорит «всё ошибки, которые нашлись в наших догматах - мы не называем «не-чистиыми» и они с сегодняшнего дня не ничего ничему не противоречат».

Т.е. сектанты орали «всё чёрное», далее им показали существование белого. И тут же выходит новая агитка «всё то, что белое на самом деле не белое. Всё, что мы не называем белым - белым не является. Мы монополизируем право что-то классифицировать», «да и вообще - мы и не говорили, что чёрного нет».

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

Поэтому осознай, что в базовом подходе нету никакого чистого/грязного. Это всё части одного целого. Если ты сектант, который отрицает белое - не значит, что твои оппоненты отрицают чёрное.

Просто где-то это можно сделать просто и изящно, а где-то придется страдать. Страдать никто не хочет.

Никакого страдания нигде нет. Это опять же попытка монополизировать понятия. К тому же, изящно и фп-дерьмо/концепции реакта противоречивы по определению.

Если ты сам к ней не стремишься и напихал состояние и побочные эффекты куда надо и не надо — то да.

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

К тому же, я уже отвечал. Это попытка украсть свойства чужие. Т.е. сектант берёт просто и сложное, говоря «сложное красное, простое зелёное - значит цвет отвечает за сложность».

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

Нигде не будет.

Будет, и это очевидно.

Я не про кишки реакта говорю, хрен с ними.

Это ещё одна любимая песня сектантов. Как только возникает проблема с методичкой - сектант начинает отрицать реальность. Сайд-эффекты в реакте - не сайд-эффекты. Сейд-эффекты в какой-то левой говнолибе - не сайд-эффекты.

Уровень аргументации поражает. Т.е. если я делают sestate - это сайд-эффект. Если вызывают какое-говно из сектантских потуг типа говнукса - это уже не сайд-эффект.

Гениальность этих потуг переоценить трудно.

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

Я о компонентах, которые пишу я сам.

Ещё раз. Ты не пишешь компоненты - ты пишешь систему. Семантика любой либы не может быть проигнорирована. Любая абстракция протекает, причём протекает всегда и часто.

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

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

Впрочем, чистота ведь не самоцель.

Чистота - это сектантский базворд. И это самоцель.

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

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

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

У тебя не возникает вопросов - почему? Почему проще и лучше у тебя, но секта в говне и её адепты ничего, кроме лаб, не делают? И сектанты прибежали в веб к пхп/жс-макакам, которых поиметь ничего не стоит.

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

Что (предположительно) позволит ему самому писать более качественный код, быстрее понимать написанное другими и делать меньше ошибок.

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

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

Именно для этого нужна и чистота, и модульность, и понятные имена, и документация, и даже стандарты форматирования кода.

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

Мы говорим конкретно про чистоту и определённую секту. Никакие подули, имена, документация, стандарты не относятся к секте. Наоборот - они ей противоречат. У секты нету ни стандартов, ни документации, ни модульности, ни понятных имён.

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

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

Чистота ради чистоты на хер никому не облокотилась. Если можно понять, что происходит с твоим компонентом, глядя только на его входные параметры — цель достигнута.

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

Ты для оправдания используешь методичку про «возможно», а далее используешь довод из методички «всегда».

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

Попытки съехать на «да я знаю что там в моём компоненте» - не работают, потому если ты знаешь - ты знаешь и о сайд-эффектах.

Ну и самое важное - у тебя проблемы ещё куда глобальнее. У тебя любой метод/функция может иметь сайд-эффект, даже если тебе рассказали, что его там нет. Причина проста - исключения. Да и на самом деле таких причин ещё много.

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

Конечно, будет. Но если подойти к управлению состоянием с умом,

С умом это говнукс? Это бездарный мусор, а ты просто жертва пропаганды.

Ты либо совсем неофит, либо терминально обработанный. Я не знаю как человек в достаточной мере знакомый с темой и разработкой на этом говне может не знать очевидных вещейх.

Нести херню про какое-то одно состояние, когда как все интернеты завалены попытка разделить это состояние.

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

Когда тупо весь интернет завален тем, как прикрутить сайд-эффекты в говнуксу.

И я не знаю что в тебе говорил - вера, либо просто малый опыт.

можно отделаться минимумом головняков типа «как мне получить данные от соседнего (не родительского) компонента??!!111??»

Нельзя. И о боже, какую же херню ты несёшь.

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

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

Соседние компоненты являются соседями только через признак наличия общего предка.

Если мы говорим про коммуникацию вне иерархии - потуги уровня «передаём через пропсы» не работает вообще. Это базовый контри-пример того, что чистота в говне. Что существуют неявные связи между тем, что не связано явно(очевидно).

Компонент реагирует на действия пользователя

У тебя потекла методичка. Реакция - сайд-эффект. Действие пользователя - сайд-эффект. Твоя методичка развалилась, ведь ты выдавал за решение «можно убрать сайд-эффекты» и передавать события через предка.

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

изменяя (строго определенным и контролируемым образом) общее состояние;

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

Никакого «строго», «контролируемым» не существует. Это нелепая херня, которую ты только что выдумал.

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

По определению мутировать аргументы нельзя. Все потуги к реакциям сводятся к предикатам. И она не могут нарушать базовую концепцию.

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

Если проще, то это выглядит так args => input => render(args, input). Когда как input - это текущие значение пользовательского ввода.

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

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

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

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

внешний вид компонента является функцией от нужного ему куска состояния.

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

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

Ключевое - это состояние приложения, события и реакции. А так же связи. Связи соблытий и реакций, событий и состояния.

А мусорный «хмтл-шаблон» нахрен никому не упёрся.

Если компоненту понадобилось получить данные соседнего — он принимает на вход нужный кусок состояния и все.

У тебя проблема с методичкой. Проблема не в том, что-бы что-то получить. А в том - как что-то отдать. А так же в том, как решить проблему того, что у каждого компонента появляется 100 параметров.

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

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

У тебя поломалась методичка. Во-первых ты только что помножил на ноль все предыдущие потуги. А во-вторых ты попытался кого-то обмануть. Это инпут влияет на не внешний вид компонента, а на состояние всегда приложения.

По крайней мере, в текущей реализации обработки ввода в браузерах.

Она не может быть другой.

Что, впрочем, не мешает тебе продублировать это внутреннее состояние в общем хранилище, где его смогут видеть другие компоненты.

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

Пока твое состояние не потребуется другим компонентам, ага.

Смотрим на эти потуги. А далее смотрим на потугу выше:

конечно — у такого компонента будет свое внутреннее состояние, влияющее на его внешний вид

Т.е. в данном случае сектант начал задвигать про влияния за рамками компонента, а там он про него не подумал, хотя о нём говорилось.

К тому же, здесь мы видим то, как адепт попросту уничтожил себя и все свои потуги. По-сути адепт использовал защиту «не работает в одном случае - не работает всегда».

Таким образом наличие таких случаев относительно его потуги и учения секты доказано и объективно существует. Значит - это, в рамках потуг данного адепта, не работает.

Подобное крайне слабое понимание темы и суждения - прямое следствие секты. Вернее секта прямое следствие наличия данных свойств у адепта.

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

В общем, мне лень объяснять очевидные вещи. Изучи тему перед тем как спорить. Иди почитай букварь и узнай, почему и зачем твоя говнукс нужен. Почему стора пробрасывается через контекст, а не руками через пропсы.

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

Но я тебе помогу, хотя уже помог. Проблема в разрастании. Т.е. если у тебя появляется выше по иерархии(корень - низ) компоненты, которые требуют параметров и они должны передаваться от компонента родителя(а они должны передаваться).

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

А теперь мы берём твои потуги про модульность. И какая же у нас там модульность, если при передачи параметра от А до F в ситуации A => B => C => D => E => F - нам нужно изменить компонент B C D E, которые вообще ничего не знают ни об F ни об друг друге.

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

Предположим.

Всего этого не произойдет, если твои структуры данных неизменяемы и все изменения состояния строго контролируемы.

Ты совсем жертва пропаганды. Ты совсем поехавший? Никаких «незименяемых структур данных» не существует - тебя поимели.

И если компоненты не могут влиять на общие стояние - ничего не работает. Ты сам выше кукарекал об необходимости наличия данной функциональности.

И теперь вдруг она пропадёт? Сообща новость - реакция - это изменение состояния. Изменение - это мутация.

Далее пошла какая-то совсем нелепая херня про контролируемы. Сектант просто кидается нелепым базвордом. Никогда никак он не покажет в чём же заключается этот контроль.

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

Никаких «незименяемых структур данных» не существует - тебя поимели.

Проснитесь, ваше величество, вы серете.

https://clojure.org/reference/data_structures

реакция - это изменение состояния. Изменение - это мутация.

Никогда никак он не покажет в чём же заключается этот контроль.

Для начала вашему величеству придется освоить небольшую методичку.

https://clojure.org/about/state

Чистота … это самоцель.

Даже не знаю, что тут и сказать. Наверное, можно ничего уже не говорить %)

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

И да, пока санитары грубо не прервали аудиенцию — если все говно, то что же делать? Писать все руками на ванильном js? Какое будет конструктивное предложение?

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

Проснитесь, ваше величество, вы серете.

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

То, что твоя секта называет иммутабельностью никакого отношения к структурам данных не имеет. Иммутабельность не состоятельна и существовать какие-то там иммутабельные мапы попросту не могут. Вернее они могут, но они не юзабельны.

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

Иммутабельная структура данных - это мутабельная структура данных с маня-иммутабельным интерфейсом.

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

Для начала вашему величеству придется освоить небольшую методичку.

Маня, ты побежал гуглить и кидаться тем, о чём ты нихрена не знаешь? Сообщаю тебе новость, колхозник, ссылки сектантов на свои догматы меня не волнуют, не волновали и волновать не должны и не будут.

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

Даже не знаю, что тут и сказать. Наверное, можно ничего уже не говорить %)

Кстати, слабые умом адепты - это типичная ЦА данных сект. Следим за руками. Адепт орёт «нам неважна иммутабельность - нам важно удобство». Далее сектант начинает отождествлять одно с другим никак это не обосновывая.

Далее сектанту говорят «да ты же сектант - ты врёшь, иммутабельность для тебя самоцель, а удобство и прочие базворды - оправдания».

Одновременно с этим сектант орёт «да иммутабельные структуры, да ко-ко-ко». Т.е. сектант именно ссылается на это как базовое свойство структур и интерфейсов.

Если бы это не была самоцель - сектант бы ссылался на то, чем он пытался мазаться. «удобные структуры, надёжные струткуры» и прочее. Но этого не наблюдается.

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

Ах ну и да, до этого сектант балаболил о том, что «не везде, не всегда». Т.е. сектант явно утверждал, что эти понятия не взаимозаменяемые.

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

если все говно, то что же делать?

Здесь мы видим как сектант продолжает транслировать в эфир свою шизофрению. Каждый сектант считает, что если говно его догматы, говно его вера - говно всё. Для сектанта ещё шизо-мир - это и есть мир. Потому это и сектант.

Каким образом сектант из тезиса «твои потуги говно, твоя секта говно» вывел «все говно, всё говно»? А никак - опять убогие фантазии обгадившегося сектанта.

Писать все руками на ванильном js?

Здесь опять потоки шизофрении. Сектант пытался выдать за решение нелепые потуги своей нелепой секты. После того как обделался - он начинает орать «а чё решать проблемы ненужно?». Нет, маня - ты поехавший.

То, что твои решения говно. То, что твои представления говно. То, что твоя секта - говно. Из всего этого не следует ничего.

Каждый сектант верит в свою избранность. Верит в избранность своей секты. «кто если не мы?», «ты отрицаешь наши потуги - ты отрицаешь все другие потуги» - нет. Не отрицаю.

Какое будет конструктивное предложение?

У тебя какое предложение, маня? Ты совсем поехавший вообще, хотя этот вопрос можно задавать после каждой твоей потуги.

Существует мир, который десятками лет успешно решает задачи. Который в говне валял сектантов. Все потуги сектантов - нелепые потуги воровать что-то из этого мира.

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

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

И тут непонятно одно. Это секта ищет таких гениев мамкиных, либо секта настолько сильно способствует деградации адептов, что они попросту превращаются в пустоголовых ботов?

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

С каждым разом потуги сектанта всё нелепей и нелепей, а оправдания всё более жалки.

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

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

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

Существует мир, который десятками лет успешно решает задачи

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

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

Именно. Вот нужно напесать SPA средней сложности. Каков выбор профессионалов? Ванилла жс? Жквери? Или, может, пхп? Сишечка через CGI? Я прям дрожу от нетерпения.

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

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

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

Есть условный веб, как некая новая область. Она достаточно примитивная и населяют её в основном неофиты. Зачастую те, кто ранее бы пошел мыть полы.

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

А новая зелёная область - это минимальная конкуренция. Это минимальные требования и как следствие отсутствие какой-либо верификации. Т.е. есть пока что-то является примитивным - можно забить на всё, переинженерить всё на 10 раз и прочее. И если в ситуации с высокими требования всё развалится, то здесь же нет. Зелёность адептов и как следствие то, что их можно поиметь.

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

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

Тоже самое как из того, что какое-то говно является альтернативой чего-либо никак не следует то, что эта альтернатива лучше и вообще состоятельна и вообще альтернатива.

Именно. Вот нужно напесать SPA средней сложности.

Колхозник, ты не выполнил поставленных условий. Перечитай ещё раз.

Каков выбор профессионалов?

И тут ты обделался. Читай и исполняй.

Ванилла жс? Жквери? Или, может, пхп? Сишечка через CGI? Я прям дрожу от нетерпения.

Уровень представлений достойный поломоя. Пыхти лучше. Хотя-бы на поломой+.

К тому же, маня, ты даже не удосужилась почитать тред. Хотя ты читал и уже обгадился, а сейчас просто «играешь» в идиота.

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

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

Пока что ты обделался с тем, что есть. Пыхти - решай проблему.

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

почитать тред

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

Но я почему-то думаю, что по существу мы тут ничего не услышим %)

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

как мне получить данные от соседнего (не родительского) компонента??!!111??

Получить их из локального контроллера, к которому забинден этот компонент. Либо из его контроллера, если он иерархически вложен. Веб-панки не знают обычно про классическое мвц, когда у тебя есть иерархия вью и отдельно иерархия контроллеров, связанных паттернами (например TodoList и TodoEditor, причем TodoList implements TodoEditorDelegate (необязательно формальный, но интерфейс) и создает себе TodoEditor в конструкторе). Тогда все части системы могут нормально общаться по нормально определенной архитектуре и подключать/отключать нужные фичи на лету. А вы все выкинули в ГЛОБАЛЬНЫЙ контекст и заявили, что это чистота. Это не чистота, это веб-панк.

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

Я хочу получать связанные данные (иначе они не были бы связанными), но не хочу делать архитектуру. Что бы такого сделать? Ееее, кину все в глобальный символ, а остальные подходы назову протухшими ангулярами. Флексим на хайпе, челики.

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

Флексим на хайпе, челики.

Я ни хрена не понял — по ходу, я бумер.

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

еще одно сокрушительное поражение реактивной дрисни от детища китайца из команды разработчиков angular, создателя vue

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

я, кстати, ржачные вещи видел в описаниях аакансий типа ищем react-разработчика, который пишет в функциональном стиле и тп. петухи на самокатах, попадая на руководящие должности, творят полный треш, навязывают свои извращения и в конечном итоге продукт превращается в кучу дерьма, которое невозможно поддерживать. тебе никогда не писать фронт на этом лиспо-подобном недоразумении, если в конторе есть вменяемый техдир он не позволит даже на type script писать, потому как люднй его хорошо знающих в разы меньше чем тех кто может писать на обычном js. мудаки с манией ведичия, мнящие себя одаренными не нужны, нужны вебмакаки, которые могут копипастить код из примеров

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

нужны вебмакаки, которые могут копипастить код из примеров продукт превращается в кучу

ну ты понял

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

тебе никогда не писать фронт на этом лиспо-подобном недоразумении, если в конторе есть вменяемый техдир он не позволит даже на type script писать

Зато писать свои велосипеды на чем угодно и радоваться мне никто не запретит.

нужны вебмакаки, которые могут копипастить код из примеров

Но разве же это жизнь? %)

Кстати, если уж на то пошло — какая разница, на каком языке и фреймворке копипастить примеры? Для настоящей макаки разница должна быть минимальная.

Nervous ★★★★★
()
Последнее исправление: Nervous (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.