Псс, дизайнер, хочешь ещё один конструктор для создания сайтов?

    Всем привет! На самом деле я сторонюсь сравнений с конструкторами сайтов и ниже расскажу, почему это так. Наш проект — это скорее редактор, позволяющий динамически верстать макеты без кода и генерирующий на выходе оптимизированный продакшн-реди код. В остальном мы ближе к графическим редакторам. Этакий No-Code Pixel Perfect инструмент, где всё нужное под рукой, и где реализовано всё то, чего не хватало в Фигме.




    За всё, что мы делаем, отвечаем тоже вместе (с)


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


    Самое время представиться. Меня зовут Витя, занимаюсь дизайном около 12 лет. За это время поработал в разных компаниях. В самом начале пути это был аутсорс. Затем пришел в uKit.Group, а на тот момент uCoz (честно напиши в комментариях, сколько сайтов кланов по контре собрал на юкозе, пока был юн и горяч). Можно сказать, что uKit — это мой первый серьезный продуктовый опыт.


    Последние 4 года работаю на позиции арт-директора.


    В команде проекта, о котором я сейчас буду говорить, помимо меня всего три человека: два программиста — Рома и Слава, и тестировщик Егор.


    Для кого наш проект


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



    У нас несколько аудиторных фокусов, один из их — это небольшие дизайн-студии. Также можно выделить дизайнеров-фрилансеров. Мы многое ещё не успели реализовать на текущий момент, но вот именно фрилансерам, создающим сайты-визитки и небольшие сайты до 10-20 страниц, Графит подходит уже сейчас. Он способен удовлетворить многие их потребности в области Pixel Perfect, необычных дизайнов и нетривиальной верстки. Многие макеты из Фигмы можно сверстать почти один в один внутри Графита.


    Хорошо там, где нас нет


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


    Наши конкуренты: Фигма, Скетч, Editor X от Wix, Studio.design, Webflow, Readymag, SquareSpace. Аудитория каждого сервиса может найти для себя мотивацию юзать Графит. Наша задача — донести, почему стоит это сделать.


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


    Tell me Why


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


    I. Сетка


    Прежде всего, Графит — это инструмент сетки. Звучит не ново, согласен. Однако в нашем случае сетка представляет собой визуальный инструмент автоматической верстки, который ломает для дизайнера барьер между кодом и графикой. Сетка внутри Графита объединяет два способа расположения элементов: непосредственно по сетке и свободное позиционирование. Поэтому мы называем её гибридной.



    Любая конструкция, собранная в Графите, по умолчанию адаптивна: добавляйте в контейнеры элементы по координатам, не думая о том, что случится при входе с мобильного устройства.


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


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


    II. Панель слоев


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


    Что мы привнесли от себя:


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

    III. Дизайн-система


    В Графите она рождается, живет и развивается вместе с сайтом. Это позволяет поддерживать и развивать дизайн-систему с минимальными затратами.



    Что это дает:


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

    IV. Визуальные компоненты


    Эта функция пока только находится в разработке. Она позволит создавать компоненты из комбинации элементов сайта и переиспользовать их в дальнейшем. Механизм работы будет похож на реализацию компонентов (или символов) в графических редакторах.


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


    Что ещё?


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


    Подкапотное пространство


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


    Фронт: Lerna, React, Redux, Emotion (SPA), Flow, Prettier, Unit testing, Gitlab CI, Babel, Webpack, Sentry.


    Бэк: Node.JS, Nest.JS, MongoDB, Firestore, Nginx + LUA, PM2, RabbitMQ, Docker, Dockerswarm, Grafana, Fluentd, Kibana.


    О том, как мы всё это готовим и с какими трудностями сталкиваемся — уже в следующем посте. Буду рад вашим вопросам!

    Graphite
    Инструмент для веб-дизайнера, оживляющий макеты
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 42

      +1
      Пока только попробовал, но сразу первое пожелание — сделайте фон стола настраиваемым, или хотя бы не почти черным. А то глазам очень неприятно. FAFCFD панели на 020203 фоне — боль.
        0
        Спасибо за интерес к проекту и обратную связь!

        Действительно – контраст слишком сильным получился.
        Мы сейчас активно работаем над тем, чтобы сделать интерфейс редактора не только удобным и функциональным, но еще и комфортным для глаз пользователя. В списке задач есть, в том числе, и настройка темы всего приложения (темная/светлая) и цвета отдельных частей интерфейса – например, фона холста или подсветки сетки.

        Еще раз спасибо, что попробовали наш редактор и даже помогли его улучшить :)
          0
          Полностью поддерживаю, а то сильно уж неприятно. А вот черный фон всегда отлично выглядит.
          0

          Довольно удобная штука, спасибо. Можно быстро накидать макет и разработчику будет понятнее, чем с фигмой, где flex, где марджин, а где паддинг.
          При экспорте html получается очень многословный: просто добавил текст на чистую страницу - уже 15 дивов. Чтобы потом допиливать, придется долго вычищать. Это вариант обфускации или какие-то есть технические ограничения по генерации простой верстки?

            +13
            Это ограничение антимонопольного комитета. Очевидно, что конструктор сайтов, который сможет генерировать нормальный html без излишеств для любых макетов, тут же займет доминирующее положение на рынке. Поэтому существует минимальный коэфициент на который следует умножать количество генерируемых элементов, чтобы не злить антимонопольщиков.
              0
              Привет! Спасибо, что попробовали наш редактор и поделились комментарием.

              Да, вы совершенно правы, некоторая избыточность в финальном коде сейчас присутствует, в основном как раз в виджете Текст. Обусловлено это тем, что данный код (в силу no-code специфики Графита) сейчас рассчитан в первую очередь не на прочтение людьми, а на улучшение его привлекательности в глазах поисковых роботов, ботов и прочих бездушных машин. Безусловно они тоже смотрят на размер и количество, но не ставят это в приоритет. Хочу сразу заверить, что руками править созданные в Графите странички не требуется: рендеру такая избыточность не мешает, и на качестве/производительности не сказывается.

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

              UPD: промазал ответом к комментарию ниже)
                0

                Круто, надеюсь у вас все получится!

                  0
                  Спасибо за пожелания проекту! :)
              +1
              Сейчас бесплатно, а что будет позже?
              Какие тарифные планы планируются?
              Я о том, что не зная планируемых прайсов, я не вижу смысла переезжать, с фигмы, чтобы потом оказалось что я не имею возможности больше править свои проекты.
                +1
                Править сможете, но только после оплаты, скорее всего.
                  0
                  Привет! Спасибо за интерес к нашему продукту, и в особенности – за то, что задали очень важный для этапа знакомства с продуктом вопрос.

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

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

                  Что касается «планируемых прайсов» – тут честно признаюсь, что на данном этапе мы так далеко стараемся не загадывать. Это не значит, что мы вовсе не имеем никаких долгосрочных планов, но на данном этапе развития продукта каких-то конкретных чисел я назвать, увы, не смогу. Сейчас для нас фидбек от реальных пользователей ценнее всего. Но повторюсь: если мы будем вводить платные тарифы, это не будет внезапной историей для наших пользователей.

                  Я не прошу верить мне на слово – позвольте нам завоевать ваше доверие постепенно :) Возможно, вам будет удобно перенести в Графит всего один своей проект, и со временем уже решить, стоит ли переезжать из Фигмы целиком. Вполне вероятно, что к тому моменту вопрос с платными тарифами уже станет для пользователей более прогнозируемым, и все опасения развеются.
                  0
                  а webflow чем не устраивает?
                    0
                    Привет! Webflow – безусловно, отличный продукт, и позволяет закрыть очень многие боли дизайнеров и разработчиков.

                    Но одной из важных идей при создании Графит было – “а что если создавать сайты в конструкторе будет так же просто как в графическом редакторе?”. Мы хотели дать дизайнерам похожие инструменты для творчества, для быстрого создания и проверки итераций дизайна, и чтобы при этом не нужно было глубоко знать HTML/CSS.

                    
