Объёмы компонентов и их особенности
Компоненты бывают разные по объему. В одних может быть много элементов, а в других — всего один. Порой сложно решить, как делить интерфейс: на мелкие или на крупные детали.
Как делить интерфейс, решает разработчик. Принцип один — быстрее строить интерфейс из крупных строительных блоков, поэтому, как только видите что-то, что потенциально может быть объединено в конструкцию, подходящую для повторного использования, — объединяйте её в компонент. Мы умышленно пока не говорим, как это делать в коде
Сначала важно, чтобы вы поняли принцип стремления к повторному использованию разных частей интерфейса
Примеры комплексных компонентов:
-
Шапка и подвал сайта будут использоваться на всех страницах. Как бы они ни были сложны — это компоненты.
-
Форма обратной связи может появляться на разных страницах — это компонент.
-
Карточка товара, статьи или услуги — это тоже компонент.
-
Всплывающее окно с разным содержимым — это компонент.
-
Входная секция с заголовком в статью — это компонент.
Примеры небольших компонентов:
-
Кнопки одинакового вида
-
Поля ввода
-
Иконки с одинаковыми свойствами
-
Заголовки с повторяющимися свойствами
-
Абзацы
Получается, что почти каждый отдельный HTML-элемент может быть компонентом, если его нужно повторно использовать с одинаковыми или очень похожими стилями.
Базовые и расширенные функции Notion для специалиста
В приложении много возможностей — это плюс, но и минус: без обучающих статей и видео сложно разобраться в программе.
Если вам пока сложно, начните с базовых функций, используйте приложение как «продвинутый» блокнот. Notion станет для вас личной википедией. Когда станет все понятно – идите дальше.
Базовые функции Notion
Иерархия страниц
На панели слева – все страницы, которые есть у пользователя. Их можно удалять, создавать новые. Каждый сам продумывает темы.
Notion – конструктор страниц: главные блоки – слева на панели, в них можно создавать подстраницы. Это не монолитная конструкция: страницы можно перемещать, объединять, связывать между собой, удалять.
Так выглядит боковая панель
Сверху вниз: быстрый поиск, уведомления, настройки, важное, личные страницы, шаблоны, импорт и корзина
Блочная система
Если вы хотите создать папку на компьютере, то просто кликаете в любом нужном месте. В Notion так нельзя: вы работаете через блоки. Чтобы совершить действие на странице, нажмите на + и выберите действие из списка.
Текст можно набирать сразу, а не нажимать на +. Поначалу может быть не так удобно писать тексты, как в Google Docs, потому что в Notion каждый новый абзац – новый блок, а не единый текст. У вас не получится выделить часть одного абзаца и часть другого: в Notion блок – это самостоятельный элемент страницы. Зато блоки удобно двигать, переносить части текста вверх или вниз.
Так выглядит работа с текстом в notion
Создать таблицу в Ноушен
Сила Notion – базы данных. Но пользователь может работать в них, как в таблицах, если нет желания или времени.
Обычная таблица – набор строк и колонок. База данных – это много интерактивно расширяемых таблиц, которые связаны друг с другом.
В Notion каждый добавленный в базу данных элемент может быть отображен как отдельная страница. Еще можно связывать сущности различных баз данных между собой. В базе данных вы можете не только хранить информацию, но и отображать, группировать, анализировать, выводить, суммировать, применять к ним различные алгоритмы с помощью формул, схожих с формулами Excel.
Больше функций приложения Notion
Научитесь группировать и систематизировать свои данные, пользуйтесь расширениями и виджетами в Ноушене для большей кастомизации. Это все еще просто, но теперь Notion заменит таск-менеджеры, планеры, календари.
Освойте базы данных
Попробуйте заполнить поля со свойствами к вашей информации: расставьте теги, даты или числа.
В базе данных доступны свойства: текст, число, выбор, множественный выбор, дата, человек, файл, галочка, ссылка, электронная почта и номер телефона. Например, если в столбце будет информация про деньги, выберите «число».
Теперь меняйте формат вывода данных: из таблицы в канбан-доску, список или календарь. Сортируйте, устанавливайте фильтры.
Например, можно узнать доход за прошлый месяц, но не учитывать подаренные на день рождения деньги.
Через фильтр можно как вывести группу данных, так исключить. В левом окошке выберите свойство базы, а в левом укажите команду.
Дизайн
По умолчанию иконки – обычные смайлики. Хотите стильные и минималистичные — можно взять свои, например, скачать на Tilda или с Notion.vip.
Меняйте положение текста и шрифт. Выберите темную или светлую версию
Продвинутые функции Ноушен
Advanced-функции Formula, Relation и Rollup нужны для работы с базами данных.
Математические формулы – это сложно. Но опыт в Excel и знание математических функций помогут разобраться. Фрилансер сможет и без них организовать работу. Но формулы частично автоматизируют Ноушен, как в примере:
Эта формула Бена Смита поможет фрилансеру посчитать количество часов, которое он работал
За этим важно следить, чтобы рассчитать ставку за час. Можно устанавливать зависимость между базами
Это позволяет в одной базе отображать данные из другой базы, а значит, экономить время на переписывании.
Можно устанавливать зависимость между базами. Это позволяет в одной базе отображать данные из другой базы, а значит, экономить время на переписывании.
Роллап помогает сделать вычисления в базе данных на основе данных другой таблицы.
Пример, как можно использовать свойства «связать» и «роллап». В первом столбике указана финансовая цель. Второй связали с таблицей клиентов. В третьем посчитали с помощью роллапа, сколько они заплатили за месяц
Подробный обзор функций Notion есть у популярного блогера Насти Кей:
Что такое Notion
Notion – приложение для работы с информацией, организации личных и рабочих дел.
Уникальность Notion в том, что каждый сам решает, как будет выглядеть приложение и для чего его использовать. Вести проекты, использовать для учебы, хранить рецепты – все это можно делать в Notion.
Разработчики добавили необходимые инструменты: базы данных, редактор текста, математические формулы, списки, канбан-доски. Как в игре The Sims можно построить дом мечты, так в Notion — построить идеальное приложение.
Проблема Notion – интуитивно непонятно, что делать: обилие возможностей сбивает с толку новичков.
Так выглядит приложение, когда его впервые открываешь. Русскоязычной версии нет
За пределами вёрстки. Как компоненты работают в фреймворках
Перед тем как говорить о принципах вёрстки, позволяющих создавать компоненты, полезно увидеть практику применения компонентного подхода в его максимальном воплощении — в компонентных фреймворках. Это позволит сформировать картину результата, первым этапом получения которого является вёрстка.
Идеальный компонент — это набор разметки, стилей и функциональности, который можно переместить в любую новую зону одного проекта или даже в совершенно новый проект без изменения кода самого компонента.
В видео показано, как из одного проекта с именем копируют папку с компонентом во второй проект с именем . После этого остаётся только импортировать компонент в страницу, вставить в нужное место и дописать настройки, определённые в компоненте. На деле переиспользование в новом проекте выглядит похоже на HTML-теги, но вместо тегов используют целые компоненты. Вот такой код автор вставляет в новый проект:
Так на странице появляются два компонента с выпадающим по нажатии на кнопку текстом.
В других библиотеках повторное использование может быть ещё проще: в Vue.js или Svelte весь код компонента хранится в одном файле со специальным расширением. Этот файл содержит и стили, и разметку, и функциональность. Поэтому перетаскивать из проекта в проект приходится не папку с компонентом, а всего один файл.
А теперь представьте, что перетаскивать вообще ничего не нужно, весь код компонентов хранится где-то в сети, и вы только подключаете его оттуда в свои проекты. Обновления библиотеки компонентов также автоматически попадают к вам, вы только пользуетесь конструкциями вида:
После этого они превращаются в интерфейс. Это реальность современной разработки. Одни люди составляют библиотеки компонентов, другие их используют.
Ограничения компонентного подхода в HTML и CSS
Разделение кода на компоненты — опция, которая лежит за пределами вёрстки на HTML и CSS. Если CSS-код можно разделить на сколь угодно малые части и подключить последовательно к HTML-файлу вашей страницы, то HTML-код воспроизводится браузером как монолит. То есть вся страница с HTML-кодом должна быть загружена браузером разом. В HTML нет возможности создать свои теги и компоненты без программирования.
Получается, что реализовать компоненты на чистом HTML и CSS невозможно. Нужны дополнительные программы, способные вставить отдельный кусок HTML-кода в общее полотно страницы. Такие программы называются сборщиками или бандлерами. Кроме сборщика для реализации компонента потребуется ещё одна программа — шаблонизатор. Она позволит создавать на HTML основу для контента, а сам контент помещать внутрь тегов при вызове компонента в нужном месте. Работает это примерно так:
Когда программа-шаблонизатор увидит конструкции в фигурных скобках, она поймет, что туда можно вставить содержимое с соответствующим именем. Часто это содержимое передается как атрибут компонента при вызове.
Существующие ограничения — это не повод забыть о компонентном подходе. Потому что идеи компонентного подхода должны влиять на то, как вы именуете ваши классы в HTML и какие решения принимаете при написании CSS-кода.
Компоненты и элементы
Компоненты — это обычно набор элементов. Например, компонент «Форма» состоит из элементов: заголовок, поле ввода, текст лейбла и кнопка.
Но элементы внутри компонентов и сами могут быть компонентами. Например, кнопка может повторно использоваться в разных частях сайта.
На этой странице есть две очень похожие друг на друга кнопки:
Кнопка в шапке и кнопка в форме отличаются лишь размерами и цветом текста, но, скорее всего, у них разная функциональность
Эти особенности уступают перед одной важной деталью — таких кнопок в интерфейсе могут быть десятки, и все они будут примерно одинаковые. Поэтому лучше сделать один компонент «Кнопка» со всеми общими свойствами, а особенности поведения присвоить кнопкам-элементам, а не кнопкам-компонентам
Элементы большого компонента — не всегда другие компоненты. Если какой-то элемент используется только в контексте конкретного компонента и, скорее всего, не будет использован нигде больше — это просто элемент.
Логотип справа из этого скриншота, скорее всего, встретится в интерфейсе не раз, а вот рука с указателем на него — это что-то специфичное для подвала сайта
Как выглядит компонентный подход в деле
В процессе вёрстки более или менее сложного интерфейса в дизайне повторяются одни и те же элементы: кнопки, всплывающие окна, карточки, списки. Они выглядят одинаково на разных страницах сайта или просто в разных его зонах. Это и есть компонентный подход к интерфейсам.
Пользователи любят предсказуемый интерфейс. Когда они привыкнут к поведению какого-то элемента, им будет проще использовать аналогичный в другом месте.
Как в этом примере:
При наведении на каждую клетку сайта caniuse.com появляется тултип с информацией. Каждая клетка ведёт себя одинаковым образом, а каждый тултип похож на другой. И клетка, и тултип — это компоненты интерфейса.
Понять разницу между HTML-элементом и компонентом проще всего, если считать, что компонент содержит в себе и структуру, и внешний вид, и функциональность. То есть компонент — это набор из HTML-, CSS- и иногда JavaScript-кода, который может быть использован повторно в разных контекстах.
Зачем выбирают компонентный подход
Разработка подавляющего числа продуктов ведётся в духе компонентного подхода. Как и самые популярные фреймворки и библиотеки строятся на его принципах. Разработка современного продуктового фронтенда в основном связана с такими технологиями, как React, Vue.js, Angular или Svelte, а это всё фреймворки с компонентным подходом.
Компонентный подход к разработке интерфейса — путь экономии в разработке. Собрав систему компонентов однажды, разработчики уменьшают рутину. Одни и те же кнопки, контроллы (элементы управления) и даже крупные блоки сайта не приходится писать заново. Они просто лежат в библиотеке и ждут, когда разработчик скопирует заготовку и вставит её в нужное место.
Компонентный подход — путь к осмысленному масштабированию проекта. Когда ваш сайт развивается, появляются новые разделы и функциональность. Собирать новый интерфейс гораздо проще из заготовок. С системой компонентов бизнес быстрее получает результат.
В конце концов компонентный подход позволяет наладить цикл непрерывных улучшений. При появлении библиотеки компонентов вы получаете «источник правды». Вы развиваете библиотеку, учитывая всё новые требования: доступности, бизнес-логики, функциональности интерфейса. После подключения библиотеки к сайту все обновления компонентов будут поступать оттуда.
Коротко фрилансерам о Notion
Заказать разработку приложения для себя стоит от 200 тысяч рублей. Или можно потратить несколько вечеров на кастомизацию Notion и получить почти собственное приложение.
- Notion – программа, где фрилансер может хранить всю информацию о проектах и заказчиках, вести задачи, контролировать доходы и расходы, работать с данными.
- Все процессы настраивает сам пользователь, автоматически ничего не работает. Приложение подойдет тем, кто любит разбираться в программах, инструкциях, собирать виртуальный конструктор данных.
- Сила Notion в возможности выстраивания иерархии страниц и работы в базах данных. Из приложения можно сделать свою википедию.
- В Notion нет русифицированной версии. Но онлайн-переводчик поможет разобраться.
- Бесплатной версии хватит, если не собираетесь хранить больше 5 МБ файлов. Тарифы стартуют от $4 в месяц. Цена для командной работы — от $8.
- Есть сложные функции для работы с базами данных: Formulas, Rollup, Relation. Ими можно не пользоваться, если нужен просто продвинутый планер или электронный блокнот.
- В интернете есть обучающие материалы про Notion. Новички могут начать с шаблонов – их можно найти в самом приложении или в интернете. Вы можете начать с шаблонов автора этой статьи.
- Чтобы вести Notion эффективно, нужно ввести это в привычку.
—
У меня есть курс о том, как правильно и интересно вести телеграм-канал и продвигать его: покупайте здесь всего за 7200 рублей.
Фишки, чтобы упростить работу в Notion
Notion – это сложно. Но вот некоторые способы упростить работу в приложении:
Шаблоны
В Notion есть шаблоны страниц: они помогут начать или сэкономить время на настраивании приложения с нуля. В интернете пользователи делятся собственными шаблонами бесплатно или продают. На официальном сайте Notion есть разные шаблоны: их присылают сами пользователи, а модераторы размещают лучшие.
Веб-клиппер
Установите расширение для Google Chrome или Mozilla Firefox и сохраняйте любую страницу из интернета в Notion: статьи, цитаты, исследования и изображения. Для Safari расширения нет.
На телефон устанавливать ничего не надо: сразу «делитесь» с приложением ссылкой.
Бэкап
Чтобы экспортировать рабочую область, найдите «Export All Workspace Content» в настройках.
Получить данные можно в Markdown&CSV и HTML бесплатно, а в платной версии можно и в PDF.
Перевести Notion на русский
Чтобы поменять язык в Notion, можно установить расширение-переводчик для Chrome и открывать приложение в браузере.
Абзацы и блоки
Выше мы описывали проблему: при нажатии Enter новый абзац текста становится новым блоком. Сочетание Shift+Enter делает абзац, но не переносит текст в новый блок.
Открыть еще окна в Notion
Открыть второе и последующие окна в программе на Macbook можно через сочетание command + значок страницы, которую хотите открыть рядом.
Горячие клавиши в Ноушен
Пользуйтесь горячими клавишами, как в Google Docs. Вот здесь перечислены команды, а еще они всплывают как подсказки в самом приложении.