Изучение того, что казалось решенным вопросом; предлагая другую модель.
Прошло несколько лет с тех пор, как мы все говорили об адаптивном веб-дизайне, давайте напомним себе, что это такое.
Адаптивный веб-дизайн (RWD) — это настройка, при которой сервер всегда отправляет один и тот же HTML-код на все устройства, а CSS используется для изменения рендеринга страницы на устройстве…
Давайте сначала рассмотрим, почему нам это нравится.
Google - Отзывчивый веб-дизайн
Для веб-сайтов (ориентированных на контент) аргументы в пользу адаптивного веб-дизайна довольно громоздки; это просто решает много проблем.
Хотя только один из приведенных выше аргументов требует меньшего времени на разработку и полностью применим к веб-приложениям (сфокусированным на рабочих процессах), его легко заманить к адаптивному подходу веб-дизайна.
Мы давно придерживался мнения, что адаптивный веб-дизайн — лучший подход для всех веб-сайтов/приложений. Однако чуть более месяца назад мы столкнулись с проблемой дизайна, которая бросила вызов этому мнению.
Вот фрагмент из более длинной статьи:
Ввод выбора автозаполнения, как следует из названия, представляет собой гибрид поиска ввода автозаполнения и выбора. Классическим примером этого является выбор места отправления и назначения для рейсов, например, Авиабилеты в Google на рабочем столе:
На iOS ( iPhone ) это выглядит так:
Замечания:
Когда у нас пришли идеи, что мы можем захотеть создать принципиально разные дизайнерские решения для настольных компьютеров и мобильных устройств, мы начали видеть больше примеров этого. Например, многие приложения для iOS имеют панель вкладок,которая явно является мобильным дизайном.
Две концепции дизайна взять на себя тему
Неудивительно, что структура дизайна Google, Material Design, придерживается подхода адаптивного веб-дизайна.
Material Design поддерживает один и тот же пользовательский интерфейс на разных платформах, используя общие компоненты для Android, iOS, Flutter и Интернета.
Материал Дизайн - Введение
Интересно, что Material Design периодически вводит исключения из этого подхода, например, они указывают панель приложения только для мобильных устройств.
Относительно новый фреймворк Ant Design, обеспечивает две совершенно разные решения между мобильными и настольными.
Допустим, мы используем два совершенно разных дизайнерских решения для настольных компьютеров и мобильных устройств, например, мы используем библиотеки Ant Design; Есть два подхода, которые мы можем использовать.
Мы можем создать два разных приложения; один для мобильных и один для настольных компьютеров. Проблемы здесь, как:
Мы также могли бы создать одно приложение и программно переключать компоненты между настольным и мобильным устройствами. Задача здесь состоит в том, чтобы избежать неэффективного, раздутого приложения; т. е. перенос кода для настольного и мобильного.
Одной из менее понятных особенностей современной разработки веб-приложений является разбиение кода.
Пакетирование это замечательно, но по мере роста вашего приложения ваш пакет также будет расти. Особенно, если вы включаете большие сторонние библиотеки. Вы должны следить за кодом, который вы включаете в свой пакет, чтобы случайно не сделать его настолько большим, чтобы загрузка вашего приложения заняла много времени.
Чтобы избежать попадания в большой пакет, хорошо бы опередить проблему и начать «разделять» свой пакет. Разделение кода — это функция, поддерживаемая пакетами, такими как Webpack и Browserify (через фактор-пакет), которые могут создавать несколько пакетов, которые можно динамически загружать во время выполнения.
Реакция - Разделение кода
Благодаря разделению кода мы можем легко загружать различные компоненты в зависимости от среды (настольной или мобильной) и обмениваться общим кодом без потери производительности из-за ненужных больших размеров пакетов.
Чтобы продемонстрировать этот подход, особенно с помощью Ant Design и Ant Design Mobile, мы создали простой пример. В этом примере используется компонент Ant Design Button при запуске на рабочем столе:
И кнопка мобильного дизайна Ant Design на мобильном телефоне
Осматривая пучки, мы имеем следующее:
Общее между настольным и мобильным
Дополнительные комплекты для рабочего стола
Дополнительные комплекты для мобильных устройств
Замечания:
Хотя это не на 100% заслуга библиотеки Ant Design Mobile, опять же, она немного грубовата, есть мнение, что с помощью разделения кода мы можем эффективно дополнить наш подход адаптивного веб-дизайна и создавать приложения, которые полностью оптимизирован как для настольных, так и для мобильных устройств.