Как iOS-приложение Uber переписывали на Swift: рассказ от разработчика из Uber
В 2016 году iOS-приложение Uber целиком состояло из «костылей», поскольку его изначальная архитектура сложно масштабировалась. Тогда команда разработки решила переписать приложение полностью на новой архитектуре и на тогда ещё Swift 2.x.
Казалось бы, это должна быть очередная история о том, как переход на новейшие технологии сделал прекрасной жизнь и разработчиков, и пользователей, однако череда событий пустила всё не по плану.
С какими трудностями столкнулись разработчики во время написания приложения «с нуля», и почему некоторые из них хотели вернуться к Objective-C, рассказал Стэнли Макларен, бывший инженер Uber:
https://twitter.com/StanTwinB/status/1336890442768547845
#ios
В 2016 году iOS-приложение Uber целиком состояло из «костылей», поскольку его изначальная архитектура сложно масштабировалась. Тогда команда разработки решила переписать приложение полностью на новой архитектуре и на тогда ещё Swift 2.x.
Казалось бы, это должна быть очередная история о том, как переход на новейшие технологии сделал прекрасной жизнь и разработчиков, и пользователей, однако череда событий пустила всё не по плану.
С какими трудностями столкнулись разработчики во время написания приложения «с нуля», и почему некоторые из них хотели вернуться к Objective-C, рассказал Стэнли Макларен, бывший инженер Uber:
https://twitter.com/StanTwinB/status/1336890442768547845
#ios
This media is not supported in your browser
VIEW IN TELEGRAM
Нижняя панель навигации с волнообразной анимацией
Есть достаточно много возможностей для кастомизации: например, можно менять высоту волны, иконки, цвет иконок, цвет фона и шрифты.
Ссылка на Android-библиотеку: https://github.com/SimformSolutionsPvtLtd/SSCustomBottomNavigation
#android #библиотеки #идеи
Есть достаточно много возможностей для кастомизации: например, можно менять высоту волны, иконки, цвет иконок, цвет фона и шрифты.
Ссылка на Android-библиотеку: https://github.com/SimformSolutionsPvtLtd/SSCustomBottomNavigation
#android #библиотеки #идеи
Опыт «Яндекса» по выбору кроссплатформенной технологии для быстрой разработки приложения
Команде iOS-разработчиков из Яндекс.Такси требовалось реализовать с нуля за 2,5 месяца приложение «Таксометр».
О том, почему команда отказалась от нативной разработки и проверенного React Native в пользу молодого Flutter, рассказал iOS-разработчик Геннадий Евстратов:
https://tprg.ru/RECI
#ios #кроссплатформенность #flutter
Команде iOS-разработчиков из Яндекс.Такси требовалось реализовать с нуля за 2,5 месяца приложение «Таксометр».
О том, почему команда отказалась от нативной разработки и проверенного React Native в пользу молодого Flutter, рассказал iOS-разработчик Геннадий Евстратов:
https://tprg.ru/RECI
#ios #кроссплатформенность #flutter
Круговой слайдер для iOS-приложения
Каждый из компонентов прорисовывается в коде, поэтому слайдер легко кастомизируется.
Репозиторий: https://github.com/ouraigua/JOCircularSlider
#ios #идеи #библиотеки
Каждый из компонентов прорисовывается в коде, поэтому слайдер легко кастомизируется.
Репозиторий: https://github.com/ouraigua/JOCircularSlider
#ios #идеи #библиотеки
Как допилить iOS-приложение так, чтобы оно работало при нестабильной связи: опыт «МегаФон»
Недавно мы публиковали доклад о том, как iOS-приложение Яндекс.Почты оптимизировали для работы в сети со слабым сигналом.
На этот раз опытом переноса приложения в офлайн поделился iOS-разработчик из «МегаФон». Он рассказал, как его команда проектировала архитектуру приложения и какие технологии использовала:
https://tprg.ru/Y817
#ios #доклады
Недавно мы публиковали доклад о том, как iOS-приложение Яндекс.Почты оптимизировали для работы в сети со слабым сигналом.
На этот раз опытом переноса приложения в офлайн поделился iOS-разработчик из «МегаФон». Он рассказал, как его команда проектировала архитектуру приложения и какие технологии использовала:
https://tprg.ru/Y817
#ios #доклады
Автоматизированное тестирование на Android
В статье разбираются основные понятия автоматизированного тестирования, специфика тестов на Android, а также как писать тесты и какие инструменты стоит использовать:
https://tprg.ru/R9LU
#android #тестирование
В статье разбираются основные понятия автоматизированного тестирования, специфика тестов на Android, а также как писать тесты и какие инструменты стоит использовать:
https://tprg.ru/R9LU
#android #тестирование
Возможности и ограничения фоновой работы в Android
В Android существует множество ограничений работы приложения в фоновом режиме, что может повлиять на выполнение задач в приложении.
Android-разработчик Александр Агейченко рассмотрел в своём докладе ограничения, которые были добавлены в разных версиях Android, и возможности для их обхода, в частности:
— Doze Mode;
— App Standby Mode;
— Service launch from background;
— Activity launch from background;
— App Buckets;
— Services;
— JobScheduler;
— AlarmManager;
— WorkManager;
— Location.
Видеозапись доклада: https://youtu.be/lYWJzb1Em7E
#android #доклады
В Android существует множество ограничений работы приложения в фоновом режиме, что может повлиять на выполнение задач в приложении.
Android-разработчик Александр Агейченко рассмотрел в своём докладе ограничения, которые были добавлены в разных версиях Android, и возможности для их обхода, в частности:
— Doze Mode;
— App Standby Mode;
— Service launch from background;
— Activity launch from background;
— App Buckets;
— Services;
— JobScheduler;
— AlarmManager;
— WorkManager;
— Location.
Видеозапись доклада: https://youtu.be/lYWJzb1Em7E
#android #доклады
YouTube
Возможности и ограничения фоновой работы в Android / Александр Агейченко (Distillery)
Благодаря Юла.tech конференция Apps Live 2020 стала открытой.
Юла – сервис объявлений, входящий в состав Mail.ru Group и обслуживаемый сотней серверов в нескольких дата-центрах. Ежемесячно Юла помогает более 27 млн пользователей продавать и покупать товары…
Юла – сервис объявлений, входящий в состав Mail.ru Group и обслуживаемый сотней серверов в нескольких дата-центрах. Ежемесячно Юла помогает более 27 млн пользователей продавать и покупать товары…
Media is too big
VIEW IN TELEGRAM
Приложения-победители конкурса Material Design Award 2020
Google опубликовала список приложений, которые лучше всего (с точки зрения жюри) реализовали концепцию Material Design. Победители были отобраны в следующих номинациях:
— Material theming;
— Material Motion;
— Dark Theme.
Подробнее: https://tprg.ru/lVE1
А на видео выше — интерфейс приложения Moooi.com, которое победило в номинации Material theming.
#android #идеи
Google опубликовала список приложений, которые лучше всего (с точки зрения жюри) реализовали концепцию Material Design. Победители были отобраны в следующих номинациях:
— Material theming;
— Material Motion;
— Dark Theme.
Подробнее: https://tprg.ru/lVE1
А на видео выше — интерфейс приложения Moooi.com, которое победило в номинации Material theming.
#android #идеи
Пасхалки в мобильных приложениях
В статье собраны забавные скрытые функции различных приложений, которые могут поднять настроение пользователям. Берите на заметку:
https://tprg.ru/0rWN
#идеи #android #ios
В статье собраны забавные скрытые функции различных приложений, которые могут поднять настроение пользователям. Берите на заметку:
https://tprg.ru/0rWN
#идеи #android #ios
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Плавная карусель на Android: шаг за шагом
В статье рассказывается, как реализовать такую карусель изображений на базе RecyclerView:
https://tprg.ru/UbGs
#android
В статье рассказывается, как реализовать такую карусель изображений на базе RecyclerView:
https://tprg.ru/UbGs
#android
Рынок мобильных игр в эпоху пандемии: отчёт AppsFlyer
Компания AppsFlyer недавно выпустила ежегодный отчёт The State of Gaming App Marketing, в котором собраны данные по рынку мобильных игр за первые три квартала 2020 года.
Мы выбрали главное из доклада и подготовили в виде статьи:
https://tprg.ru/mb36
#аналитика #android #ios
Компания AppsFlyer недавно выпустила ежегодный отчёт The State of Gaming App Marketing, в котором собраны данные по рынку мобильных игр за первые три квартала 2020 года.
Мы выбрали главное из доклада и подготовили в виде статьи:
https://tprg.ru/mb36
#аналитика #android #ios
Собственный ItemDecoration для RecyclerView
В статье рассказано, как реализовать кастомный ItemDecoration, чтобы дополнить его собственными функциями.
Статья: https://tprg.ru/4gaO
Код на GitHub: https://tprg.ru/dY2G
#android
В статье рассказано, как реализовать кастомный ItemDecoration, чтобы дополнить его собственными функциями.
Статья: https://tprg.ru/4gaO
Код на GitHub: https://tprg.ru/dY2G
#android
This media is not supported in your browser
VIEW IN TELEGRAM
Wavenote — приложение для музыкантов, написанное учеником 11 класса
Wavenote — это блокнот для музыкантов, в который встроено множество полезных утилит, например подсчёт слогов, метроном и запись звука.
Подробнее о функциях приложения и о том, как они реализованы, разработчик рассказал в статье на Habr:
https://tprg.ru/OHad
#android #идеи
Wavenote — это блокнот для музыкантов, в который встроено множество полезных утилит, например подсчёт слогов, метроном и запись звука.
Подробнее о функциях приложения и о том, как они реализованы, разработчик рассказал в статье на Habr:
https://tprg.ru/OHad
#android #идеи
Как происходит рендеринг экрана сообщений в Android-клиенте «ВКонтакте»
В сообщениях «ВКонтакте» может быть огромного количество контента. Например, цепочка сообщений с видео, голосовыми сообщениями, фото, документами, отметками на карте и т.д.
Как не допустить лагов при отображении подобных загруженных экранов, рассказал старший Android-разработчик «ВКонтакте» Александр Сорокин:
https://tprg.ru/pWTh
#android
В сообщениях «ВКонтакте» может быть огромного количество контента. Например, цепочка сообщений с видео, голосовыми сообщениями, фото, документами, отметками на карте и т.д.
Как не допустить лагов при отображении подобных загруженных экранов, рассказал старший Android-разработчик «ВКонтакте» Александр Сорокин:
https://tprg.ru/pWTh
#android
👍1
Как реализовать тёмную тему в приложении: опыт Redmadrobot
Разработчик из Redmadrobot Влад Шипугин поделился в статье опытом, как его команда реализовывала тёмную тему в приложении «Ростелеком Ключ».
Им удалось внедрить тёмную тему за 3 месяца, однако на пути команда столкнулась со сложностями. И если учесть их ошибки в собственном проекте, то реализация тёмной темы пройдёт существенно быстрее.
Статья на Habr: https://tprg.ru/yb9J
#android
Разработчик из Redmadrobot Влад Шипугин поделился в статье опытом, как его команда реализовывала тёмную тему в приложении «Ростелеком Ключ».
Им удалось внедрить тёмную тему за 3 месяца, однако на пути команда столкнулась со сложностями. И если учесть их ошибки в собственном проекте, то реализация тёмной темы пройдёт существенно быстрее.
Статья на Habr: https://tprg.ru/yb9J
#android
👍1
Эволюция декларативных UI-фреймворков: от динозавров к Jetpack Compose
Декларативное программирование UI постепенно распространилось из веба в мобильные приложения. И если React Native и Flutter декларативный UI лежит в основе отрисовки экранов, то в нативную разработку такой метод пришёл только в 2019 году со SwiftUI и Jetpack Compose.
О том, что такое декларативное программирование и с чем его едят в Jetpack Compose, рассказал в своём докладе Матвей Мальков из Google UK:
https://youtu.be/ze-Lp0Xevh4
#android #jetpack
Декларативное программирование UI постепенно распространилось из веба в мобильные приложения. И если React Native и Flutter декларативный UI лежит в основе отрисовки экранов, то в нативную разработку такой метод пришёл только в 2019 году со SwiftUI и Jetpack Compose.
О том, что такое декларативное программирование и с чем его едят в Jetpack Compose, рассказал в своём докладе Матвей Мальков из Google UK:
https://youtu.be/ze-Lp0Xevh4
#android #jetpack
YouTube
Матвей Мальков — Эволюция декларативных UI-фреймворков: От динозавров к Jetpack Compose
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
. . .
. Декларативное программирование UI уже в твоем городе! В вебе есть React, в кроссплатформенной разработке есть ReactNative и Flutter, и, наконец-то, у нативного UI появилась надежда. Jetpack…
— —
. . .
. Декларативное программирование UI уже в твоем городе! В вебе есть React, в кроссплатформенной разработке есть ReactNative и Flutter, и, наконец-то, у нативного UI появилась надежда. Jetpack…
👍1
Android-проект, демонстрирующий возможности Jetpack Compose
В одном приложении собраны примеры различных UI-элементов, виджетов, слоёв, а также демо, которые возможно реализовать с помощью Jetpack Compose.
Репозиторий: https://github.com/Gurupreet/ComposeCookBook
#android #jetpack
В одном приложении собраны примеры различных UI-элементов, виджетов, слоёв, а также демо, которые возможно реализовать с помощью Jetpack Compose.
Репозиторий: https://github.com/Gurupreet/ComposeCookBook
#android #jetpack
👍1
Создание App Clips: опыт «Рамблер/кассы»
App Clip — это небольшая часть iOS-приложения, которая не превышает по размерам 10 МБ и выполняет конкретную функцию. App Clips полезны, например, для бронирования гостиниц, покупки билетов, заказа еды. То есть App Clips применимы в сценариях, где пользователю приложение может понадобиться только раз.
App Clip есть и для «Рамблер/кассы», и в статье команда проекта рассказала о своих впечатлениях при работе с новой технологией:
https://tprg.ru/bdFO
#ios
App Clip — это небольшая часть iOS-приложения, которая не превышает по размерам 10 МБ и выполняет конкретную функцию. App Clips полезны, например, для бронирования гостиниц, покупки билетов, заказа еды. То есть App Clips применимы в сценариях, где пользователю приложение может понадобиться только раз.
App Clip есть и для «Рамблер/кассы», и в статье команда проекта рассказала о своих впечатлениях при работе с новой технологией:
https://tprg.ru/bdFO
#ios
👍1
Мы подготовили для вас подборку материалов по кроссплатформенной и Android-разработке, из которых вы узнаете:
— о жизненном цикле Android-приложений: https://tprg.ru/Gu3w
— Java или Kotlin лучше для Android-разработки: https://tprg.ru/h2XB
— натив или кроссплатформенность выбрать начинающему мобильному разработчику: https://tprg.ru/Yz9h
— чем отличаются друг от друга фреймворки React Native, Flutter, Ionic, Xamarin и PhoneGap: https://tprg.ru/Twhk
— как разработать первое приложение на React Native: https://tprg.ru/A61F
— как создать первое приложение на Kotlin Multiplatform: https://tprg.ru/N4rZ
— безумие или дальновидный шаг перейти из Android во Flutter: https://tprg.ru/LIwO
#кроссплатформенность #flutter #react #android
— о жизненном цикле Android-приложений: https://tprg.ru/Gu3w
— Java или Kotlin лучше для Android-разработки: https://tprg.ru/h2XB
— натив или кроссплатформенность выбрать начинающему мобильному разработчику: https://tprg.ru/Yz9h
— чем отличаются друг от друга фреймворки React Native, Flutter, Ionic, Xamarin и PhoneGap: https://tprg.ru/Twhk
— как разработать первое приложение на React Native: https://tprg.ru/A61F
— как создать первое приложение на Kotlin Multiplatform: https://tprg.ru/N4rZ
— безумие или дальновидный шаг перейти из Android во Flutter: https://tprg.ru/LIwO
#кроссплатформенность #flutter #react #android
👍1
Создание многопоточного приложения на Kotlin Multiplatform
Как реализовать многопоточность в приложении на Kotlin Multiplatform? С какими проблемами можно столкнуться? Об этом подробно рассказано в статье на Habr:
— Часть первая: https://tprg.ru/EkFO
— Часть вторая: https://tprg.ru/9VdZ
#кроссплатформенность #потоки
Как реализовать многопоточность в приложении на Kotlin Multiplatform? С какими проблемами можно столкнуться? Об этом подробно рассказано в статье на Habr:
— Часть первая: https://tprg.ru/EkFO
— Часть вторая: https://tprg.ru/9VdZ
#кроссплатформенность #потоки
👍1
Плагин для Android Studio, упрощающий работу с deeplink
При разработке и отладке Android-приложений иногда приходится выполнять кучу рутинных действий, например, проход по нескольким экранам много раз. Чтобы автоматизировать эту задачу, можно использовать deeplink, но имитация перехода по deeplink через ADB-команду тоже становится рутинной задачей.
И эту проблему призван решить плагин Deeplink Helper для Android Studio.
Подробнее: https://tprg.ru/Behf
#android #библиотеки
При разработке и отладке Android-приложений иногда приходится выполнять кучу рутинных действий, например, проход по нескольким экранам много раз. Чтобы автоматизировать эту задачу, можно использовать deeplink, но имитация перехода по deeplink через ADB-команду тоже становится рутинной задачей.
И эту проблему призван решить плагин Deeplink Helper для Android Studio.
Подробнее: https://tprg.ru/Behf
#android #библиотеки
👍1