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)

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

хотя чудиков много. видел контору, где сервера на haskell пишут (земля им пухом).

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

макаку со знанием популярного легче найти

Знанием чего? Как копипастить примеры? Так этот навык от языка и фреймворка слабо зависит же.

Вот щас я тебя сагитирую на Clojurescript, ты напишешь в резюме: могу копипастить на Clojurescript, и тебя сразу пригласят в успешный стартап. Но это не точно.

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

поражение одной реактивной дрисни от другой реактивной дрисни

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

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

кто побеждает

Моча съела говно.

Deleted
()

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

Для себя выбрал react+redux, так как ангуляр - гавно. Намучался с ним (пришлось как-то возиться с версией 1.6 кажись - это который «первый», его тогда как раз полностью переписывали…). А кроме этих двух нихрена не знал (ну jQuery не считаем за фреймворк для бАльшой прАграммы). Выбором остался доволен. Размер проекта - тысяч 10 строк согласно sloccount.

Вот касательно многословности или краткости - ES6 решает и голова на плечах. Ну или что там сейчас есть современного.

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

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

голова на плечах. Ну или что там сейчас есть современного.

Думать по-прежнему модно головой. Хотя по некоторым местным этого не скажешь %)

Nervous ★★★★★
()

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

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

знал только ангуляр 1 и реакт
ангуляр 1 говно
значит реакт идеален думаю головой или что там сейчас современно

Это называется ложная дихотомия, ребятишки.

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

Ты главное сильно не тужься.

Тебе видней, ты же в сраку долбишься.

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

Это называется ложная дихотомия, ребятишки.

Это называется разговор с голосами в собственной голове. Невроз — он такой.

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

Для себя выбрал react+redux

Зачем врёшь?

Намучался с ним (пришлось как-то возиться с версией 1.6 кажись - это который «первый», его тогда как раз полностью переписывали…).

Аргументация так и прёт. А чего про жабаскрипт 95 года не балаболишь? Чего про новый балаболишь?

А кроме этих двух нихрена не знал (ну jQuery не считаем за фреймворк для бАльшой прАграммы)

А ну кто же сомневался. Рядовой батрак сожрал что дают и далее болтает о каком-то выборе. Какой выбор, если ты даже не выбирал? И выбирать не можешь?

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

Выбором остался доволен.

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

Размер проекта - тысяч 10 строк согласно sloccount.

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

Вот касательно многословности или краткости - ES6 решает и голова на плечах. Ну или что там сейчас есть современного.

А, ну проблему то решает, но ты не знаешь что именно?

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

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

Уровень.

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

К сожалению, у меня нет желания искать жемчуг в струях твоего поноса

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

Если есть что в двух словах сказать по существу вопроса — буду рад услышать.

Какого вопроса, маня? Тебе сообщили - кукарекать про вопрос, кукарекать про примеры решения, кукарекать про обоснования этих «решений» за решения. Я не слышу потуг убогих от тебя. Действуй.

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

По существу я тебя валял в дерьме выше.

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

Вот щас я тебя сагитирую на Clojurescript, ты напишешь в резюме: могу копипастить на Clojurescript, и тебя сразу пригласят в успешный стартап. Но это не точно.

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

Ну это всё объясняет. И желание жрать говно. И общую бездарность. И не способность в минимальную аргументацию.

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

Такой он, уровень.

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

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

У тебя же получается — выходит, можно.

Какого вопроса

Мама, где море? %)

Побежал читать тред, поползень.

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

У тебя же получается — выходит, можно.

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

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

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

Зачем врёшь?

Здесь было бы длинное сообщение и всё такое, но зачем с анонимусом спорить - они на нашем форуме не для этого :)

Аргументация так и прёт. А чего про жабаскрипт 95 года не балаболишь? Чего про новый балаболишь?

Ну балаболишь здесь ты. У меня вполне конкретный ответ ТСу.

А ну кто же сомневался. Рядовой батрак сожрал что дают и далее болтает о каком-то выборе. Какой выбор, если ты даже не выбирал? И выбирать не можешь?

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

Типичный адепт говнукса. И типичный выбор. Да, выбор он выглядит именно так.
Я сожрал говно. Я кроме говна ничего не пробовал. Выбором я доволен. Да, это работает именно так.

Спасибо, поржал.

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

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

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

Согласен, «Уровень» (анонимуса) :)))

