Логи в iOS, эпизод 2: os_signpost
В какой-то момент разработки приложения вы получаете обратную связь от пользователей: например, при нажатии на кнопку «Выбрать адрес» приложение сначала на пару секунд подвисает, а уже только потом показывает экран со списком адресов. Специально никто медленный код не писал, но он откуда-то где-то возник.
Сегодня расскажу, как Apple предлагает решать эту проблему с помощью логов.
#ios
👉 @developer_mobila
В какой-то момент разработки приложения вы получаете обратную связь от пользователей: например, при нажатии на кнопку «Выбрать адрес» приложение сначала на пару секунд подвисает, а уже только потом показывает экран со списком адресов. Специально никто медленный код не писал, но он откуда-то где-то возник.
Сегодня расскажу, как Apple предлагает решать эту проблему с помощью логов.
#ios
👉 @developer_mobila
👍2
Удобный бенчмаркинг с Jetpack Benchmark Library. Макро- и микробенчмарки
На ранней стадии разработки мы, Android-разработчики, не спешим задумываться об оптимизации производительности будущего приложения. Этому есть объяснение: преждевременная оптимизация невыгодна бизнесу на первых порах, когда в приоритете высокая скорость создания жизнеспособного продукта при условии минимальных затрат. Однако, однажды оптимизация производительности становится просто необходимой.
Поскольку тема оптимизации производительности Android-приложений достойна целого цикла статей, сегодня рассмотрим лишь один ее аспект ― бенчмаркинг.
В статье разберемся с тем, что за зверь такой этот бенчмаркинг и для чего он нужен, а также получим базовые знания для написания первого бенчмарк-теста. Помогать в этом деле буду я, Диана Федотова, Android-разработчица в Технократии.
#Android
👉 @developer_mobila
На ранней стадии разработки мы, Android-разработчики, не спешим задумываться об оптимизации производительности будущего приложения. Этому есть объяснение: преждевременная оптимизация невыгодна бизнесу на первых порах, когда в приоритете высокая скорость создания жизнеспособного продукта при условии минимальных затрат. Однако, однажды оптимизация производительности становится просто необходимой.
Поскольку тема оптимизации производительности Android-приложений достойна целого цикла статей, сегодня рассмотрим лишь один ее аспект ― бенчмаркинг.
В статье разберемся с тем, что за зверь такой этот бенчмаркинг и для чего он нужен, а также получим базовые знания для написания первого бенчмарк-теста. Помогать в этом деле буду я, Диана Федотова, Android-разработчица в Технократии.
#Android
👉 @developer_mobila
👍3
Jetpack Compose Clean Navigation
https://betterprogramming.pub/jetpack-compose-clean-navigation-94b386f7a076
#Android
👉 @developer_mobila
https://betterprogramming.pub/jetpack-compose-clean-navigation-94b386f7a076
#Android
👉 @developer_mobila
👍3
What are Sendable and @ Sendable closures in Swift?
https://www.donnywals.com/what-are-sendable-and-sendable-closures-in-swift/
#ios
👉 @developer_mobila
https://www.donnywals.com/what-are-sendable-and-sendable-closures-in-swift/
#ios
👉 @developer_mobila
Donny Wals
What are Sendable and @Sendable closures in Swift?
Sendability is an important feature of Swift Concurrency. It’s how the compiler determines whether code can safely be accessed from multiple concurrency contexts. In this post you’ll learn everything…
Using Enums to customize the UI in Android?
https://medium.com/@ercnksgl/how-to-use-enums-in-android-to-customize-the-ui-983d6f78b2ce
#Android
👉 @developer_mobila
https://medium.com/@ercnksgl/how-to-use-enums-in-android-to-customize-the-ui-983d6f78b2ce
#Android
👉 @developer_mobila
👍2
Adaptive UI with Jetpack Compose
https://proandroiddev.com/adaptive-ui-with-jetpack-compose-968e375795d4
#Android
👉 @developer_mobila
https://proandroiddev.com/adaptive-ui-with-jetpack-compose-968e375795d4
#Android
👉 @developer_mobila
👍1
Неочевидное про Fragment API.
В этой серии статей я расскажу об интересных моментах из Fragment API, о которых вы могли не знать. Материал будет полезен как начинающим разработчикам, так и закаленным в боях с багами девелоперам.
Часть 1. Транзакции
https://habr.com/ru/company/tinkoff/blog/688222/
Часть 2. (Не) создаем инстанс
https://habr.com/ru/company/tinkoff/blog/690134/
Часть 3. Навигация
https://habr.com/ru/company/tinkoff/blog/691344/
#Android
👉 @developer_mobila
В этой серии статей я расскажу об интересных моментах из Fragment API, о которых вы могли не знать. Материал будет полезен как начинающим разработчикам, так и закаленным в боях с багами девелоперам.
Часть 1. Транзакции
https://habr.com/ru/company/tinkoff/blog/688222/
Часть 2. (Не) создаем инстанс
https://habr.com/ru/company/tinkoff/blog/690134/
Часть 3. Навигация
https://habr.com/ru/company/tinkoff/blog/691344/
#Android
👉 @developer_mobila
👍1
Build a Custom Design System Using Jetpack Compose
https://betterprogramming.pub/custom-design-system-using-jetpack-compose-17a59b1ae38d
#Android
👉 @developer_mobila
https://betterprogramming.pub/custom-design-system-using-jetpack-compose-17a59b1ae38d
#Android
👉 @developer_mobila
👍2
An iOS Engineer learns about Android’s Jetpack Compose and loves it.
https://medium.com/@tsif/an-ios-engineer-learns-about-androids-jetpack-compose-and-loves-it-c04fc6a53f10
#ios
👉 @developer_mobila
https://medium.com/@tsif/an-ios-engineer-learns-about-androids-jetpack-compose-and-loves-it-c04fc6a53f10
#ios
👉 @developer_mobila
Flutter meetup online
1. PWA на Flutter из мобильного приложения: план Б, который нам сейчас так нужен - Дмитрий Шевченко, «Surf»
2. Многозадачность и многопоточность во Flutter - Андрей Хайлов, «Evrone»
3. MobX. Как мы нашли идеальный стейт-менеджмент - Сергей Молчановский, «Нотамедиа»
А еще мы запустили Flutter-квиз! Для тебя - это возможность повеселиться, проверить свой грейд и выиграть классный приз. Кстати, насчет приза - ответь верно на 6 вопросов из 7, чтобы присоединиться к розыгрышу Yandex.Cтанции. Счастливчика мы объявим 1 декабря в прямом эфире - торопись, это уже совсем скоро! Ссылка!
➖➖➖
🗓 26 октября, начало в 19:00 мск, Среда
🌐 ОНЛАЙН
✅ Регистрация на митап
1. PWA на Flutter из мобильного приложения: план Б, который нам сейчас так нужен - Дмитрий Шевченко, «Surf»
2. Многозадачность и многопоточность во Flutter - Андрей Хайлов, «Evrone»
3. MobX. Как мы нашли идеальный стейт-менеджмент - Сергей Молчановский, «Нотамедиа»
А еще мы запустили Flutter-квиз! Для тебя - это возможность повеселиться, проверить свой грейд и выиграть классный приз. Кстати, насчет приза - ответь верно на 6 вопросов из 7, чтобы присоединиться к розыгрышу Yandex.Cтанции. Счастливчика мы объявим 1 декабря в прямом эфире - торопись, это уже совсем скоро! Ссылка!
➖➖➖
🗓 26 октября, начало в 19:00 мск, Среда
🌐 ОНЛАЙН
✅ Регистрация на митап
Experimenting with Jetpack Glance
https://medium.com/androiddevelopers/experimenting-with-jetpack-glance-35fbffe520f4
#Android
👉 @developer_mobila
https://medium.com/androiddevelopers/experimenting-with-jetpack-glance-35fbffe520f4
#Android
👉 @developer_mobila
👍1
Exploring SwiftUI Redraw Behavior with Instruments
https://holyswift.app/exploring-swiftui-redraw-behavior-with-instruments/
#ios
👉 @developer_mobila
https://holyswift.app/exploring-swiftui-redraw-behavior-with-instruments/
#ios
👉 @developer_mobila
👍1
Ускоренный отбор в Яндекс – Intern week offer 🔥
В рамках нового проекта начинающие разработчики смогут пройти собеседования и получить приглашение на стажировку всего за 7 дней. Чтобы пройти отбор, нужно решить контест, пройти технические секции и финалы.
Направления: Backend, Frontend или Mobile
Условия: стажировка оплачивается, длится от 3 до 6 месяцев, и вы можете выбрать занятость 20, 30 или 40 часов в неделю. Иногородним стажёрам мы оплачиваем проезд и проживание, а тех, кто хорошо себя проявит, будем рады видеть в штате.
Крайний срок подачи заявки и решения контеста – 30 октября.
👉Подать заявку: https://clck.ru/32QsDr
В рамках нового проекта начинающие разработчики смогут пройти собеседования и получить приглашение на стажировку всего за 7 дней. Чтобы пройти отбор, нужно решить контест, пройти технические секции и финалы.
Направления: Backend, Frontend или Mobile
Условия: стажировка оплачивается, длится от 3 до 6 месяцев, и вы можете выбрать занятость 20, 30 или 40 часов в неделю. Иногородним стажёрам мы оплачиваем проезд и проживание, а тех, кто хорошо себя проявит, будем рады видеть в штате.
Крайний срок подачи заявки и решения контеста – 30 октября.
👉Подать заявку: https://clck.ru/32QsDr
👍11🔥5👏3
This media is not supported in your browser
VIEW IN TELEGRAM
Scale Animation With Anchor in SwiftUI
https://www.devtechie.com/community/public/posts/153878-scale-animation-with-anchor-in-swiftui
#ios
👉 @developer_mobila
https://www.devtechie.com/community/public/posts/153878-scale-animation-with-anchor-in-swiftui
#ios
👉 @developer_mobila
👍1
Whetstone: DI фреймворк для Android
Whetstone — фреймворк Dependency Injection для Android, который упрощает работу с Dagger 2 используя Anvil. Whetstone предоставляет упрощенный способ подключения Dagger и Anvil в приложение для Android. Whetstone поставляется со встроенным набором компонентов (и соответствующими scope аннотациями), которые автоматически интегрируются в Android Framework. Биндинг в дочернем компоненте может иметь зависимости от любого биндинга в компоненте-предке.
Цели Whetstone:
Упростить инфраструктуру, связанную с Dagger, для приложений Android.
Создать стандартный набор компонентов и областей действия для упрощения настройки, но с возможностью кастомизации.
https://github.com/deliveryhero/whetstone
#Android
👉 @developer_mobila
Whetstone — фреймворк Dependency Injection для Android, который упрощает работу с Dagger 2 используя Anvil. Whetstone предоставляет упрощенный способ подключения Dagger и Anvil в приложение для Android. Whetstone поставляется со встроенным набором компонентов (и соответствующими scope аннотациями), которые автоматически интегрируются в Android Framework. Биндинг в дочернем компоненте может иметь зависимости от любого биндинга в компоненте-предке.
Цели Whetstone:
Упростить инфраструктуру, связанную с Dagger, для приложений Android.
Создать стандартный набор компонентов и областей действия для упрощения настройки, но с возможностью кастомизации.
https://github.com/deliveryhero/whetstone
#Android
👉 @developer_mobila
👍1🔥1
Как добавить тень для кнопки на Android: опыт разработчика inDrive
Когда заходит речь про тени на Android, возникает сразу несколько вопросов. Первый: зачем они нужны? Второй: почему нельзя использовать системные тени и жить счастливо? Третий: если нельзя использовать системные тени, как реализовать кастомные?
Сергей Петров, Android-разработчик в команде Design System компании inDrive попытался ответить на эти вопросы в статье на Хабре. Получился развернутый материал о способах нарисовать тени максимально удобно и просто.
Когда заходит речь про тени на Android, возникает сразу несколько вопросов. Первый: зачем они нужны? Второй: почему нельзя использовать системные тени и жить счастливо? Третий: если нельзя использовать системные тени, как реализовать кастомные?
Сергей Петров, Android-разработчик в команде Design System компании inDrive попытался ответить на эти вопросы в статье на Хабре. Получился развернутый материал о способах нарисовать тени максимально удобно и просто.
Хабр
Всем выйти из сумрака: как добавить тень на Android
Когда заходит речь про тени на Android, возникает сразу несколько вопросов. Первый: зачем они нужны? Второй: почему нельзя использовать системные тени и жить счастливо? Третий: если нельзя...
🔥3👍1
Успейте подать заявку в Alfa Campus!
В ноябре Альфа-Банк запускает Alfa Campus — бесплатные курсы от Альфа-Банка для тех, кто начинает свой путь в IT. Преподаватели — ведущие сотрудники Альфы.
Если вы увлекаетесь мобильной разработкой, вы можете подать заявку на факультет Аndroid-разработки, в течение 3 месяцев пройти обучение абсолютно бесплатно и получить оффер от Альфа-Банка, если окажетесь в числе лучших.
Срок подачи заявок до 31-го октября — количество мест ограничено.
В ноябре Альфа-Банк запускает Alfa Campus — бесплатные курсы от Альфа-Банка для тех, кто начинает свой путь в IT. Преподаватели — ведущие сотрудники Альфы.
Если вы увлекаетесь мобильной разработкой, вы можете подать заявку на факультет Аndroid-разработки, в течение 3 месяцев пройти обучение абсолютно бесплатно и получить оффер от Альфа-Банка, если окажетесь в числе лучших.
Срок подачи заявок до 31-го октября — количество мест ограничено.
👍5
Как стать Android разработчиком с нуля, по шагам
Эта статья имеет целью сделать мой субъективный обзор примерного алгоритма и доступных ресурсов для того, чтобы овладеть специальностью андроид разработчика, при условии что человек вообще не знает что такое язык программирования.
#Android
👉 @developer_mobila
Эта статья имеет целью сделать мой субъективный обзор примерного алгоритма и доступных ресурсов для того, чтобы овладеть специальностью андроид разработчика, при условии что человек вообще не знает что такое язык программирования.
#Android
👉 @developer_mobila
👍5
Сколько стоит джун, мидл или сеньор?
Часто молодые специалисты не чувствуют момент, когда их уровень вырос и можно брать более сложные задачи и просить повышения зарплаты. По каким признакам это понять? Какие цифры называть переходя на новое место или какого повышения можно ждать на старом?
На эти вопросы отвечает skillmaps.ru — открытая база знаний для развития IT-специалистов. Навыки разбиты по классическим грейдам: Junior, Middle, Senior и привязаны к реальным зарплатам. По каждому навыку есть подборка ссылок-материалов, необходимых для освоения.
На skillmaps.ru буквально в несколько кликов можно узнать сколько стоят твои навыки и смело выставлять кост руководству 😉
Часто молодые специалисты не чувствуют момент, когда их уровень вырос и можно брать более сложные задачи и просить повышения зарплаты. По каким признакам это понять? Какие цифры называть переходя на новое место или какого повышения можно ждать на старом?
На эти вопросы отвечает skillmaps.ru — открытая база знаний для развития IT-специалистов. Навыки разбиты по классическим грейдам: Junior, Middle, Senior и привязаны к реальным зарплатам. По каждому навыку есть подборка ссылок-материалов, необходимых для освоения.
На skillmaps.ru буквально в несколько кликов можно узнать сколько стоят твои навыки и смело выставлять кост руководству 😉
👍5
Setting up custom font style for Text, Labels and Buttons globally in iOS Application — iOS Swift
https://medium.com/@arunvaishy1007/setting-up-custom-font-style-for-text-labels-and-buttons-globally-in-ios-application-ios-swift-17b08317c026
#ios
👉 @developer_mobila
https://medium.com/@arunvaishy1007/setting-up-custom-font-style-for-text-labels-and-buttons-globally-in-ios-application-ios-swift-17b08317c026
#ios
👉 @developer_mobila
👍1
Как локализовать приложение
Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций.
Это большой ультимативный гайд по локализации. Если вы только начинаете изучить локализацию - рекомендуем читать по порядку. Все инструменты в статье редакция выстрадала опытом и временем.
https://sparrowcode.io/ru/tutorials/localisation
#ios
👉 @developer_mobila
Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций.
Это большой ультимативный гайд по локализации. Если вы только начинаете изучить локализацию - рекомендуем читать по порядку. Все инструменты в статье редакция выстрадала опытом и временем.
https://sparrowcode.io/ru/tutorials/localisation
#ios
👉 @developer_mobila
👍4❤🔥1