ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Проблемы адаптивного веб-дизайна

Проблемы адаптивного веб-дизайна

Изучение того, что казалось решенным вопросом; предлагая другую модель.

Отзывчивый веб-дизайн

Прошло несколько лет с тех пор, как мы все говорили об адаптивном веб-дизайне, давайте напомним себе, что это такое.

Адаптивный веб-дизайн (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, опять же, она немного грубовата, есть мнение, что с помощью разделения кода мы можем эффективно дополнить наш подход адаптивного веб-дизайна и создавать приложения, которые полностью оптимизирован как для настольных, так и для мобильных устройств.

Exit mobile version