Вощем, этот анонимус сломался - несите следующего.

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

Здесь было бы длинное сообщение и всё такое, но зачем с анонимусом спорить - они на нашем форуме не для этого :)

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

Ну балаболишь здесь ты.

Балаболишь здесь ты, потому как тебя я спросил за кукаретинг - ты обделался. Это базовая предпосылка к определению балабола.

У меня вполне конкретный ответ ТСу.

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

Ангуляр я не выбирал.

Ты ничего в этой реальности не выбирал и выбирать не можешь.

А тот новый проект - «делай на чём хошь».

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

Спасибо, поржал.

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

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

Ну т.е. всё как я и рассказал? 90% копипасты-бойлерплейта и 10% копипасты хтмл"а из гугла?

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

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

Согласен, «Уровень» (анонимуса) :)))

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

Но ты обгадился, убогий. Анонимус здесь ты, а не я.

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

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

Начал кукарекать - продолжай. А если не можешь и не начинай.

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

Философский вопрос... Например, компонент изображающий mspaint. Каляки на нём - это его внутреннее состояние.

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

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

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

Никак не могу перестать ржать, помогите

Хочешь банан?

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

И не думать потом о том, что что-то где-то не написалось, либо поменялось, либо ошиблось

Вот весьма любопытно, как так получается — что Вы превозносите C++ над Rust, при том, что в Rust на уровне компилятора контролируется то, за чем в C++ нужно самостоятельно следить и не забывать использовать RAII и move-семантику, обзывая не умеющих это делать анскильными лалками, и при этом же любите TS за то, что он сам контролирует соблюдение типов? Сдаётся, Царь — не настоящий!

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

Например, компонент изображающий mspaint. Каляки на нём - это его внутреннее состояние.

Но ведь его состояние можно вынести наружу. Он будет генерировать события, меняющие часть внешнего состояния, и отрисовывать эту часть.

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

любите TS за то, что он сам контролирует соблюдение типов

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

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

Ну знаете, можно и строго типизированный язык нафаршировать этими вашими interface{} или void *, а потом жаловаться. Ачо, писать же проще.

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

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

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

Нарисуй иерархическую структуру на блок-схеме для приложения с такими компонентами. Поржём.

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

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

Но тогда б-жественные C/C++ уже не становятся такими б-жественными!*

————
 * — для анскильных лалок

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

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

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

Нарисуй иерархическую структуру на блок-схеме для приложения с такими компонентами.

В чем, собственно, проблема? Рисуешь любую нужную тебе иерархическую структуру компонентов, повторяешь ее в хранилище состояния.

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

усилия по аннотированию кода в случае TS мягко говоря не окупаются.

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

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

ты напоминаешь тупопесдых херок с хх для которых java=java script

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

1С так и быть засчитываем (но уж лучше пхп ей-богу). Остальное это всё сорта борща. Ну может у го есть некий потенциал, но это такой же пхп, и оно тоже скатится в жабку.

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

сорта борща

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

у го есть некий потенциал, но это такой же пхп, и оно тоже скатится в жабку

Каким местом? Вы как-то проспали момент, когда ООП стал немоден и непопулярен среди макак ;-) Вон даже JS-макаки, несмотря на завоз классов в ES6 и взлёт TypeScript, как-то избегают марать руки об ООП и цепляются за недо-ФП с модулями. Вот даже по этому треду видно, ОП типичный макакич.

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

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

несмотря на завоз классов в ES6

Классы в JS как бы всегда были, но только все было своеобразно: мы сначала объявляли функцию конструктор, а потом через prototype добавляли методы. А то что завезли, это лишь сахарок над теми же самыми привычными прототипами. Я не понял где ты там ФП увидел.

и взлёт TypeScript

Я помню как Dart взлетали с Coffee Script…

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

что в Ruby, например, есть больше смысла соваться из-за меньшей конкуренции со всякой попсой

Смешно

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

PHP, по сути своей, тоже язык для макак. И жирных ООП-абстракций там не будет просто потому, что их не получится натянуть на существующую концепцию языка

Именно так и говорили в 2000-м году. Всё там (в го) будет, дайте срок. ООП это судьба тырпрайза, по-другому там никак. Завихрение с хейтом ООП пройдет, стоит лишь вырасти из коротких штанишек.

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

ООП стал немоден и непопулярен среди макак

завоз классов в ES6 и взлёт TypeScript

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

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