Search
Write a publication
Pull to refresh
1
0
Nick K. @dale0

JavaScript developer

Send message

Нормальный там DSL. Как я понимаю - они делают его совместимым с HTML, поэтому у вас все условные блоки и циклы реализованы через директивы v-* в аттрибутах и строки, поэтому вы заварачиваете ваши компоненты в <template>, и поэтому вы пишите блочные элементы, даже если они пустые, как блочные элементы. Ну, то есть не <slot />, а <slot></slot> (хотя можно и так и так - компилятору без разницы, а вот линтер будет по умолчанию ругаться).

v-bind:href – это что?

Это директива, котрая привязывает вашу переменную к аттрибуту href и подписывает элемент на изменения значения этой переменной, если переменная реактивная (можно передать туда ref и он сам будет подставлять вам url.value из вашего рефа).

"url" – выглядит как текст, а на деле переменная

Да, но редактор вам подсветит это как код.
Немного непривычно после JSX, но на мой взгляд так даже удобней будет. Как минимум писать условия и циклы приятней, чем в React, и выглядит это не настолько плохо, как в Solid с его специвльными компонентами для этих самых условий и циклов.

В этом смысле JSX выглядит немного привычнее.

Привыкайте к новому для вас языку и проблема решится сама собой :)

По ссылке в моём первом комментарии можете подробно почитать про Resumability и отличие её от гидрации. Но если совсем коротко: Меньше JS на клиенте (только то, что должно быть на клиенте чтобы интерактивные элементы работали), меньше кода исполняется (выполняется только код, который нужен в данный момент), ленивая загрузка кусков вашего приложения (раньше они делали это через service worker, а теперь через modulepreload). Ну а скорость - это проблема решаемая. Кроме того чтобы понять, почему бенчмарк такие результаты показывает, нужно понимать, как он реализован, а ещё обновлять фреймворки до актуальных версий, например

Vue прекрасно работает без сборки, npm и т.д.

React тоже можно использовать без сборок, npm и прочего: Просто импортируете его из какого-нибудь esm.sh в обычном JS-модуле и используете: https://codepen.io/octet-stream/pen/EaVjVmK
У вас не будет JSX - придётся вручную вызывать createElement, но так тоже можно. Другое дело что, а нужно ли? Равно как и с Vue - намного удобней использовать его со всеми этими инструментами.

vue reactive state доступен из коробки, ничего ставить не надо

Опять же, useState, useReducer и createContext доступны из коробки, ничего ставить не нужно. Для простых приложений должно быть достаточно. Работает даже без препроцессоров (ссылка на codepen выше в моём комментарии).

Например, на Qwik (но только для SSR приложений). Отличие которого в том что у него нет гидрации, но при этом он тоже похож на React, как и Solid.

Только вот это не фича V8 (как заявлено выше), а конкретно Node.js, и поддерживает она только strip (который просто заменяет все ваши типы пробелами и не поддерживает все фичи TS) и transform (под отдельным флагом) режимы, без проверки самих типов (это всё ещё делает tsc). В стандарте ещё ничего нет, но есть разные предложения (например https://github.com/tc39/proposal-type-annotations), соответственно, никакой поддержки в движках нет.

А как это оценивать? В одном проекте может понадобиться использовать все три подхода.

Приватные репо в ленте активность просто не отображаются. Только упоминаются.


Заголовок спойлера

image

Да, но их можно написать и самому.


Наверняка есть и сторонние решения :)

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

Рано вы про нативную имплементацию заговорили. Нода 7й версии ещё только релизнулась, да и поддержка асинхронных функций работает пока только с флагом.

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

Разница между ними в основном в том, что на Koa можно писать асинхронный код в синхронном стиле, используя генераторы или асинхронные функции (начиная со второй ветки).
Ну и ещё Koa — это больше connect, нежели express.
А каким образом require помешает в данном конкретном случае?

Information

Rating
9,147-th
Location
Киров (Кировская обл.), Кировская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer
Middle
TypeScript
JavaScript
React
Node.js
NextJS
Vue.js
GraphQL
Nuxt.js
TailwindCSS