Alex Kols

+273
с 2020
12 подписчиков
28 подписок

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

Quarkly – не является блочным конструктором. Блочные конструкторы – tilda, wix. То, что у нас есть блоки, его таковым не делает.
Мы расстроены, что вы не обратили внимание на наш основной функционал, но это не беда, я вам сейчас всё расскажу.

Итак, Quarkly – гибрид нескольких инструментов (идейно). Figma (design tool) – отсюда у нас есть все основные фишки графических редакторов. Codesandbox – это как раз та часть, которой вы не уделили внимание. У нас можно разрабатывать свои компоненты, импортировать модули. Модули могут быть как локальными – вы можете создать сложную и оптимизированную композицию (компонент). Как я увидел, это вы как раз делать не захотели. Также вы можете импортировать любой модуль из npm-registry. Мы реализовали свой собственный сборщик модулей, что уже само по себе интересно.
Далее, Storybook – каждый созданный компонент в системе является самостоятельным виджетом, который вы можете редактировать(пропсы), перемещать на холсте, позиционировать абсолютно (интерактивно) и, самое главное,  то что вы тоже пропустили, – можно конвертировать в компонент (в правой панели меню -> convert to component) и написать ему бизнес-логику, при этом в коде страницы он не будет занимать 1000 строк, как у вас.

Насчет претификации: количество кода это как раз следствие претификации (которая включена в компиляцию).

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

Работа со страницей:

Есть опорная структура данных – в нашем случае плоское дерево. Когда пользователь делает что-то в коде страницы, он как раз редактирует это дерево. Наша структура данных умеет преобразовываться в AST дерево.
AST дерево, в свою очередь, в код. Для этого у нас есть модуль Printer. Он приводит ноды из AST дерева в читаемый, претифицированный код.
JSX-код может быть преобразован обратно в AST дерево, которое уже может преобразоваться в нашу структуру данных – это обеспечивает возможность редактирования как из кода, так и из холста.

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

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

20

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

2

Наша главная quarkly.io собрана в Quarkly, при это там достаточно анимации, можно оценить, так сказать, живьем :)

1

Спасибо, что потратили часть вечера субботы на ревью нашего кода 🙂 Но давайте по порядку. Quarkly – гибрид ide и графического редактора. Когда вы разрабатываете на ide, вы ведь вряд ли вините его за "говнокод"?) Это как создавать issue в репе vscode со словами: "ваш редактор говно, у меня тут говнокод", уж простите, без обид)

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

41

Максим, приветствую. Тут вы правы, скоро у нас будет локализация. Всё параллельно уже переведено на русский. Тянуть как Дуров не будем, сделаем до Нового года :)

31

Доброго вечера. Да, проблему с SEO решили. Для этого экспортируйте ваш проект в Gatsby. При сборке и деплое ваш проект отрендерится на сервере (SSG), все мета-теги и разметка сайта будут доступны сразу.

2

Спасибо огромное!) Такие отзывы нас вдохновляют на новые свершения!
Переход по ссылкам в превью нам ещё предстоит сделать, этого пока нет. Если есть ещё какие-то неясные моменты по интерфейсам и их работе – обязательно пишите, подскажем!

4

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

5