Доклады с митапа Ozon Tech Mobile Meetup
В мае Ozon Tech организовал митап по мобильной разработке. Если не смотрели вживую или на онлайн-трансляции, выступления можно посмотреть в записи:
1. Performance monitoring по-взрослому
Спикер рассказал о том, какие метрики его команда собирает в приложении Ozon и как они борются за производительность.
2. Плавный скролл для нагруженного UI
Доклад о том, как в Ozon делали плавный скролл для сложного UI и при этом не переверстали всё приложение.
3. Как подружить свой код с async/await
В выступлении рассмотрена новая модель многопоточности iOS-приложений. На примерах спикер разобрал, что нового появилось в Swift и как это подружить со своим кодом.
#android #ios #доклады
В мае Ozon Tech организовал митап по мобильной разработке. Если не смотрели вживую или на онлайн-трансляции, выступления можно посмотреть в записи:
1. Performance monitoring по-взрослому
Спикер рассказал о том, какие метрики его команда собирает в приложении Ozon и как они борются за производительность.
2. Плавный скролл для нагруженного UI
Доклад о том, как в Ozon делали плавный скролл для сложного UI и при этом не переверстали всё приложение.
3. Как подружить свой код с async/await
В выступлении рассмотрена новая модель многопоточности iOS-приложений. На примерах спикер разобрал, что нового появилось в Swift и как это подружить со своим кодом.
#android #ios #доклады
👍8💩8❤1
Хорош ли Flutter для создания RPG-игр?
Разработчики Flutter продвигают идею того, что Flutter подходит для разработки игр. Но насколько фреймворк удобен на практике?
В статье рассмотрен Bonfire — один из популярных игровых движков для Flutter-проектов. На бумаге движок обладает богатой функциональностью, и автор решил выяснить, насколько комфортно его использовать и производителен ли он (спойлер — нет):
https://habr.com/ru/post/668436/
#flutter #gamedev
Разработчики Flutter продвигают идею того, что Flutter подходит для разработки игр. Но насколько фреймворк удобен на практике?
В статье рассмотрен Bonfire — один из популярных игровых движков для Flutter-проектов. На бумаге движок обладает богатой функциональностью, и автор решил выяснить, насколько комфортно его использовать и производителен ли он (спойлер — нет):
https://habr.com/ru/post/668436/
#flutter #gamedev
👍5💩5
5 вакансий для мобильных разработчиков
— Android-разработчик в МТС
Где: Москва, можно удалённо
Опыт: От 1 года
— iOS-разработчик в МТС
Где: Москва
Опыт: От 1 года
— Android-разработчик в Outlines Tech
Где: Болгария, Польша, Словакия
Опыт: От 2 лет
— Преподаватель на курс «Flutter Mobile Developer» в OTUS
Где: Удалённо
Опыт: От 3 лет
— Преподаватель на курс iOS в OTUS
Где: Удалённо
Опыт: От 5 лет
#вакансии #работа
— Android-разработчик в МТС
Где: Москва, можно удалённо
Опыт: От 1 года
— iOS-разработчик в МТС
Где: Москва
Опыт: От 1 года
— Android-разработчик в Outlines Tech
Где: Болгария, Польша, Словакия
Опыт: От 2 лет
— Преподаватель на курс «Flutter Mobile Developer» в OTUS
Где: Удалённо
Опыт: От 3 лет
— Преподаватель на курс iOS в OTUS
Где: Удалённо
Опыт: От 5 лет
#вакансии #работа
💩20👍3
Проводим snapshot-тестирование без тяжеловесных эмуляторов
На днях вышла первая версия Android-библиотеки Paparazzi. Она полезна тем, что рендерит экраны вашего приложения без использования устройств или эмулятора.
Paparazzi пригодится в snapshot-тестировании: вы пишете необходимый тест, и библиотека сохраняет снэпшот, который впоследствии можно сверить с предыдущими снэпшотами.
Как использовать: https://github.com/cashapp/paparazzi
#android #библиотеки
На днях вышла первая версия Android-библиотеки Paparazzi. Она полезна тем, что рендерит экраны вашего приложения без использования устройств или эмулятора.
Paparazzi пригодится в snapshot-тестировании: вы пишете необходимый тест, и библиотека сохраняет снэпшот, который впоследствии можно сверить с предыдущими снэпшотами.
Как использовать: https://github.com/cashapp/paparazzi
#android #библиотеки
👍7
Какими инструментами пользуются iOS-разработчики в 2022 году?
Около 2000 iOS-разработчиков поучаствовали в исследовании от DevCrowd, среди которых 30% уровня Senior и 32% уровня Middle.
Выделим главное из результатов опроса:
— на Swift как на основном языке пишут более 97% опрошенных;
— 28% респондентов работают с кроссплатформенными фреймворками, среди которых лидирует Flutter;
— MVVM является основной архитектурой (59%), на втором месте MVC (36%);
— для управления зависимостями больше всего используют CocoaPods (72%) и SPM (55%);
— для вёрстки UI 32% разработчиков предпочитают SwiftUI;
— 65% опрошенных используют кодогенерацию, при этом самыми популярными инструментами являются SwiftGen, XcodeGen и Sourcery;
— SwiftLint — самый популярный линтер (84% голосов).
Все результаты опроса: https://devcrowd.ru/ios-tools-22
#ios
Около 2000 iOS-разработчиков поучаствовали в исследовании от DevCrowd, среди которых 30% уровня Senior и 32% уровня Middle.
Выделим главное из результатов опроса:
— на Swift как на основном языке пишут более 97% опрошенных;
— 28% респондентов работают с кроссплатформенными фреймворками, среди которых лидирует Flutter;
— MVVM является основной архитектурой (59%), на втором месте MVC (36%);
— для управления зависимостями больше всего используют CocoaPods (72%) и SPM (55%);
— для вёрстки UI 32% разработчиков предпочитают SwiftUI;
— 65% опрошенных используют кодогенерацию, при этом самыми популярными инструментами являются SwiftGen, XcodeGen и Sourcery;
— SwiftLint — самый популярный линтер (84% голосов).
Все результаты опроса: https://devcrowd.ru/ios-tools-22
#ios
👍10
Подкаст: куда податься — в iOS- или Android-разработку?
Ребята из «Тинькофф» записали интересный подкаст, где iOS-разработчик и Android-разработчик рассказали истории о начале своего карьерного пути.
Подкаст будет полезен особенно начинающим разработчикам, поскольку в нём подняли несколько важных тем:
— сколько стоит войти в Android- и iOS-разработку;
— различия iOS и Android, а также преимущества каждой из них;
— чем пользуются мобильные разработчики;
— как разработчикам усложняют жизнь постоянные обновления систем.
Слушать: https://podcast.ru/e/0uHejRIh~Z8
#подкасты #android #ios #начинающим
Ребята из «Тинькофф» записали интересный подкаст, где iOS-разработчик и Android-разработчик рассказали истории о начале своего карьерного пути.
Подкаст будет полезен особенно начинающим разработчикам, поскольку в нём подняли несколько важных тем:
— сколько стоит войти в Android- и iOS-разработку;
— различия iOS и Android, а также преимущества каждой из них;
— чем пользуются мобильные разработчики;
— как разработчикам усложняют жизнь постоянные обновления систем.
Слушать: https://podcast.ru/e/0uHejRIh~Z8
#подкасты #android #ios #начинающим
👍14🔥2
👍6
Внедрение зависимостей (DI) в Android-приложение
В достаточно крупных мобильных приложениях не обойтись без внедрения зависимостей. Подход помогает уменьшить связность кода и разделить ответственность за связи в приложении от ответственности за логику.
Теория внедрения зависимостей хорошо разобрана в видео:
https://youtu.be/GEimedCKorY
#android #di
В достаточно крупных мобильных приложениях не обойтись без внедрения зависимостей. Подход помогает уменьшить связность кода и разделить ответственность за связи в приложении от ответственности за логику.
Теория внедрения зависимостей хорошо разобрана в видео:
https://youtu.be/GEimedCKorY
#android #di
YouTube
Впровадження залежностей (DI - Dependency Injection): теорія
Теорія впровадження залежностей в Android. Що таке інверсія управління (Inversion of Control – IoC), принцип інверсії залежностей (Dependency Inversion Principle – DIP), впровадження залежностей (Dependency Injection – DI) та IoC Container. Навіщо це потрібно?…
👍19🔥2🎉1
Хотите попробовать себя в Android-разработке?
Приглашаем на открытый урок в OTUS, где вы создадите приложение для трекинга воды. Оно поможет отслеживать количество воды, которое человек пьёт в сутки. Для этого вы нарисуете стаканчик, который будет заполняться по мере того, как пользователь отмечает сколько воды он выпил за сутки.
Занятие проведёт Даниил Попов, разработчик в компании Bolt Technology OÜ (Эстония). А вебинар пройдёт в рамках специализации «Android Developer». Это возможность оценить материалы курса и познакомиться с экспертом.
Когда: 16 июня в 20:00
Мероприятие бесплатное, но нужно зарегистрироваться.
#ивент
Приглашаем на открытый урок в OTUS, где вы создадите приложение для трекинга воды. Оно поможет отслеживать количество воды, которое человек пьёт в сутки. Для этого вы нарисуете стаканчик, который будет заполняться по мере того, как пользователь отмечает сколько воды он выпил за сутки.
Занятие проведёт Даниил Попов, разработчик в компании Bolt Technology OÜ (Эстония). А вебинар пройдёт в рамках специализации «Android Developer». Это возможность оценить материалы курса и познакомиться с экспертом.
Когда: 16 июня в 20:00
Мероприятие бесплатное, но нужно зарегистрироваться.
#ивент
👍11👎6
На WWDC 2022 представили обновление SwiftUI
Хорошие новости для iOS-разработчиков: Apple существенно улучшает функциональность SwiftUI.
Что нового:
— нативный инструмент для графиков Charts. Больше никаких самописных решений;
— нативная навигация;
— прокаченные controls;
— упрощённая реализация sharing;
— больше графических опций и сложные разметки.
Подробнее: https://habr.com/ru/company/usetech/blog/670242/
#ios
Хорошие новости для iOS-разработчиков: Apple существенно улучшает функциональность SwiftUI.
Что нового:
— нативный инструмент для графиков Charts. Больше никаких самописных решений;
— нативная навигация;
— прокаченные controls;
— упрощённая реализация sharing;
— больше графических опций и сложные разметки.
Подробнее: https://habr.com/ru/company/usetech/blog/670242/
#ios
👍11❤1
Записи выступлений с Android Makers 2022
В конце апреля в Париже прошла масштабная конференция для мобильных разработчиков.
Недавно на официальном YouTube-канале выложили записи докладов. Делимся с вами плейлистом:
https://www.youtube.com/playlist?list=PLn7H9CUCuXAuLnmPD-wsljzYxHt3UD5zn
#android #доклады
В конце апреля в Париже прошла масштабная конференция для мобильных разработчиков.
Недавно на официальном YouTube-канале выложили записи докладов. Делимся с вами плейлистом:
https://www.youtube.com/playlist?list=PLn7H9CUCuXAuLnmPD-wsljzYxHt3UD5zn
#android #доклады
👍3
Вакансии мобильных разработчиков в tech-travel
Emerging Travel Group — международная tech-travel компания, объединившая пять брендов (RateHawk, ZenHotels, Ostrovok.ru, B2B.Ostrovok.ru, Ostrovok.ru Командировки). Платформами ETG для бронирования отелей, авиабилетов, трансферов и других услуг ежемесячно пользуются более 5 млн человек: путешественники, турагенты и туроператоры в 220 странах.
Сейчас в команду ищут двух разработчиков: для iOS и Android. Их ждут интересные и сложные задачи, а также работа под руководством опытных тимлидов.
Условия и плюшки: крутой офис с бильярдом и фитнес-залом / полная удалёнка / гибридный формат, ДМС с первого дня работы, скидки на бронирование travel-услуг и компенсация обучения.
Узнать больше о компании и команде мобильной разработки можно по ссылке.
#вакансии
Emerging Travel Group — международная tech-travel компания, объединившая пять брендов (RateHawk, ZenHotels, Ostrovok.ru, B2B.Ostrovok.ru, Ostrovok.ru Командировки). Платформами ETG для бронирования отелей, авиабилетов, трансферов и других услуг ежемесячно пользуются более 5 млн человек: путешественники, турагенты и туроператоры в 220 странах.
Сейчас в команду ищут двух разработчиков: для iOS и Android. Их ждут интересные и сложные задачи, а также работа под руководством опытных тимлидов.
Условия и плюшки: крутой офис с бильярдом и фитнес-залом / полная удалёнка / гибридный формат, ДМС с первого дня работы, скидки на бронирование travel-услуг и компенсация обучения.
Узнать больше о компании и команде мобильной разработки можно по ссылке.
#вакансии
👍5
Сессии с WWDC 2022
Главная конференция для iOS-разработчиков WWDC 2022 уже позади. Все выступления доступны на сайте конференции. Выделим некоторые интересные из них:
1. Hello Swift Charts
Вы узнаете подробности о новом фреймворке для создания графиков на SwiftUI.
2. Meet Swift Regex
В Swift 5.7 существенно улучшили работу со строками с помощью регулярных выражений. Что изменилось, рассказывается в видео.
3. Meet WeatherKit
WeatherKit — новый инструмент от Apple для получения подробных данных о погоде.
4. The SwiftUI cookbook for navigation
Сессия познакомит с работой навигации в SwiftUI.
А если вам достаточно кратко узнать обо всех основных изменениях, можете посмотреть сессии по Swift, SwiftUI, UIKit и Xcode.
#ios #доклады
Главная конференция для iOS-разработчиков WWDC 2022 уже позади. Все выступления доступны на сайте конференции. Выделим некоторые интересные из них:
1. Hello Swift Charts
Вы узнаете подробности о новом фреймворке для создания графиков на SwiftUI.
2. Meet Swift Regex
В Swift 5.7 существенно улучшили работу со строками с помощью регулярных выражений. Что изменилось, рассказывается в видео.
3. Meet WeatherKit
WeatherKit — новый инструмент от Apple для получения подробных данных о погоде.
4. The SwiftUI cookbook for navigation
Сессия познакомит с работой навигации в SwiftUI.
А если вам достаточно кратко узнать обо всех основных изменениях, можете посмотреть сессии по Swift, SwiftUI, UIKit и Xcode.
#ios #доклады
🤩5💩1
Apple и Google обладают дуополией в мобильной экосистеме
К такому выводу пришло Управление по конкуренции и рынкам Великобритании (CMA). По мнению ведомства, обе компании контролируют веб-браузеры, магазины приложений и ОС на смартфонах и планшетах.
В предварительном исследовании ведомство обозначило две проблемы, ограничивающие конкуренцию на устройствах от Apple:
1. Запрет сторонних облачных игровых сервисов в App Store. По мнению регулятора, облачные игры могут нанести удар по позиции Apple в распространении мобильных приложений.
2. Обязательное использование движка WebKit в веб-приложениях для iOS и iPadOS. Вся функциональность и скорость веб-приложений завязана на движке WebKit, и Apple не предоставляет никаких альтернатив.
Также CMA проводит расследование условий и положений App Store, а также расследование в отношении внутриигровых покупок в Google Play. По ним результаты пока ещё не опубликованы.
#android #ios
К такому выводу пришло Управление по конкуренции и рынкам Великобритании (CMA). По мнению ведомства, обе компании контролируют веб-браузеры, магазины приложений и ОС на смартфонах и планшетах.
В предварительном исследовании ведомство обозначило две проблемы, ограничивающие конкуренцию на устройствах от Apple:
1. Запрет сторонних облачных игровых сервисов в App Store. По мнению регулятора, облачные игры могут нанести удар по позиции Apple в распространении мобильных приложений.
2. Обязательное использование движка WebKit в веб-приложениях для iOS и iPadOS. Вся функциональность и скорость веб-приложений завязана на движке WebKit, и Apple не предоставляет никаких альтернатив.
Также CMA проводит расследование условий и положений App Store, а также расследование в отношении внутриигровых покупок в Google Play. По ним результаты пока ещё не опубликованы.
#android #ios
🤔7👍6👎1
Создание и настройка диаграмм с помощью фреймворка Swift Charts
Для создания диаграмм на SwiftUI Apple выпустила новый фреймворк Swift Charts. На первый взгляд, его возможности существенно выходят за пределы рисования базовых графиков.
В статье показаны первые эксперименты с API, которые показывают мощь фреймворка:
https://habr.com/ru/post/670804/
#ios
Для создания диаграмм на SwiftUI Apple выпустила новый фреймворк Swift Charts. На первый взгляд, его возможности существенно выходят за пределы рисования базовых графиков.
В статье показаны первые эксперименты с API, которые показывают мощь фреймворка:
https://habr.com/ru/post/670804/
#ios
👍4
Вышел Kotlin 1.7
Самое важное из обновления:
— альфа-версия нового компилятора Kotlin K2, который существенно быстрее предшественника;
— новый способ инкрементальной компиляции кода в Gradle;
— стабилизация opt-in аннотаций и строгих not-nullable типов;
— оператор подчёркивания
— в inline-классах теперь можно использовать делегаты.
Подробнее об изменениях: https://kotlinlang.org/docs/whatsnew17.html
#kotlin
Самое важное из обновления:
— альфа-версия нового компилятора Kotlin K2, который существенно быстрее предшественника;
— новый способ инкрементальной компиляции кода в Gradle;
— стабилизация opt-in аннотаций и строгих not-nullable типов;
— оператор подчёркивания
_ для типовых аргументов;— в inline-классах теперь можно использовать делегаты.
Подробнее об изменениях: https://kotlinlang.org/docs/whatsnew17.html
#kotlin
👍11
Выбираем подходящую архитектуру для Android-приложения
Идеальной архитектуры, которая подойдёт любому проекту, не существует. Но важно подобрать компоненты архитектуры, которые подойдут по потребностям. Например, нужно ли разделить приложение на модули или же оставить монолит.
Об основных нюансах построения архитектуры приложения рассказал в своём ролике Алексей Гладков:
https://youtu.be/UxnegMYplEw
#android
Идеальной архитектуры, которая подойдёт любому проекту, не существует. Но важно подобрать компоненты архитектуры, которые подойдут по потребностям. Например, нужно ли разделить приложение на модули или же оставить монолит.
Об основных нюансах построения архитектуры приложения рассказал в своём ролике Алексей Гладков:
https://youtu.be/UxnegMYplEw
#android
🔥16👍3
This media is not supported in your browser
VIEW IN TELEGRAM
«Зеркальный» эффект на Jetpack Compose
Чтобы реализовать «зеркальный» эффект на Compose, как показано выше, нужно разбить задачу на четыре:
1. Перевернуть изображение.
2. Оставить 50% видимости перевёрнутому изображению.
3. «Заблюрить» картинку.
4. Сохранить грани изображения, как в оригинале.
Как это сделать, объясняется в гайде:
https://proandroiddev.com/mirror-effect-with-jetpack-compose-78db11b5c30b
#android #compose
Чтобы реализовать «зеркальный» эффект на Compose, как показано выше, нужно разбить задачу на четыре:
1. Перевернуть изображение.
2. Оставить 50% видимости перевёрнутому изображению.
3. «Заблюрить» картинку.
4. Сохранить грани изображения, как в оригинале.
Как это сделать, объясняется в гайде:
https://proandroiddev.com/mirror-effect-with-jetpack-compose-78db11b5c30b
#android #compose
👍19
MVI в iOS-приложении
Архитектура MVI больше распространена в Android-приложениях, и под iOS нет готовой реализации архитектуры. Однако iOS-разработчики из hh решили перенять опыт своих Android-коллег и внедрить в приложение MVI.
К какой схеме реализации MVI ребята пришли, они рассказали в статье:
https://habr.com/ru/company/hh/blog/671560/
#ios #архитектура
Архитектура MVI больше распространена в Android-приложениях, и под iOS нет готовой реализации архитектуры. Однако iOS-разработчики из hh решили перенять опыт своих Android-коллег и внедрить в приложение MVI.
К какой схеме реализации MVI ребята пришли, они рассказали в статье:
https://habr.com/ru/company/hh/blog/671560/
#ios #архитектура
👍11
Создание собственного графика на Jetpack Compose
Существует множество готовых решений по рисованию графиков в Android-приложении. Но если вы хотите попробовать создать график самостоятельно, гайд поможет разобраться в том числе с тем, как размещать точки графика и проводить по ним кривые:
https://proandroiddev.com/creating-graph-in-jetpack-compose-312957b11b2
#android #compose
Существует множество готовых решений по рисованию графиков в Android-приложении. Но если вы хотите попробовать создать график самостоятельно, гайд поможет разобраться в том числе с тем, как размещать точки графика и проводить по ним кривые:
https://proandroiddev.com/creating-graph-in-jetpack-compose-312957b11b2
#android #compose
Линейный график на Flutter
Flutter особенно гибок в части дизайна приложения. Это касается и графиков: с помощью Canvas API вы можете реализовать собственный график, который по дизайну будет идентичен со всем приложением.
Разработать график, как на картинке ниже, поможет крутой гайд:
https://www.raywenderlich.com/32557465-curved-line-charts-in-flutter
#flutter
Flutter особенно гибок в части дизайна приложения. Это касается и графиков: с помощью Canvas API вы можете реализовать собственный график, который по дизайну будет идентичен со всем приложением.
Разработать график, как на картинке ниже, поможет крутой гайд:
https://www.raywenderlich.com/32557465-curved-line-charts-in-flutter
#flutter
👍19🤮2