Email: eblinkoff@mail.ru
Телефон: +7-931-200-99-28
Телеграм: Eblinkoff
Скайп: Eblinkoff
Спросить
Заказать
Акция!
Россия, Санкт-Петербург +79312009928

Работа интернет-приложения с медленным мобильным интернетом.


Продолжаю делать трудную и кропотливую работу - превращаю свой сайт thlaspi.com в мобильное приложение в самом широком смысле. Нелепо и странно, но если почитать что-то по мобильным приложениям в гугле, то - никаких проблем - чёткой границы между сайтом и интернет-приложением нет, по сути любой сайт это и есть мобильное приложение, "а в сущности голые коки - это прекрасно". Но когда начинаешь копать - всё оказывается совсем не таким радужным. И это при том, что сайт thlaspi.com довольно сложен, там всё на аякс-запросах и в общем, там всё серьёзно, но, как известно, дьявол кроется в деталях. Даже в этой сфере у меня есть многие запросы, после окончания работы которых страница перезагружается - а это (на мой взгляд) для интернет-приложения недопустимо. Но сейчас я занимался другим. Изначально сайт писался как будто мобильный интернет везде идеальный. Ну, понятно почему - как раз была эпоха бурного развития мобильного интернета, он появился почти повсюду, и я думал, что если экстраполировать это бурное развитие, то так скоро оно и будет - отличный быстрый мобильный интернет везде. Однако, на практике оказалось не так. Я даже не говорю про какие-то дальние уголки России - вроде Андреапольского района Тверской области (там, кстати, всё довольно неплохо), но даже в Ленинградской приходится постоянно сталкиваться с плохим интернетом даже от самых популярных операторов. Причём, проблемы могут быть связаны как с плохим покрытием, так и с перегрузкой сети! И вот тут начинаются проблемы с "потерей" запросов. То есть я нажал на какую-то кнопку, допустим, Удалить. И - ничего не происходит! Вообще. Просто аякс-запрос потерялся. В итоге мы не знаем - дошёл запрос или нет, удалилась сущность или нет и что теперь? Всё это вызывает мягко говоря разочарование, а то и злость. И вот тут приходится что-то изобретать. Конечно, улучшить скорость связи мы не можем, но мы можем контролировать процесс, чтобы хотя бы знать что происходит и как дальше поступать. С этой задачей мы справимся. Итак, что сделано.

Очередь.

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

Разделены отправка данных и получение.

Теперь пользователь видит - дошёл запрос до сервера или нет. Например, если запрос дошёл и ошибка произошла на стадии получения ответа, можно и не получать этот ответ - мы же знаем, что у нас всё ок и можем его (ответа) не дожидаться - и делать что-то дальше.

Обработка ошибок.

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

Ожидание.

Если, например, запрос не дошёл, наше приложение отсчитывает какое-то количество секунд (пока 15) и пробует отправить запрос снова.

Повтор.

Мы также можем вручную отправить запрос не дожидаясь этих 15-ти секунд.

Сохранение.

Если мы предвидим, что интернета по каким-то причинам не будет в ближайшее время, мы можем отложить выполнение нашего запроса. Потом, когда интернет появится, наш запрос выполнится и наши данные не пропадут. Справедливости ради надо сказать, что плохой работой при медленном интернете грешат большинство сложных сайтов и интернет-приложений. У mail.ru и контактика есть кое-что, хоть и не очень "доходчиво", но вполне терпимо, за что большое спасибо разработчикам этих сайтов - они хоть как-то думают о пользователях с медленным интернетом, купающихся и отдыхающих в Российской глубинке. Правда они сделаны (полностью или отчасти) на реакте, а следовательно очень медленно грузятся, но тут на пользователей плевать - я это понимаю - скажи, попробуй где-нибудь на форуме, что реакт отстой - заклюют, сторонники реактивных фреймворков агрессивны - ну, ещё бы - невозможно ведь признать, что ты берёшь за свою работу в десять раз больше денег потому, что тебе так удобнее и при это ты ощущаешь себя крутым за счёт клиента. Но это ладно, я то могу себе позволить отказаться от тщеславия (и от реакта) на своём сайте, зато работает и грузится быстренько, особенно это заметно когда связь не быстрая.

Приложения к тексту:
dada836b4caad12805ce94b7238b21c6.jpeg

Действия при ошибке - дескоп

RSSкомментариев

18ee9b65c0ec1f92bd8c91c63d523876.jpeg

Действия при ошибке - мобильная версия

RSSкомментариев

f5f734e955c4e66a78742903e821441f.jpeg

Прогресс-бар, на котором видно, загружаются данные или выгружаются

RSSкомментариев




<--Предыдущая статья
RSSкомментариев

Введите Ваш комментарий

^
наверх