LINUX.ORG.RU

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

ddidwyll ★★ ()

Все привычные костыли запекли в стандарт html5, теперь у всех есть querySelector, нет фатальной разницы в версиях js, плюс нынче повсеместно используют трансляторы. Если отбросить легаси броузеры пятилетней давности то можно писать в Vanilla JS. Для абстракций над асинхронными запросами и вебсокетами полно активно развивающихся либ. Так что лучше ты расскажи для чего нынче нужен jquery?

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

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

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

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

а если всего пара десятков мест интерактива, то можно и жквери.

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

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

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

Тебя прямо зацепило?

как оперировали состоянием, так и оперируют

Да, только сейчас

все манипуляции с DOM делает за тебя либа

____

если нужно много состояний с сложным взаимодействием

Именно, для приложений. Для сайтов лучше всего статический html подходит, как по мне.

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

Мне пофиг на моду, я выбрал для себя svelte, потому что удобно и он далеко не модный.

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

Тебя прямо зацепило?

Не люблю смузи-адептов. Ты не из них? Тогда извиняюсь.

Да, только сейчас (все манипуляции с DOM делает за тебя либа)

Ага:

function setSomeState($el, state)
{
    $el.toggleClass('el-some-state', !!state);
}
А можно (пример прост, а на деле обычно сложнее) и наплагинить через fn.

Именно, для приложений

Приговнений )) Или всё же приложений, например, уровня игр, чтоб прям стандалон во все поля. А всё остальное это приговнения к бекендам.

Для сайтов лучше всего статический html подходит, как по мне

Вот не надо крайностей. Точечно приговнить статический хтмл скриптами вполне полезно, но без фанатизма.

Мне пофиг на моду

И это хорошо.

По старой привычке можно и таблицами верстать

А то! И я этот пункт в конце поставил как маловажный, зачем ты именно к нему прицепился?

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

Ага

<header hidden={!$appState.some1}>
  <h1 class:cool={$appState.some2}>
    {$appState.title || 'Default Title'}
  </h1>
</header>

<button on:click={() => toggle('some1')}>
  header
</button>
<button on:click={() => toggle('some2')}>
  h1
</button>

<script>
  import { appState } from './myCoolStore.js'

  const toggle = (prop) => appState.update(state => {
    state[prop] = !state[prop]
    return state
  })
</script>

<style>
  h1.cool { color: red }
</style>

Никаких ручных манипуляций нет и не предвидится, но это пример, можно ещё проще.

Но вообще спорить не буду, потому как мы видимо не совсем об одном и том же речь ведём.

ddidwyll ★★ ()

Некоторые и дебиан с редхатом до сих пор юзают вместо NixOS. То же самое: императивные старпёры в свитерах vs чёткие декларативные пацики.

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

Для сайтов лучше всего статический html подходит, как по мне.

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

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

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

Зачем писать жиквери на жс

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

если уже есть готовое?

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

deep-purple ★★★★★ ()

JQuery это плохо?

Да. На нем компоненты писать сложно. Должно быть как: написал, например, особую кнопку, думаешь «а она может пригодиться мне в другом месте или даже в другом проекте». Берешь, выносишь ее в отдельный пакет, или в пакет с другими твоими компонентами.

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

После чего импортируешь этот Keypad к себе на страницу как отдельный самостоятельный компонент, уже включающий в себя и верстку и стили и логику. Более того, рекурсикно подтянутся те особые кнопки и то необычное поле, вместе с их стилями и логикой. А бандлер впоследствии сделает из всего этого один js-файл, включающий в себя все компоненты. Кидаешь этот файл на html-страничку и все работает. Чудеса

Это всё можно делать в react/vue/svelte/angular. Мне больше нравится react. Он, совместно с TypeScript позволяет делать невообразную штуку: статически типизировать верстку и стили (новый angular тоже умеет, но он дольше компилится, раз эдак в 10 :)

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

Должно быть как:

Должно быть: Понадобилась кнопка — взял готовую стандартную кнопку. Понадобился комбобокс — взял готовый стандартный комбобокс.

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

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

непосредственный контроль на странице без посредников трансляторов, что для цсс что для жс

Ага. Особенно круто наверное глазками контролировать, уникальность имен CSS-классов, отслеживать все ли классы на своих местах между CSS и HTML. Отслеживать правильность селекторов в ванильном JS. F5 наш друг

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

Готовая стандартная есть. Речь шла об «особой кнопке», с особыми свойствами и поведением

