Как разработчики из Funcorp сократили объем входящего в дата-центр трафика на 70%
Если вы пропустили, то на днях ребята из Funcorp выпустили статью про то, как они сжали информацию об аналитических событиях, которая поступает в дата-центр с мобильных устройств. Количество таких событий превышает 14 млрд в сутки, и благодаря этой оптимизации входящие каналы не блокируются.
О том, как они реализовали задумку на бэкенде, iOS- и Android-приложении, читайте в статье:
tprg.ru/CGKr
#ios #android
Если вы пропустили, то на днях ребята из Funcorp выпустили статью про то, как они сжали информацию об аналитических событиях, которая поступает в дата-центр с мобильных устройств. Количество таких событий превышает 14 млрд в сутки, и благодаря этой оптимизации входящие каналы не блокируются.
О том, как они реализовали задумку на бэкенде, iOS- и Android-приложении, читайте в статье:
tprg.ru/CGKr
#ios #android
👍1
UI-элементы и жесты в мобильных приложениях
Уверены, что помните, как называются наиболее распространённые элементы интерфейса? Если нет, то ребята из «Юлы» собрали в одной статье самые используемые элементы и дополнили примерами из собственного приложения.
А на закуску в конце статьи даны виды жестов:
tprg.ru/JWpu
#ui #android #ios
Уверены, что помните, как называются наиболее распространённые элементы интерфейса? Если нет, то ребята из «Юлы» собрали в одной статье самые используемые элементы и дополнили примерами из собственного приложения.
А на закуску в конце статьи даны виды жестов:
tprg.ru/JWpu
#ui #android #ios
👍1
Библиотека для реализации «упругой» прокрутки
С помощью библиотеки Bouncy можно реализовать iOS-подобную прокрутку в конце списка.
Bouncy может быть использована для NestedScrollView и RecyclerView. Для RecyclerView поддерживается drag&drop и свайпы.
Репозиторий: github.com/Valkriaine/bouncy
#android #библиотеки #ui
С помощью библиотеки Bouncy можно реализовать iOS-подобную прокрутку в конце списка.
Bouncy может быть использована для NestedScrollView и RecyclerView. Для RecyclerView поддерживается drag&drop и свайпы.
Репозиторий: github.com/Valkriaine/bouncy
#android #библиотеки #ui
👍1
Модуляризация Android-приложений в 2021 году
Разбиение Android-приложения на модули помогает переиспользовать код, уменьшить время сборки и обеспечить более чёткую архитектуру приложения.
В идеале каждый модель должен отвечать за узкую задачу. Android-разработчик из «Лаборатории Касперского» поделился своим опытом модуляризации:
tprg.ru/VUpw
#android
Разбиение Android-приложения на модули помогает переиспользовать код, уменьшить время сборки и обеспечить более чёткую архитектуру приложения.
В идеале каждый модель должен отвечать за узкую задачу. Android-разработчик из «Лаборатории Касперского» поделился своим опытом модуляризации:
tprg.ru/VUpw
#android
👍1
Системный гайд по созданию White Label Android-приложений
Чтобы удерживать клиентов, магазины запускают программы лояльности. Пользователь скачивает на смартфон приложение магазина и с его помощью может получать бонусы и скидки.
Задача для многих магазинов схожа, а бюджет на создание приложения не очень большой. Тогда можно создать White Label приложение: оно генерируется из общей кодовой базы и дополняется пожеланиями заказчика.
Как создать подобное приложение, объясняется в гайде:
tprg.ru/Fu9j
#ui #android
Чтобы удерживать клиентов, магазины запускают программы лояльности. Пользователь скачивает на смартфон приложение магазина и с его помощью может получать бонусы и скидки.
Задача для многих магазинов схожа, а бюджет на создание приложения не очень большой. Тогда можно создать White Label приложение: оно генерируется из общей кодовой базы и дополняется пожеланиями заказчика.
Как создать подобное приложение, объясняется в гайде:
tprg.ru/Fu9j
#ui #android
👍1
Модуляризация Android-приложений с явной и отложенной инициализацией
Вчера мы публиковали статью об общем представлении модуляризации приложения. Сегодня предлагаем ознакомиться с продолжением этого цикла. Вторая статья из серии рассказывает про модуляризацию с явной инициализацией:
tprg.ru/lI2Z
Ручное управление жизненным циклом компонента делает архитектуру проекта чище, но приходится писать слишком много кода для связывания модулей. Если такой вариант не подходит для конкретного проекта, то есть и другое решение — модуляризация с отложенной инициализацией:
tprg.ru/Bdsx
#android
Вчера мы публиковали статью об общем представлении модуляризации приложения. Сегодня предлагаем ознакомиться с продолжением этого цикла. Вторая статья из серии рассказывает про модуляризацию с явной инициализацией:
tprg.ru/lI2Z
Ручное управление жизненным циклом компонента делает архитектуру проекта чище, но приходится писать слишком много кода для связывания модулей. Если такой вариант не подходит для конкретного проекта, то есть и другое решение — модуляризация с отложенной инициализацией:
tprg.ru/Bdsx
#android
👍1
Предложка постов для «Мобильной разработки»
В нашем боте Tproger появилась функция предложки. Если у вас есть в закладках годные статьи, видео, библиотеки, проекты и другие материалы, то присылайте их через бота. Лучшее мы опубликуем в канале.
Бот: t.me/tproger_official_bot?start=suggest
В нашем боте Tproger появилась функция предложки. Если у вас есть в закладках годные статьи, видео, библиотеки, проекты и другие материалы, то присылайте их через бота. Лучшее мы опубликуем в канале.
Бот: t.me/tproger_official_bot?start=suggest
👍1
Библиотека для записи экрана в iOS-приложении
Wyler — легковесная библиотека, которая упрощает процесс записи экрана приложения в iOS. Wyler поддерживает настройку размера видео и сохранение в библиотеку. Можно использовать, например, для демонстрации возможностей приложения:
Репозиторий: github.com/toupper/Wyler
#ios #библиотеки
Wyler — легковесная библиотека, которая упрощает процесс записи экрана приложения в iOS. Wyler поддерживает настройку размера видео и сохранение в библиотеку. Можно использовать, например, для демонстрации возможностей приложения:
Репозиторий: github.com/toupper/Wyler
#ios #библиотеки
Как создать продуманный дизайн Push-уведомлений
Наверняка вы сталкивались с тем, как только установленное мобильное приложение начинало спамить Push-уведомлениями: онлайн-магазин рассказывает о скидках, игра напоминает, что в неё давно не заходили, и т.д. Такая перегрузка лишней информацией начинает бесить, не так ли?
И это раздражает не только вас, но и других пользователей. Поэтому дизайн Push-уведомлений не должен отторгать пользователей. Какие приёмы существуют, рассказывается в статье:
tprg.ru/VaJW
Перевод статьи на русский: tprg.ru/FvLa
#ui
Наверняка вы сталкивались с тем, как только установленное мобильное приложение начинало спамить Push-уведомлениями: онлайн-магазин рассказывает о скидках, игра напоминает, что в неё давно не заходили, и т.д. Такая перегрузка лишней информацией начинает бесить, не так ли?
И это раздражает не только вас, но и других пользователей. Поэтому дизайн Push-уведомлений не должен отторгать пользователей. Какие приёмы существуют, рассказывается в статье:
tprg.ru/VaJW
Перевод статьи на русский: tprg.ru/FvLa
#ui
👍1
Как не нужно делать расширения Kotlin
Расширения Kotlin (Kotlin extensions) призваны улучшить читабельность кода. Но в отдельных случаях код с расширениями может выглядеть и работать хуже, чем раньше. В статье разобрано несколько примеров, где расширения Kotlin смотрятся излишне:
tprg.ru/a621
#kotlin
Расширения Kotlin (Kotlin extensions) призваны улучшить читабельность кода. Но в отдельных случаях код с расширениями может выглядеть и работать хуже, чем раньше. В статье разобрано несколько примеров, где расширения Kotlin смотрятся излишне:
tprg.ru/a621
#kotlin
👍1
8 простых и эффективных приёмов для чистого кода в Kotlin
При переходе с Java на Kotlin разработчики по привычке могут писать Java-подобный код. Однако Kotlin имеет много возможностей для написания более лаконичного и красивого кода.
В статье рассказывается про несколько фишек Kotlin, которые очистят код проекта от излишнего мусора:
telegra.ph/Pishem-chistyj-kod-na-Kotlin-8-prostyh-no-ehffektivnyh-priyomov-02-10
#kotlin #предложка
При переходе с Java на Kotlin разработчики по привычке могут писать Java-подобный код. Однако Kotlin имеет много возможностей для написания более лаконичного и красивого кода.
В статье рассказывается про несколько фишек Kotlin, которые очистят код проекта от излишнего мусора:
telegra.ph/Pishem-chistyj-kod-na-Kotlin-8-prostyh-no-ehffektivnyh-priyomov-02-10
#kotlin #предложка
Telegraph
Пишем чистый код на Kotlin. 8 простых, но эффективных приёмов
Статья Михаила Валуйского с Medium С каждым днем Kotlin набирает популярность в качестве языка программирования под Android. И уже даже те, кто был ярым адептом Java потихоньку тоже переходят на рекомендуемый Google язык разработки. Однако, на code review…
👍1
Одна задача и 10 минут, чтобы нанять iOS-разработчика
Сегодня мы разберём задачу ускорения ленты в iOS-приложении. Она представляет собой бесконечный список материалов и реализуется через
Напишите в комментариях, из-за чего лента может виснуть и как бы вы подошли к решению?
После того, как подумаете над задачей, взгляните на вариант решения задачи:
tprg.ru/G3Oz
#ios
Сегодня мы разберём задачу ускорения ленты в iOS-приложении. Она представляет собой бесконечный список материалов и реализуется через
UITableView. И лента тормозит.Напишите в комментариях, из-за чего лента может виснуть и как бы вы подошли к решению?
После того, как подумаете над задачей, взгляните на вариант решения задачи:
tprg.ru/G3Oz
#ios
Tproger
Одна задача и 10 минут, чтобы нанять iOS-разработчика
Разбор задачи по ускорению тормозящей ленты в приложении соцсети, которая поможет проверить кандидата в iOS-разработчики.
👍1
Как работает Flutter «под капотом»
В статье подробно разбираются архитектура Flutter и её ключевые элементы, включая Widget, Element, BuildContext, RenderObject:
tprg.ru/zAcw
#flutter
В статье подробно разбираются архитектура Flutter и её ключевые элементы, включая Widget, Element, BuildContext, RenderObject:
tprg.ru/zAcw
#flutter
Google опубликовала результаты опроса Flutter-разработчиков за 4 квартал 2020 года
В конце ноября Google опросила более 8000 человек. Из интересного:
— 92% участников довольны или очень довольны Flutter;
— 91% опрошенных согласны, что Flutter хорошо работает в их проектах;
— 90% хотят использовать Flutter в последующих проектах;
— 58% утверждают, что Flutter важен для успеха их компании;
— 26% респондентов сказали, что им не хватает некоторых библиотек на Flutter.
Также Google рассказала об известных проблемах при работе с фреймворком, поделилась статистикой площадок, где общаются Flutter-разработчики (больше всего на StackOverflow), и узнала, осведомлены ли респонденты об онлайн-событиях по Flutter.
Подробнее: tprg.ru/ykEm
#flutter
В конце ноября Google опросила более 8000 человек. Из интересного:
— 92% участников довольны или очень довольны Flutter;
— 91% опрошенных согласны, что Flutter хорошо работает в их проектах;
— 90% хотят использовать Flutter в последующих проектах;
— 58% утверждают, что Flutter важен для успеха их компании;
— 26% респондентов сказали, что им не хватает некоторых библиотек на Flutter.
Также Google рассказала об известных проблемах при работе с фреймворком, поделилась статистикой площадок, где общаются Flutter-разработчики (больше всего на StackOverflow), и узнала, осведомлены ли респонденты об онлайн-событиях по Flutter.
Подробнее: tprg.ru/ykEm
#flutter
Как разработчики из Dropbox ускорили запуск Android-клиента на 30%
Пользователи хотят, чтобы приложение запускалось быстро, даже если оно напичкано множеством полезных функций. В статье команда Android-приложения Dropbox рассказала, как они замерили производительность, выявили и устранили проблемы:
tprg.ru/U45j
#android
Пользователи хотят, чтобы приложение запускалось быстро, даже если оно напичкано множеством полезных функций. В статье команда Android-приложения Dropbox рассказала, как они замерили производительность, выявили и устранили проблемы:
tprg.ru/U45j
#android
👍1
Заканчиваем непременно продуктивную рабочую неделю неделю с уже традиционным чатом в комментариях.
Давайте обсудим, какие советы вы дали бы самому себе, если бы заново изучали мобильную разработку? Это может быть что угодно: прохождение крутого курса, советы про повышение продуктивности, использование библиотек, покупка устройств и т.д.
К тому же, ваши ответы помогут новичкам не наступать на те же грабли.
#чат
Давайте обсудим, какие советы вы дали бы самому себе, если бы заново изучали мобильную разработку? Это может быть что угодно: прохождение крутого курса, советы про повышение продуктивности, использование библиотек, покупка устройств и т.д.
К тому же, ваши ответы помогут новичкам не наступать на те же грабли.
#чат
❤1👍1
Android-приложение для учёта расходов Expenso
Expenso построено на архитектуре MVVM и демонстрирует использование современных архитектурных компонентов Android.
Репозиторий: github.com/Spikeysanju/Expenso
#идеи #android
Expenso построено на архитектуре MVVM и демонстрирует использование современных архитектурных компонентов Android.
Репозиторий: github.com/Spikeysanju/Expenso
#идеи #android
👍1
Как разработчики Android-приложения Badoo уменьшили количество ANR-ошибок в 6 раз
Ошибки ANR, или Application Not Responding, негативно влияют не только на пользовательский опыт, но и на поисковую выдачу в Google Play.
В первой части статьи разработчики из Badoo рассказали, как они отследили ANR-ошибки:
tprg.ru/I9dC
Вторая часть статьи посвящена поиску причин ошибок и их устранению:
tprg.ru/uf2Q
#android
Ошибки ANR, или Application Not Responding, негативно влияют не только на пользовательский опыт, но и на поисковую выдачу в Google Play.
В первой части статьи разработчики из Badoo рассказали, как они отследили ANR-ошибки:
tprg.ru/I9dC
Вторая часть статьи посвящена поиску причин ошибок и их устранению:
tprg.ru/uf2Q
#android
👍2
Один год в продакшне с Flutter: уроки, которые были усвоены
Кирилл Бубочкин из Mews поделился опытом своей команды по поддержке Flutter-проекта. Он рассказал про архитектуру приложения (BLoC + иммутабельность + чистая архитектура), использованные библиотеки (rxdart, flutter_bloc и другие), UI-тесты, CI и принятый code style.
Текстовая версия на английском: tprg.ru/ROIu
Текстовая версия на русском: tprg.ru/NL4O
Доклад на YouTube: youtu.be/ARP5AozTplw
#flutter #доклады
Кирилл Бубочкин из Mews поделился опытом своей команды по поддержке Flutter-проекта. Он рассказал про архитектуру приложения (BLoC + иммутабельность + чистая архитектура), использованные библиотеки (rxdart, flutter_bloc и другие), UI-тесты, CI и принятый code style.
Текстовая версия на английском: tprg.ru/ROIu
Текстовая версия на русском: tprg.ru/NL4O
Доклад на YouTube: youtu.be/ARP5AozTplw
#flutter #доклады
YouTube
1 year in production with Flutter: lessons learned — Kirill Bubochkin, Mews
In this talk, I’d like to share our way to structure the app (BLoC + immutability + Clean Architecture principles), which libraries we’ve found useful (freezed, flutter_bloc, rxdart and others), what practices work better within a team (custom analysis options…
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Flutter-приложение, демонстрирующее использование анимаций в интерфейсе
Простой пример того, как встроить анимации так, чтобы не перегружали интерфейс. Написано полностью на Flutter.
В репозитории автор даже собрал готовый APK-файл, с которым можно поиграться в эмуляторе (или на реальном Android-устройстве):
github.com/shubhamhackz/animated_onboarding
#flutter #ui
Простой пример того, как встроить анимации так, чтобы не перегружали интерфейс. Написано полностью на Flutter.
В репозитории автор даже собрал готовый APK-файл, с которым можно поиграться в эмуляторе (или на реальном Android-устройстве):
github.com/shubhamhackz/animated_onboarding
#flutter #ui
👍1