Поэтому наше основное отличие в фокусе на визуальном редактировании и творчестве, а Webflow больше про верстку и код (на наш скромный взгляд):
                    – У нас невысокий порог входа и можно создавать сайты почти не зная HTML/CSS.
                    – Размеры элементов, их отступы, создание базовой структуры сетки доступны в Графит как визуальные инструменты, прямо на холсте.

                    – В Графит более простой и понятный интерфейс: у нас меньше настроек, чем в Webflow, но при этом можно создавать макеты похожей сложности. Мы постарались вынести на первый уровень интерфейса самые важные для дизайнера настройки.
                    – Графит предлагает более привычный для графических редакторов подход к дизайн-системе и визуализации в целом, а также позволяет использовать в работе уже знакомые инструменты и методики из популярных графических редакторов.

                    В целом, если вы дизайнер или вам больше нравится визуальное редактирование, чем работа с кодом, то вы точно найдете для себя интересные функции. По крайней мере, мы на это рассчитываем :)
                    +2

                    А чем это лучше редактора тильды? :)


                    (что мне сказать нашим дизайнерам по этому поводу)

                      0
                      Привет! К тильде мы относимся с большим уважением (и к webflow, как я писал в комментарии выше, да и к другим редакторам тоже), они сильно изменили отношение к дизайну в конструкторах в лучшую сторону.

                      Из того на что стоит обратить внимание у нас:
                      – Весь сайт редактируется на одном холсте, целиком. Не нужно переходить в отдельный интерфейс, чтобы отредактировать конкретный блок.
                      – Помимо абсолютного позиционирования по координатам, у нас есть позиционирование в сетке, которе напоминает Auto-layout в Figma, только с большими возможностями. Изменение размеров элементов, их позиции или контента влияет на все нижележащие элементы – их не нужно двигать руками, макет подстроится сам. Делать адаптивные макеты, использую сетку, получается проще и быстрее.
                      – Как продолжение функций сетки, есть виджет Container (похож на микс Frame из Figma и CSS модели flexbox). В контейнер можно добавить несколько элементов, и одной кнопкой менять направление их расположения (колонка/строка), горизонтальное и вертикальное выравнивание. Контейнеры можно вкладывать друг в друга, что позволяет создавать сложные адаптивные конструкции.
                      – Инструменты управления дизайн-системой. Можно создавать и редактировать в одном месте переменные цветов, темы, шрифтовые стили, скругления и бордеры.
                      – Функция Variants позволяет менять внешний вид кнопок (и любых других элементов) сразу и одновременно на всем сайте.
                        0

                        А что можно сделать с результатом работы? (еще не регался, еще не смотрел, да я и не дизайнер...)

                          0
                          Результат работы можно опубликовать на предлагаемый нами хостинг и прикрепить свой домен. Или сохранить как HTML/CSS файл и разместить на своем хостинге.
                            0

                            То есть практически то же самое, что и позволяет делать тильда?


                            API для скачивания файлов есть? :)

                              0
                              С точки зрения конечного результата – да.
                              Процесс будет отличаться, потому что инструмент проектировался в первую очередь для дизайнеров и дает им более комфортную среду.

                              API для скачивания пока что не предусмотрено.
                                0
                                API для скачивания пока что не предусмотрено.

                                Очень жаль. Я, конечно, подкину ссылочку нашим дизайнерам/лонгрид-мейкерам, но без API нам будет довольно неудобно вытягивать контент средствами наших "CMS".


                                … насколько я представляю, его несложно запилить ;-)

                      +4

                      Интересно, как откровенно рекламная статья с минимумом технической информации набирает +22? Есть сервис который продаёт плюсы на хабре?

                        +2
                        Думаю, на любой бирже фриланса можно заказать.
                          0
                          Я в свое время гуглил и не нашел)
                          p.s. а Хабр чисто для технических статей, Дима?)
                            0

                            Я не модератор, просто эта конкретная выделяется на фоне. Обычно бы это набрало в районе +5 и то с натяжкой.

                            А тут +22, чувствуется умелая рука маркетолога.

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

                            Но под капотом у нас тоже много хипстерского, модного и жутко интресного, о чём, конечно, хочется рассказать. Ряд постов на эту тему уже готовим!
                              0

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

                              +1

                              Тут в последние годы такие вещи в топе бывают с >100 плюсов. А вы удивляетесь рекламной статье размещённой в блоге компании. В статье хотя бы намёк есть на техническую часть.

                              0
                              Классный инструмент. Пользуюсь mobirise и сейчас очень не хватает описанного функционала графических компонентов. Очень хочется опробовать именно эту фичу.
                                0

                                Здравствуйте! Как раз ищу что-то подобное, но этап знакомства закончился на регистрации, после логина через гугл, на страничке ответов на вопросы «кто я», не скроллится вниз, до кнопки «продолжить». iPhone 8, актуальная ОС.

                                  0
                                  Спасибо что сообщили! Баг пофиксим.
                                  Сейчас рекомендуем пробовать редактор на десктопе, потому что опыт сборки проектировали прежде всего под него. На всякий случай уточню, публикуемые сайты будут адаптироваться под все девайсы.
                                    0

                                    Спасибо, обязательно попробую. Удачи вам, в вашем деле.

                                  +1
                                  ого, какие крутые штуки делают в нашем Ростове-на-Дону! :-)
                                    +1
                                    Я для себя сделал вывод, что не очень, мягко говоря, чистый код, генерируемый визуальными редакторами, оттаклкивает профессионалов. Поскольку обычно быстрее все это будет сверстать вручную чем вычистить такой код. Для не верстальщиков — да, визуальные редакторы штука очень привлекательная.
                                    Главная проблема начинается, когда в команде есть «смешение жанров». Сейчас как — в классике дизайнер передает верстальщику макет, и хорошо если эти 2 человека знают свое дело и понимают что нужно, чтобы коллеге не было мучительно больно. Но как правило жизнь далека от идеала и между этими друмя чаще всего известные и набивщие всем искомину проблемы.
                                    С внедрением в нашу жизнь визуальных редакторов их кажущаяся легкость и простота использования добавляет верстальщику или человеку, отвечающему за чистый код мегатонны проблем, выражающихся в многократном увеличении малопродуктивного рабочего времени. Того времени, которое он мог бы с гораздо большей пользой потратить как для себя, так и для компании.
                                    Когда мне впервые передали лендинг, сделанный в редакторе, со словами «там все готово, только чуть подправить вот те 3 блока прыгают под планшетом», я был в ужасе от сгенерированного кода. Я понял, что сделать этот лендинг с нуля будет быстрее чем вычистить его.
                                    Но я также понимал, что людей, которым дали такую игрушку, уже не остановить. И что есть только 3 варианта решения проблемы: чистить все самому, переписывать все самому, либо же распрощаться с чистым кодом.
                                    А теперь представьте себя, что у нас сейчас несколько сотен сделанных конструктором лендингов, баннеров и прочих страниц и блоков. И они продолжают их лепить. А что бы вы предпочли, какой из этих 3 вариантов? Вот и я о том же…
                                    Всегда говорил, тот кто создаст визуальный редактор, генерируемый чистый код, сможет стать не просто монополистом, а диктатором. Такому редактору даже реклама будет не особо нужна — его будут передавать из рук в руки и лицензии на него будут разлетаться как горячие пирожки.
                                    Разработчику — мои самые искренние пожелания, чтобы у вас все получилось. И если где-то в to-do, приоритетах, в планах записано «работать над частотой кода» — то небольшая ремарка в конце: попробуйте сделать лайт-версию, ну то есть что то вроде такого, чтобы можно было по быстрому накидать только основные элементы макета, но при этом чистый код на выходе.
                                      +1
                                      Было бы интересно взглянуть на сравнение с инструментом Framer так как он на выходе выдает готовые компоненты на реакте (и так же можно писать свои). Если я правильно понял из статьи то это более близкий конкурент чем фигма где вроде только статика (не пользуюсь фигмой)
                                        0

                                        Более близкий фреймеру наш же Quarkly, с возможностью своих реакт компонентов и т.п.

                                        Можете тут же на Хабр почитать детали

                                          0
                                          Если говорить про сайты, то мы сильно больше ориентированы на production код и специфику сайтостроения. Тут несколько важных моментов:
                                          – мы предоставляем комплекс инструментов, которые упрощают жизнь веб-дизайнеру и позволяют делать быстрее рутинные вещи
                                          – на выходе мы отдаем статические страницы, которые сразу готовы к загрузке на хостинг и индексации поисковиками, не нужно тратить время на их дополнительную подготовку
                                          – наши nocode инструменты ближе к динамической и адаптивной природе веба, и дают дизайнерам воспользоваться возможностями CSS во всей полноте

                                          Framer себя позиционирует как инструмент прототипирования, то есть на выходе вы получаете прототип, пусть и близкий к production версии за счет использования реакт компонентов. У нас же вы сразу получаете production версию.

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

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

                                          Ну и мелкий вопрос - под Vue.js экспорт планируете?

                                            0
                                            Выход пока только под веб. О мобильных приложениях задумывались, но в совсем далеких планах. Под Vue.js пока не планируем.
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                            • НЛО прилетело и опубликовало эту надпись здесь
                                              0

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


                                              Добавил текст, нарисовал прямоугольник. Прямоугольник рисовался не по сетке изначально, потом его нельзя было выделить (еле нашёл, как). Хватаешься за границу одного блока, тянешь — а тянется совсем другая граница.


                                              Скрин-видео неудачного UX тут


                                              Извините, дальше закрыл, проще тут спросить:


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


                                              • Что с шаблонами, когда надо одну страницу прикрутить ко всем?


                                              • Что с библиотекой готовых элементов UI? что с библиотекой своих элементов, есть возможность?


                                              • Что со стилями текста, можно определить стили и их применять?


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

                                                Проблема на видео возникла из-за отрицательного правого отступа (margin) у прямоугольника. Когда у маленького элемента большой отрицательный отступ, то браузер считает его ширину слишком маленькой, и не получается его выделить. Во второй части вашего видео пунктирной линией показана зона, которую создают отступы.

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

                                                И ответы на вопросы:

                                                – Адаптивность в сетке настраивать просто – элементы сами подстроятся под брейкпоинты, остается донастроить отступы и размеры. Абсолютно спозиционированные элементы нужно подвигать руками, но благодаря привязкам к разным сторонам (аналог Constratints из Фигмы) можно упростить себе жизнь. Здесь можно увидеть настройку мобильной версии, с 2:53. Осторожно, видео ускорено, макет в начале.

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

                                                – Пока доступны базовые элементы UI. Конечно, в дальнейшем будем расширять их набор. Свой элемент сейчас можно добавить с помощью виджета Код. Также рассматриваем возможность создания библиотек своих элементов, после введения функции компонентов.

                                                – Текстовые стили можно создавать и применять.

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

                                              Самое читаемое