А веб-обезьяны всё переписывают контролы, которые ещё в прошлом тысячелетии были изобретены

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

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

Готовая стандартная есть. Речь шла об «особой кнопке», с особыми свойствами и поведением

Когда ты её последний раз использовал? Нет у тебя никакой «особой» кнопки, просто стандартные контролы в браузерах — уг, поэтому ты их и переписываешь по своему.

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

Ога, вся нативщина — одна боль и страдание и недостаточно тормозит. Открываешь ИДЕ, накидываешь стандартных контролов — пердоль-пердоль и готово, пока веб-обезьяны в очередной раз кнопки переписывают. БДСМ в чистом виде.

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

Когда ты её последний раз использовал?

Сегодня

Нет у тебя никакой «особой» кнопки

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

просто стандартные контролы в браузерах — уг

Ты снова открываешь портал в ад многостраничную дискуссию, о том, что нет никакого натива и никаких «стандартных контролов», если мыслить за рамками одной OC. Есть только говноAPI для виндоуз, говноAPI для мак, несколько какашек для линукса и говнофреймфорки (по одному на каждую мобильную ОС)

Открываешь ИДЕ, накидываешь стандартных контролов — пердоль-пердоль и готово

QML писали веб-макаки и вообще вредители рода человеческого?

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

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

Ок, уел.

просто стандартные контролы в браузерах — уг

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

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

если мыслить за рамками одной OC. Есть только говноAPI для виндоуз, говноAPI для мак, несколько какашек для линукса и говнофреймфорки (по одному на каждую мобильную ОС)

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

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

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

Возьми любую из выше перечисленных какашек

В частном случае для закрытой поделки — да. А в общем случае это будет значить «возьми 5 какашек и напиши 5 раз одно и то же»

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

the Qt Quick module provides all the basic types necessary for creating user interfaces with QML. It provides a visual canvas and includes types for creating and animating visual components

Эдакий недовеб, в котором тебе предлагают описывать компоненты в стиле js-фреймворков из 2010-х

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

В частном случае для закрытой поделки — да. А в общем случае это будет значить «возьми 5 какашек и напиши 5 раз одно и то же»

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

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

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

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

Эдакий недовеб, в котором тебе предлагают описывать компоненты в стиле js-фреймворков из 2010-х

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

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

Но под смартфоны и десктоп тупо пишут разные вещи

Не поверишь, но через пару лет в США будет черный президент. И еще: когда появится биткоин — покупай как можно больше, не пожалеешь

А тобой любимый Qt венду с линухом отлично унифицирует

Когда напишешь «фреймворк», включающий в себя Qt, нормальный ЯП, и удобную систему сборки, одной командой собирающую бинарник под любую ОС — тогда и приходи (в качестве годного образца можешь взять SwiftUI). А в текущем виде это черная магия для избранных

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

DOM в котором элементы разъезжаются на несколько пикселей в зависимости от фазы луны

Говорит человек, которому пофиг на красивости, который «Открываешь ИДЕ, накидываешь стандартных контролов — пердоль-пердоль и готово»

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

Не поверишь, но через пару лет в США будет черный президент.

А фотошоп под смартфоны через пару лет завезут? Среды разработки? Что нибудь, где есть больше дюжины кнопок?

Спросил бы о виджетах с погодой на десктопе, но не интересно.

Когда напишешь «фреймворк», включающий в себя Qt, нормальный ЯП, и удобную систему сборки, одной командой собирающую бинарник под любую ОС — тогда и приходи (в качестве годного образца можешь взять SwiftUI). А в текущем виде это черная магия для избранных

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

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

А фотошоп под смартфоны через пару лет завезут?

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

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

Правильно, выслушай. Может тогда не придется кадждый раз сшивать франкенштейна из Make/QMake/CMake/Automake/etc. И писать на адском языке без модулей

Через пару лет делфи научится выравнивать контролы само. Или оно сразу умело? Не помню

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

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

говорит больше о несовместимости API платформ и жажде наживы, чем о разнице в подходах к UI.

Ну да, ну да.

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

Дай уточню, «который будет работать» или которым я смогу своими толстыми пальцами пользоваться на смартфоне?

Правильно, выслушай.

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

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

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

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

глазками контролировать, уникальность имен CSS-классов

ты там код пишешь или жопой по клаве елозишь?

все ли классы на своих местах между CSS и HTML

определяй класс если он нужен, не определяй если не нужен.

правильность селекторов в ванильном JS

что, правда елозишь?

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

deep-purple ★★★★★ ()

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

anonymous ()