Использование принципа инверсии зависимостей на практике
В статье предлагается эффективный подход к обновлению приложений без необходимости полного переписывания кода. Автор обсуждает применение принципа инверсии зависимостей (Dependency Inversion), который позволяет снизить зависимость между компонентами приложения, сделать его более гибким и устойчивым к изменениям:
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#android
В статье предлагается эффективный подход к обновлению приложений без необходимости полного переписывания кода. Автор обсуждает применение принципа инверсии зависимостей (Dependency Inversion), который позволяет снизить зависимость между компонентами приложения, сделать его более гибким и устойчивым к изменениям:
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#android
👍5
Виды мобильных приложений
Мобильные приложения могут работать непосредственно на платформе, поверх мобильного браузера или представлять собой комбинацию обоих вариантов. Выбор правильного типа приложения зависит от конкретных потребностей проекта.
В статье описаны характеристики и различия каждого вида мобильных приложений:
https://iamankurjain.medium.com/mobile-application-taxonomy-65b4b9e9e5a7
#советы
Мобильные приложения могут работать непосредственно на платформе, поверх мобильного браузера или представлять собой комбинацию обоих вариантов. Выбор правильного типа приложения зависит от конкретных потребностей проекта.
В статье описаны характеристики и различия каждого вида мобильных приложений:
https://iamankurjain.medium.com/mobile-application-taxonomy-65b4b9e9e5a7
#советы
💩11🔥3
Различия Compose и SwiftUI
На первый взгляд SwiftUI и Jetpack Compose очень похожи. Оба являются декларативными UI-фреймворками с похожими примитивами, предназначенными для выполнения одной и той же задачи.
Но есть некоторые фундаментальные различия, которые определяют способ их использования. Подробности в статье:
https://medium.com/mateedevs/fundamental-differences-of-compose-and-swiftui-2dc0cdd0b37
#swiftui #compose
На первый взгляд SwiftUI и Jetpack Compose очень похожи. Оба являются декларативными UI-фреймворками с похожими примитивами, предназначенными для выполнения одной и той же задачи.
Но есть некоторые фундаментальные различия, которые определяют способ их использования. Подробности в статье:
https://medium.com/mateedevs/fundamental-differences-of-compose-and-swiftui-2dc0cdd0b37
#swiftui #compose
👍13
Ping в iOS
Иногда бывает нужно проверить доступность удалённого сервера и время ответа из приложения.
Простой способ такой проверки с использованием новой асинхронной функциональности Swift описывается в статье:
https://medium.com/@onlyapps/measuring-ping-in-ios-apps-a-simple-solution-13be82a15bf3
#ios #network
Иногда бывает нужно проверить доступность удалённого сервера и время ответа из приложения.
Простой способ такой проверки с использованием новой асинхронной функциональности Swift описывается в статье:
https://medium.com/@onlyapps/measuring-ping-in-ios-apps-a-simple-solution-13be82a15bf3
#ios #network
👍8🥱1
Сборка с Bazel — бесплатный курс
Bazel — это система сборки с открытым исходным кодом, созданная Google для компиляции больших сложных баз кода.
На этом курсе вы сможете изучить основы использования этого инструмента начиная от написания очень простого Java-приложения, заканчивая компиляцией приложения для Android с большим количеством зависимостей.
Курс доступен бесплатно:
https://www.kodeco.com/31558158-building-with-bazel
#bazel #курс
Bazel — это система сборки с открытым исходным кодом, созданная Google для компиляции больших сложных баз кода.
На этом курсе вы сможете изучить основы использования этого инструмента начиная от написания очень простого Java-приложения, заканчивая компиляцией приложения для Android с большим количеством зависимостей.
Курс доступен бесплатно:
https://www.kodeco.com/31558158-building-with-bazel
#bazel #курс
This media is not supported in your browser
VIEW IN TELEGRAM
Параллакс в Jetpack Compose
Эффект параллакса является популярным способом улучшить внешний вид приложения. При этом создать эффект параллакса в compose довольно просто: мы отслеживаем состояние прокрутки нашего скроллера и изменяем скорость трансляции видов, для которых мы хотим использовать параллакс.
В этой статье вы найдёте пошаговую инструкцию для создания этого такого эффекта:
https://proandroiddev.com/parallax-in-jetpack-compose-bf521244f49
#jetpackcompose
Эффект параллакса является популярным способом улучшить внешний вид приложения. При этом создать эффект параллакса в compose довольно просто: мы отслеживаем состояние прокрутки нашего скроллера и изменяем скорость трансляции видов, для которых мы хотим использовать параллакс.
В этой статье вы найдёте пошаговую инструкцию для создания этого такого эффекта:
https://proandroiddev.com/parallax-in-jetpack-compose-bf521244f49
#jetpackcompose
👍8
Опыт после использования Kotlin Multiplatform в производственных приложениях в течение года
Автор этой статьи поделился своими наблюдениями и выводами об использовании Kotlin Multiplatform. Рекомендуем к прочтению:
https://betterprogramming.pub/experience-using-kmp-in-production-apps-for-a-year-2474406d99d4
#kotlin #kmp
Автор этой статьи поделился своими наблюдениями и выводами об использовании Kotlin Multiplatform. Рекомендуем к прочтению:
https://betterprogramming.pub/experience-using-kmp-in-production-apps-for-a-year-2474406d99d4
#kotlin #kmp
❤3👍1
Диспетчеризация методов iOS
Диспетчеризацией методов называют процесс поиска адреса инструкций, которые нужно выполнить CPU при вызове определенного метода. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку они позволяют повысить производительность приложения, а также не допустить ошибок, связанных с неочевидным поведением в Swift.
В этой статье будут рассмотрены понятие диспетчеризации, его виды, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний:
https://habr.com/ru/articles/677616/
#ios #swift
Диспетчеризацией методов называют процесс поиска адреса инструкций, которые нужно выполнить CPU при вызове определенного метода. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку они позволяют повысить производительность приложения, а также не допустить ошибок, связанных с неочевидным поведением в Swift.
В этой статье будут рассмотрены понятие диспетчеризации, его виды, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний:
https://habr.com/ru/articles/677616/
#ios #swift
❤2
Как самостоятельно изучить Swift и стать iOS-разработчиком
Максим — iOS-разработчик из Казани, он самостоятельно освоил Objective-C и Swift и пишет мобильные приложения с 2017 года. Он успел поработать в стартапе и международной ИТ-компании, делал приложения для клиента из Арабских Эмиратов и Музея русского импрессионизма.
В этой статье он рассказал, почему решил стать iOS-разработчиком и что из этого вышло:
https://tproger.ru/articles/moja-istorija-v-it-kak-samostojatelno-izuchit-swift-i-stat-ios-razrabotchikom/
#ios
Максим — iOS-разработчик из Казани, он самостоятельно освоил Objective-C и Swift и пишет мобильные приложения с 2017 года. Он успел поработать в стартапе и международной ИТ-компании, делал приложения для клиента из Арабских Эмиратов и Музея русского импрессионизма.
В этой статье он рассказал, почему решил стать iOS-разработчиком и что из этого вышло:
https://tproger.ru/articles/moja-istorija-v-it-kak-samostojatelno-izuchit-swift-i-stat-ios-razrabotchikom/
#ios
🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать анимированные шейдеры в Jetpack Compose
Jetpack Compose — бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня речь пойдёт об одной из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на видео выше.
В этой статье вы научитесь использовать эту фичу в своих проектах и делать аналогичные шейдеры:
https://habr.com/ru/companies/timeweb/articles/736192
#jetpackcompose
Jetpack Compose — бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня речь пойдёт об одной из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на видео выше.
В этой статье вы научитесь использовать эту фичу в своих проектах и делать аналогичные шейдеры:
https://habr.com/ru/companies/timeweb/articles/736192
#jetpackcompose
👍6❤1
Интеграция рекламы в Android-приложение: Yandex Mobile Ads Vs. Google AdMob
Сегодня использовать зарубежные решения не столько сложно, сколько бессмысленно, если пользователи находятся в России. Многие провайдеры уходят из страны и с получением дохода от рекламы могут возникнуть проблемы.
Эта статья будет полезна Android-разработчикам, которые столкнулись с выбором SDK:
https://habr.com/ru/companies/simbirsoft/articles/737158/
#android
Сегодня использовать зарубежные решения не столько сложно, сколько бессмысленно, если пользователи находятся в России. Многие провайдеры уходят из страны и с получением дохода от рекламы могут возникнуть проблемы.
Эта статья будет полезна Android-разработчикам, которые столкнулись с выбором SDK:
https://habr.com/ru/companies/simbirsoft/articles/737158/
#android
👍5💩4
Упрощение внедрения зависимостей с помощью паттерна «фасад» в iOS
Если мы работаем в приложении со слишком большим количеством модулей и, следовательно, слишком большим количеством зависимостей в каждом из них, может потребоваться много времени, чтобы сосчитать их все, внедрить в каждый класс, на который они полагаются.
К счастью, существует полезное решение, позволяющее упростить передачу слишком большого количества зависимостей в класс, и даже лучше: его можно разделить на более мелкие, если не все из них необходимы.
Подробнее:
https://pedroalvarez-29395.medium.com/ios-simplifying-dependency-injection-with-the-facade-design-pattern-bd863630da32
#ios
Если мы работаем в приложении со слишком большим количеством модулей и, следовательно, слишком большим количеством зависимостей в каждом из них, может потребоваться много времени, чтобы сосчитать их все, внедрить в каждый класс, на который они полагаются.
К счастью, существует полезное решение, позволяющее упростить передачу слишком большого количества зависимостей в класс, и даже лучше: его можно разделить на более мелкие, если не все из них необходимы.
Подробнее:
https://pedroalvarez-29395.medium.com/ios-simplifying-dependency-injection-with-the-facade-design-pattern-bd863630da32
#ios
❤1
Сам себе игровая консоль: превращаем планшет с нерабочим тачскрином в игровой девайс из 8 кнопок и микроконтроллера
Ну не только же нам приложения делать, правда? Давайте реанимируем ваш старый гаджет на Android и превратим его в игровую приставку.
Для этого нам понадобятся:
— старый планшет или смартфон на android;
— Raspberry Pi Pico;
— 8 кнопок;
— прямые руки;
— и, наконец, немного кода.
Подробная инструкция в статье:
https://habr.com/ru/companies/timeweb/articles/736438/
#android #diy
Ну не только же нам приложения делать, правда? Давайте реанимируем ваш старый гаджет на Android и превратим его в игровую приставку.
Для этого нам понадобятся:
— старый планшет или смартфон на android;
— Raspberry Pi Pico;
— 8 кнопок;
— прямые руки;
— и, наконец, немного кода.
Подробная инструкция в статье:
https://habr.com/ru/companies/timeweb/articles/736438/
#android #diy
🤔5👍4❤1🤮1
Поиск retain cycle с помощью инструментов Xcode
При разработке под iOS многие разработчики часто сталкиваются c retain cycle, когда как минимум 2 объекта удерживают строгие ссылки друг на друга.
В реальном большом проекте очень тяжело отыскать, кто держит сильную ссылку друг на друга, причем это могут быть не 2 объекта, а больше.
В этой статье вы узнаете, как найти проблемное место и исправить его:
https://tproger.ru/articles/poisk-retain-cycle-s-pomoshhju-instrumentov-xcode/
#ios #xcode #swift
При разработке под iOS многие разработчики часто сталкиваются c retain cycle, когда как минимум 2 объекта удерживают строгие ссылки друг на друга.
В реальном большом проекте очень тяжело отыскать, кто держит сильную ссылку друг на друга, причем это могут быть не 2 объекта, а больше.
В этой статье вы узнаете, как найти проблемное место и исправить его:
https://tproger.ru/articles/poisk-retain-cycle-s-pomoshhju-instrumentov-xcode/
#ios #xcode #swift
👍9⚡1
Использование Dynamic Type с кастомными шрифтами в iOS
Apple представила функцию Dynamic Type в iOS. Эта функция позволяет разработчикам изменять размер текста в соответствии с настройками пользователя.
Самый простой способ для разработчика поддерживать динамический шрифт — использовать предопределённые системой стили текста, такие как крупный заголовок, headline, основная часть и другие.
Но если речь идёт о пользовательских шрифтах, то всё становится несколько сложнее. В этой статье вы увидите, как мы можем добавить динамику нашим шрифтам шаг за шагом:
https://medium.com/@hdmdhr/use-dynamic-type-with-custom-fonts-in-ios-480d9c902689
#ios
Apple представила функцию Dynamic Type в iOS. Эта функция позволяет разработчикам изменять размер текста в соответствии с настройками пользователя.
Самый простой способ для разработчика поддерживать динамический шрифт — использовать предопределённые системой стили текста, такие как крупный заголовок, headline, основная часть и другие.
Но если речь идёт о пользовательских шрифтах, то всё становится несколько сложнее. В этой статье вы увидите, как мы можем добавить динамику нашим шрифтам шаг за шагом:
https://medium.com/@hdmdhr/use-dynamic-type-with-custom-fonts-in-ios-480d9c902689
#ios
👍1
Лайв-ревью Android-библиотеки для упрощения работы с разрешениями
В этом видео вы не только разберёте код ревью библиотеки MintPermissions, но и услышите комментарии от автора это библиотеки.
Подробнее:
https://youtu.be/zmpvQwcujk0
#видео #android
В этом видео вы не только разберёте код ревью библиотеки MintPermissions, но и услышите комментарии от автора это библиотеки.
Подробнее:
https://youtu.be/zmpvQwcujk0
#видео #android
👍5💩2
Советы по производительности SwiftUI
SwiftUI существует уже несколько лет и за этот период работы с ним автор этой статьи заметил несколько типов ошибок разработчиков (как своих, так и других), которые могут повлиять на его производительность.
Здесь он подробно рассмотрел эти подводные камни и их возможные решения:
https://martinmitrevski.com/2022/04/14/swiftui-performance-tips/
#ios #swiftui
SwiftUI существует уже несколько лет и за этот период работы с ним автор этой статьи заметил несколько типов ошибок разработчиков (как своих, так и других), которые могут повлиять на его производительность.
Здесь он подробно рассмотрел эти подводные камни и их возможные решения:
https://martinmitrevski.com/2022/04/14/swiftui-performance-tips/
#ios #swiftui
👍2👎1
Как локализовать все ваши iOS приложения на 20 языков за 5 минут
В современном мире спрос на мобильные приложения, которыми пользуются люди из разных стран и регионов, значительно увеличился. Для разработчиков важно сделать свои приложения доступными на нескольких языках.
Но локализация может занять много времени и ресурсов, особенно, для приложений с большим количеством контента и длинным списком поддерживаемых языков. К счастью, сегодня можно автоматизировать и этот процесс.
В этой статье вы узнаете, как перевести iOS-приложение на множество языков с помощью XCodeLocalize:
https://habr.com/ru/articles/722172/
#ios
В современном мире спрос на мобильные приложения, которыми пользуются люди из разных стран и регионов, значительно увеличился. Для разработчиков важно сделать свои приложения доступными на нескольких языках.
Но локализация может занять много времени и ресурсов, особенно, для приложений с большим количеством контента и длинным списком поддерживаемых языков. К счастью, сегодня можно автоматизировать и этот процесс.
В этой статье вы узнаете, как перевести iOS-приложение на множество языков с помощью XCodeLocalize:
https://habr.com/ru/articles/722172/
#ios
👍7❤2
Kotlin Flow: лучшие практики
В этой статье вы познакомитесь с лучшими практиками использования Kotlin Flow, включая создание операторов и обработку ошибок.
Не упустите возможность узнать больше о преимуществах этого инструмента и улучшить свои навыки в разработке мобильных приложений:
https://florentblot.medium.com/kotlin-flow-best-practices-ab05e249ec1c
#kotlin
В этой статье вы познакомитесь с лучшими практиками использования Kotlin Flow, включая создание операторов и обработку ошибок.
Не упустите возможность узнать больше о преимуществах этого инструмента и улучшить свои навыки в разработке мобильных приложений:
https://florentblot.medium.com/kotlin-flow-best-practices-ab05e249ec1c
#kotlin
👍9🔥1
Jetpack Compose и классы windowSize
Узнайте, как использовать Jetpack Compose и классы windowSize для создания адаптивных макетов в Android-приложениях. Статья будет полезна всем, кто занимается разработкой мобильных приложений под Android, особенно тем, кто хочет сделать свои приложения более адаптивными и гибкими для пользователей.
Автор статьи подробно рассматривает различные аспекты работы с классами Jetpack Compose и windowSize, и приводит много полезных советов и примеров.
https://dev.to/erdo/jetpack-compose-and-windowsize-classes-gb4
#android #jetpackcompose
Узнайте, как использовать Jetpack Compose и классы windowSize для создания адаптивных макетов в Android-приложениях. Статья будет полезна всем, кто занимается разработкой мобильных приложений под Android, особенно тем, кто хочет сделать свои приложения более адаптивными и гибкими для пользователей.
Автор статьи подробно рассматривает различные аспекты работы с классами Jetpack Compose и windowSize, и приводит много полезных советов и примеров.
https://dev.to/erdo/jetpack-compose-and-windowsize-classes-gb4
#android #jetpackcompose
Ищем человека в команду SMM
Если вы разбираетесь в IT, умеете подавать информацию и хотите попробовать себя в качестве автора Telegram-каналов, то приходите к нам!
Подробности о вакансии, зарплате и тестовое можно посмотреть тут:
http://tprg.ru/bqed
#вакансии #работа
Если вы разбираетесь в IT, умеете подавать информацию и хотите попробовать себя в качестве автора Telegram-каналов, то приходите к нам!
Подробности о вакансии, зарплате и тестовое можно посмотреть тут:
http://tprg.ru/bqed
#вакансии #работа
🤡5🥴2