Pull to refresh
25
0
Игорь Яковлев @igor_yakovlev

CEO AFFINAGE

Send message

В РФ есть огромное сообщество Superset https://t.me/superset_ru, скорее всего вам оперативно помогут

Круто, именно ссылку хотел. Все таки он платный? https://www.devexpress.com/products/net/dashboard/

Спасибо за дополнение! Как-нибудь расскажем о Shiny тоже

На сколько мне известно DevExpress - набор готовых UI-элементов, и нужно подключать программистов чтобы из разных элементов собрать единый интерфейс. Это так?

А можно подробнее? Речь идет о заказной разработке?

Фокус статьи хотели сделать на low-code, поэтому не попало в обзор

Спасибо за дополнение! Как-нибудь расскажем о них тоже

косяк, это Open Source, правки в статью внесли

Спасибо за важный комментарий! Дополнил статью.

Все равно вопрос не до конца понял)

у установленного PWA есть возможность очистить кэш, как у родного Андроид приложения?

Да, кеш под полным контролем разработчика. В библиотеке workbox удобно использовать готовые и различные стратегии кеширования https://developer.chrome.com/docs/workbox/caching-strategies-overview/

Приветствую! Из вашей статьи заинтересовало вот что, доступ к микрофону и камере, но ведь это вроде бы доступно и из обычного браузера, в том числе по WebRTC и WebAudio?

Всё верно, это обычные web-технологии, доступные уже сейчас. Так как статья обзорная и для широкой аудитории, то необходимо это было осветить в таком ключе.

И еще вопрос по работе в офлайн... вроде же и обычную html страницу можно просматривать офлайн и javascrpt может работать офлайн, в том же Fiirefox есть в меню file-.save as и можно сохранить полностью страницу, а потом просматривать ее офлайн. Правда этому будет слегка мешать CORS.

Это совсем разные режимы. Брать файлы из Cache Storage (куда есть доступ из приложения) и брать файлы из файловой папки с кэшем (куда нет доступа) совсем разные вещи. Смысл оффлайн работы приложения в контроле не только файлов, но и обычных REST-запросов, например в кэш можно положить JSON и пользоваться им в любой момент без интернета.

И еще вопрос - как в PWA с CORS проблему решают с локальными файлами? И есть ли доступ к локальной файловой системе? Ведь из обычного html такой доступ есть через запрос разрешения у пользователя.

Доступ к локальным файлам не используется. Посмотрите как происходит доступ к кэшу через service-worker и cache storage. Доступ к файловой системе это совсем другой, на текущий момент технология экспериментальная https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API но частью браузеров уже поддерживается.

Может ли установленное PWA быть совсем не похоже на сайт с которого его установили, например, сайт продаёт носки а PWA играет в крестики-нолики?

Да, может. Что было проще поддерживать разный код pwa и сайта, то можно вынести в отдельный поддомен, например pwa.mysite.com

Может ли PWA запросить у пользователя JavaScript, запомнить его и выполнять?

Что значит запросить у пользователя JavaScript? Под запоминанием имеется ввиду Cache Storage?

Может ли PWA содержать WebAssembly и насколько она хороша - возможен ли в ней запуск нескольких потоков ОС и может ли PWA получить файл WebAssembly от другого приложения?

Не подскажу, с WebAssembly знаком весьма поверхностно. Кажется что всё возможно https://docs.microsoft.com/ru-ru/aspnet/core/blazor/progressive-web-app?view=aspnetcore-6.0&tabs=visual-studio

Откуда брать сертификат чтобы установить на свой телефон своё PWA?

PWA должно располагаться на отдельном домене с https протоколом. Откуда будет SSL уже не так важно, главное чтобы он был валиден.

Да, подвижки есть, хотя бы сдвинулось с мертвой точки, самые свежие новости здесь https://t.me/pwa_ru

Попробуйте решать данную задачу через position: absolute, например здесь https://amp.dev/documentation/components/amp-img/ можно посмотреть пример реализации. И конечно без object-fit и object-position не обойтись

export default ({ app }) => {
    if (process.env.NODE_ENV !== 'production') {
        return; // запускаем скрипты только на продакшене
    }

    let isLoaded = false;

    const loadAll = () => {
        if (!isLoaded) {
            isLoaded = true;
            initServices(app);
        }
    };

    const root = document.querySelector('.layout');

    root.addEventListener('scroll', loadAll, false);
    root.addEventListener('click', loadAll, false);
    window.addEventListener('resize', loadAll, false);
};

Функция initServices загружает весь набор скриптов, от гугла и метрики до пикселей разных сервисов. Код взят с одного из проектов на Nuxt.js + немного специфики конкретного проекта. Здесь ключевое события 'scroll', 'click', 'resize' которые говорят что перед нами активный пользователь.

Фактически preconnect не влияет на визуальную скорость загрузки страниц. Мы используем отложенную загрузку сторонних скриптов. Мы теряем пользователей которые не взаимодействуют со страницей, но заказчиков это устраивает, потому что реально важная статистика по прежнему собирается. Была ещё библиотечка специально для данной проблемы, к сожалению, забыл её название, в её основе другая технология чем просто lazy load, нам она не понравилась, потому что can i use был под вопросом. Увы реально не могу вспомнить название.

И это тоже верно. У нас когда речь идет об изображениях по регламенту проверяется три показателя:

1) размер в кб

2) от размера в кб напрямую зависит размер в пикселях, т.е. промежуточное между качеством для размера в px и размером в кб. Мы ищем золотую середину, и называем оптимизация изображения.

3) используется ли современный формат изображения, например webp

Не совсем понял вопроса. Думаю конечно можно написать самописный дашборд. Но есть готовые инструменты и дашборды в самом гугле, а именно google analytics https://support.google.com/analytics/answer/1205784?hl=ru#zippy=%2Cсодержание

1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Chief Executive Officer (CEO)
Lead