Closures Vs. Combine Vs. Async Await
https://medium.com/@GetInRhythm/closures-vs-combine-vs-async-await-993eb1da4d44
#ios
👉 @developer_mobila
https://medium.com/@GetInRhythm/closures-vs-combine-vs-async-await-993eb1da4d44
#ios
👉 @developer_mobila
Безопасная локализация строк в iOS: Localinter
Привет! Меня зовут Сергей Балалаев, я руковожу отделом разработки мобильного приложения «Пункт Ozon». Это то самое приложение, которым сотрудники пунктов выдачи заказов сканируют штрихкод, чтобы выдать товар получателю. Оно внутреннее, для сотрудников. iOS-версией постоянно пользуются 12 тыс. человек, поэтому при постановке задачи нас не просили делать мультиязычную версию. Но мы с самого начала разработки решили поддерживать несколько языков — когда возникнет необходимость локализации, справимся в спокойном режиме и без проблем, свойственных проектам, в которых локализацию не закладывали. Я хочу рассказать, как мы побороли типичные проблемы локализации для наших iOS-проектов, зачем собрали свой линтер для локализации и как это всё помогло упростить и автоматизировать процесс.
https://habr.com/ru/companies/ozontech/articles/734214/
#ios
👉 @developer_mobila
Привет! Меня зовут Сергей Балалаев, я руковожу отделом разработки мобильного приложения «Пункт Ozon». Это то самое приложение, которым сотрудники пунктов выдачи заказов сканируют штрихкод, чтобы выдать товар получателю. Оно внутреннее, для сотрудников. iOS-версией постоянно пользуются 12 тыс. человек, поэтому при постановке задачи нас не просили делать мультиязычную версию. Но мы с самого начала разработки решили поддерживать несколько языков — когда возникнет необходимость локализации, справимся в спокойном режиме и без проблем, свойственных проектам, в которых локализацию не закладывали. Я хочу рассказать, как мы побороли типичные проблемы локализации для наших iOS-проектов, зачем собрали свой линтер для локализации и как это всё помогло упростить и автоматизировать процесс.
https://habr.com/ru/companies/ozontech/articles/734214/
#ios
👉 @developer_mobila
👍2
Поток данных SwiftUI с примерами
SwiftUI предлагает декларативный подход к проектированию пользовательского интерфейса и автоматически обновляет затронутые части интерфейса при изменении данных. Такой подход часто называют однонаправленным потоком данных, и он коренным образом изменил способ разработки приложений в экосистеме Apple.
https://daddycoding.com/2023/05/12/swiftui-data-flow-explained/
#ios
👉 @developer_mobila
SwiftUI предлагает декларативный подход к проектированию пользовательского интерфейса и автоматически обновляет затронутые части интерфейса при изменении данных. Такой подход часто называют однонаправленным потоком данных, и он коренным образом изменил способ разработки приложений в экосистеме Apple.
https://daddycoding.com/2023/05/12/swiftui-data-flow-explained/
#ios
👉 @developer_mobila
❤2👍1
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/
#Android
👉 @developer_mobila
Jetpack Compose — молодой, но бурно развивающийся фреймворк для разработки под Android, который обладает множеством не всегда очевидных фичей. Сегодня я хотел бы описать одну из таких встроенных возможностей: речь идет об использовании OpenGL-шейдеров. Они позволяют делать красивые анимированные интерфейсы, как на картинке ниже.
https://habr.com/ru/companies/timeweb/articles/736192/
#Android
👉 @developer_mobila
👍2
Многомодульное iOS-приложение: подходы к организации межмодульного взаимодействия
В этой статье остановлюсь на вопросах оптимизации сборки проекта и выборе вариантов линковки артефактов компиляции.
https://habr.com/ru/companies/docdoc/articles/735946/
#ios
👉 @developer_mobila
В этой статье остановлюсь на вопросах оптимизации сборки проекта и выборе вариантов линковки артефактов компиляции.
https://habr.com/ru/companies/docdoc/articles/735946/
#ios
👉 @developer_mobila
👍1
В каких случаях использовать функцию derivedStateOf из Jetpack Compose
derivedStateOf - это функция, которая из исходных объектов State формирует производный State. Основной смысл применения функции derivedStateOf - понизить частоту изменения исходного State, тем самым избавиться от ненужных рекомпозиций.
Лямбда-выражение, которое передается в derivedStateOf, выполняется каждый раз, когда изменяется любой из входных объектов State, и результат используется для обновления значения производного State. Важно понимать, что лямбда-выражение будет вызываться повторно только если изменится свойство value объекта State и чтение этого свойства происходит в этой лямбде. Изменение захваченных переменных другого типа не приведет к повторному вызову лямбда-выражения.
https://habr.com/ru/articles/735526/
#Android
👉 @developer_mobila
derivedStateOf - это функция, которая из исходных объектов State формирует производный State. Основной смысл применения функции derivedStateOf - понизить частоту изменения исходного State, тем самым избавиться от ненужных рекомпозиций.
Лямбда-выражение, которое передается в derivedStateOf, выполняется каждый раз, когда изменяется любой из входных объектов State, и результат используется для обновления значения производного State. Важно понимать, что лямбда-выражение будет вызываться повторно только если изменится свойство value объекта State и чтение этого свойства происходит в этой лямбде. Изменение захваченных переменных другого типа не приведет к повторному вызову лямбда-выражения.
https://habr.com/ru/articles/735526/
#Android
👉 @developer_mobila
Хабр
В каких случаях использовать функцию derivedStateOf из Jetpack Compose
derivedStateOf { ... } derivedStateOf - это функция, которая из исходных объектов State формирует производный State. Основной смысл применения функции derivedStateOf - понизить частоту изменения...
👍3
Attempting to connect a tvOS app to an iOS app with DeviceDiscoveryUI
https://bendodson.com/weblog/2023/05/10/connecting-a-tvos-app-to-ios-ipados-and-watchos-with-devicediscoveryui/
#ios
👉 @developer_mobila
https://bendodson.com/weblog/2023/05/10/connecting-a-tvos-app-to-ios-ipados-and-watchos-with-devicediscoveryui/
#ios
👉 @developer_mobila
👍1
Авторизация OAuth 2.0 в Google Api для Android без специальных библиотек
На тему OAuth 2.0 написано море хороших статей (например: 1,2), переписывать их не буду, а лучше расскажу про изобретение велосипеда то, как я пытался на практике реализовать авторизацию в Google Api посредством простых запросов.
Про существование библиотек Sign-In, AppAuth, AccountManager я в курсе, но чего они все не дают, так это четкого понимания как происходит обмен ключами и что они из себя представляют. Было принято решение получить токены от Google Books без применения специализированных библиотек для того,чтобы разобраться как все устроено, возможно кому-то пригодится. Сразу скажу, что не являюсь экспертом, и крутым разработчикам будет не интересно изобретение велосипедов,но возможно кому-то из начинающих разработчиков пригодится данная информация.
https://habr.com/ru/articles/735982/
#Android
👉 @developer_mobila
На тему OAuth 2.0 написано море хороших статей (например: 1,2), переписывать их не буду, а лучше расскажу про изобретение велосипеда то, как я пытался на практике реализовать авторизацию в Google Api посредством простых запросов.
Про существование библиотек Sign-In, AppAuth, AccountManager я в курсе, но чего они все не дают, так это четкого понимания как происходит обмен ключами и что они из себя представляют. Было принято решение получить токены от Google Books без применения специализированных библиотек для того,чтобы разобраться как все устроено, возможно кому-то пригодится. Сразу скажу, что не являюсь экспертом, и крутым разработчикам будет не интересно изобретение велосипедов,но возможно кому-то из начинающих разработчиков пригодится данная информация.
https://habr.com/ru/articles/735982/
#Android
👉 @developer_mobila
👍4❤1
Using PreviewParameters and providing Composables to Jetpack Compose Previews
https://proandroiddev.com/using-previewparameters-and-providing-composables-to-jetpack-compose-previews-5b1f5a8fe192
#Android
👉 @developer_mobila
https://proandroiddev.com/using-previewparameters-and-providing-composables-to-jetpack-compose-previews-5b1f5a8fe192
#Android
👉 @developer_mobila
👍1
Матрица Судьбы (компетенций) Android-программиста
«Вы заметили, какое сейчас время? Новая эра, новая эпоха. Век открытых, доступных знаний – было бы желание, как говорится. Все больше и больше людей как будто просыпаются, выходят из длительного сна, состояния стагнация»1 - цитата из книги.
«Без знаний о совокупности талантов и данных, дарованных нам при рождении жизнь похожа на заблудившийся в открытом море корабль»2 - взято с одного сайта про Матрицу Судьбы. Почему-то некоторые цитаты, относящиеся к Матрице Судьбы очень хорошо подходят к Матрице Компетенций. Интересно…
https://habr.com/ru/articles/735516/
#Android
👉 @developer_mobila
«Вы заметили, какое сейчас время? Новая эра, новая эпоха. Век открытых, доступных знаний – было бы желание, как говорится. Все больше и больше людей как будто просыпаются, выходят из длительного сна, состояния стагнация»1 - цитата из книги.
«Без знаний о совокупности талантов и данных, дарованных нам при рождении жизнь похожа на заблудившийся в открытом море корабль»2 - взято с одного сайта про Матрицу Судьбы. Почему-то некоторые цитаты, относящиеся к Матрице Судьбы очень хорошо подходят к Матрице Компетенций. Интересно…
https://habr.com/ru/articles/735516/
#Android
👉 @developer_mobila
👍1👎1
Exploring the Composable Architecture Framework
В компании Conjure наша iOS-команда прилагает все усилия, чтобы быть в курсе последних тенденций и технологий, когда речь идет о Swift. При использовании SwiftUI и Combine возникает проблема эффективного управления состоянием.
В прошлом году я присутствовал на докладе Никиты Мунье, где он поделился своим опытом использования Composable Architecture. В этой статье я расскажу об этом фреймворке.
https://insight.conjure.co.uk/the-composable-architecture-2eae60963248
#ios
👉 @developer_mobila
В компании Conjure наша iOS-команда прилагает все усилия, чтобы быть в курсе последних тенденций и технологий, когда речь идет о Swift. При использовании SwiftUI и Combine возникает проблема эффективного управления состоянием.
В прошлом году я присутствовал на докладе Никиты Мунье, где он поделился своим опытом использования Composable Architecture. В этой статье я расскажу об этом фреймворке.
https://insight.conjure.co.uk/the-composable-architecture-2eae60963248
#ios
👉 @developer_mobila
👍1
Statically-typed JSON payload in Swift
https://jobandtalent.engineering/statically-typed-json-payload-in-swift-bd193a9e8cf2
#ios
👉 @developer_mobila
https://jobandtalent.engineering/statically-typed-json-payload-in-swift-bd193a9e8cf2
#ios
👉 @developer_mobila
Современная Android-разработка в 2023 году
Всем привет, я хотел бы поделиться с вами тем, как создавать приложения для Android с учетом последних тенденций 2023 года.
Это статья основана на моем мнении и профессиональном опыте, с учетом различных мнений сообщества разработчиков Android, а также с постоянным обзором руководств, предоставляемых Google для Android.
Я должен прояснить, что есть очень интересные инструменты, шаблоны и архитектуры, которые я могу не упоминать, но это не значит, что они не могут быть другими интересными альтернативами для разработки приложений для Android.
https://devjorgecastro.medium.com/modern-android-app-development-in-2023-ff445d3652b4
#Android
👉 @developer_mobila
Всем привет, я хотел бы поделиться с вами тем, как создавать приложения для Android с учетом последних тенденций 2023 года.
Это статья основана на моем мнении и профессиональном опыте, с учетом различных мнений сообщества разработчиков Android, а также с постоянным обзором руководств, предоставляемых Google для Android.
Я должен прояснить, что есть очень интересные инструменты, шаблоны и архитектуры, которые я могу не упоминать, но это не значит, что они не могут быть другими интересными альтернативами для разработки приложений для Android.
https://devjorgecastro.medium.com/modern-android-app-development-in-2023-ff445d3652b4
#Android
👉 @developer_mobila
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как использовать CoreMotion для получения сенсорных данных
В этой статье мы разберемся, как он работает, и создадим простой интерфейс для отображения собранных данных.
CoreMotion — это фреймворк Apple, который передает информацию о движении и окружающей среде от бортовых датчиков устройства. Он, в частности, позволяет разработчикам получать доступ к данным о движении устройства, таким как ускорение, скорость и ориентация.
Кроме того, он оптимизирован для получения точных данных о движении даже в сложных условиях, таких как быстрое движение или изменение направления, поскольку использует датчики устройства для измерения и отслеживания движения в режиме реального времени.
Вы можете использовать этот фреймворк для доступа к данным, генерируемым оборудованием, и использовать их для всего, что только можно себе представить. Например, игра может использовать данные акселерометра и гироскопа для управления поведением игры на экране.
https://medium.com/appledeveloperacademy-ufpe/swift-how-to-use-coremotion-to-obtain-sensorial-data-20b1b73a948a
#ios
👉 @developer_mobila
В этой статье мы разберемся, как он работает, и создадим простой интерфейс для отображения собранных данных.
CoreMotion — это фреймворк Apple, который передает информацию о движении и окружающей среде от бортовых датчиков устройства. Он, в частности, позволяет разработчикам получать доступ к данным о движении устройства, таким как ускорение, скорость и ориентация.
Кроме того, он оптимизирован для получения точных данных о движении даже в сложных условиях, таких как быстрое движение или изменение направления, поскольку использует датчики устройства для измерения и отслеживания движения в режиме реального времени.
Вы можете использовать этот фреймворк для доступа к данным, генерируемым оборудованием, и использовать их для всего, что только можно себе представить. Например, игра может использовать данные акселерометра и гироскопа для управления поведением игры на экране.
https://medium.com/appledeveloperacademy-ufpe/swift-how-to-use-coremotion-to-obtain-sensorial-data-20b1b73a948a
#ios
👉 @developer_mobila
👍1
Реализация прогресс бара при отправке или загрузке файлов
Не так давно столкнулся с задачей по отображению прогресс бара при отправке файла. Начал искать информацию по данной теме и понял, что ничего толкового на русском языке нет. Подумал-подумал и решил написать свою статью о способах отслеживания прогресса при загрузке и отправке файлов.
https://habr.com/ru/articles/735710/
#Android
👉 @developer_mobila
Не так давно столкнулся с задачей по отображению прогресс бара при отправке файла. Начал искать информацию по данной теме и понял, что ничего толкового на русском языке нет. Подумал-подумал и решил написать свою статью о способах отслеживания прогресса при загрузке и отправке файлов.
https://habr.com/ru/articles/735710/
#Android
👉 @developer_mobila
👍1
Инверсия зависимостей в Android - избегайте переписывания приложения
Создавая мобильные приложения, мы любим полагаться на внешние инструменты, которые упрощают нашу работу. HTPP- или GraphQL-клиенты, локальное хранилище, кэширование, камера, GPS, Bluetooth, аналитика, платежи и многие другие сложные задачи решаются с помощью системных API или популярных сторонних библиотек.
Большим преимуществом этих инструментов является то, что мы получаем готовую к использованию реализацию. Нам не нужно ее писать, не нужно ее тестировать, мы можем просто подключить ее и быть готовыми к работе. Но это большое упрощение сопровождается скрытой ценой. Цена тесной связи .
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#Android
👉 @developer_mobila
Создавая мобильные приложения, мы любим полагаться на внешние инструменты, которые упрощают нашу работу. HTPP- или GraphQL-клиенты, локальное хранилище, кэширование, камера, GPS, Bluetooth, аналитика, платежи и многие другие сложные задачи решаются с помощью системных API или популярных сторонних библиотек.
Большим преимуществом этих инструментов является то, что мы получаем готовую к использованию реализацию. Нам не нужно ее писать, не нужно ее тестировать, мы можем просто подключить ее и быть готовыми к работе. Но это большое упрощение сопровождается скрытой ценой. Цена тесной связи .
https://itnext.io/avoid-rewriting-your-app-with-dependency-inversion-dfe525075f28
#Android
👉 @developer_mobila
Пошаговая настройка Jenkins для iOS | Ultimate Guide
Несмотря на то, что вы, вероятно, сможете за пару часов создать среду, самостоятельно изучив Jenkins, и даже запустить на ней сборку iOS, существует множество мелких проблем, которые со временем усугубляются и делают такую наивную реализацию совершенно неустойчивой.
Я провел множество экспериментов и несколько недель боролся за правильность каждого шага, особенно после того, как столкнулся с рядом необъяснимых ошибок и проблем, которые возникали "изредка". Не найдя исчерпывающего руководства по "лучшим практикам Jenkins", я решил создать свое собственное, чтобы поделиться знаниями, которые пришлось извлекать из трудностей. 🥲
https://www.roger.ml/p/jenkins-ios-setup
#ios
👉 @developer_mobila
Несмотря на то, что вы, вероятно, сможете за пару часов создать среду, самостоятельно изучив Jenkins, и даже запустить на ней сборку iOS, существует множество мелких проблем, которые со временем усугубляются и делают такую наивную реализацию совершенно неустойчивой.
Я провел множество экспериментов и несколько недель боролся за правильность каждого шага, особенно после того, как столкнулся с рядом необъяснимых ошибок и проблем, которые возникали "изредка". Не найдя исчерпывающего руководства по "лучшим практикам Jenkins", я решил создать свое собственное, чтобы поделиться знаниями, которые пришлось извлекать из трудностей. 🥲
https://www.roger.ml/p/jenkins-ios-setup
#ios
👉 @developer_mobila
👍2
Подборка открытых проектов, которые заставят вас полюбить Jetpack Compose
1. klokk
Это кинетические часы. Сделаны с использованием Jetpack Compose Desktop. В документации вы можете прочитать о вдохновении проекта и посмотреть процесс разработки. Вы также можете внести свой вклад в проект.
Проект: https://github.com/theapache64/klokk
2. MovieCompose
Это демонстрационное приложение, основанное на современном технологическом стеке Android, которое в основном использует Jetpack Compose UI и Movie DB API. 100% Kotlin, Coroutines, Flow, Hilt, MVVM, паттерн репозитория и т.д. Документация хорошо написана и широко описывает технологический стек.
Проект: https://github.com/skydoves/MovieCompose
3. NewtonsTimer
Проект, подготовленный специально для AndroidDevChallenge. Это приложение Simple Timer, вдохновленное колыбелью Ньютона. В README дается хорошее объяснение мотивации проекта. Автор также проделал хорошую работу, объясняя основные моменты и давая ссылки на код. Очень вдохновляюще!
Проект: https://github.com/MaciejCiemiega/NewtonsTimer
4. Flux
Flux — это красивое погодное приложение, которое показывает, как рисовать динамические пейзажи с несколькими слоями, которые меняются в зависимости от фазы дня. Оно опирается на Jetpack Compose Canvas и поддерживает светлую/темную тему. В целом, это отличный учебный материал!
Проект: https://github.com/fidloo/flux
5. Create Compose App
Это действительно классный инструмент, создающий шаблон приложения для Android, Web, Desktop и Chrome, написанного на Jetpack Compose. Он избавляет вас от трудоемкой установки и настройки.
Созданное приложение поддерживает архитектуру MVVM, Hilt как Dependency Injection Framework, Jetpack Navigation, Logger и типографику Google Sans. В шаблоне для десктопа поддерживается архитектура MVVM со структурой, похожей на Android (SingleActivity), Dagger 2 в качестве фреймворка Dependency Injection, навигация/маршрутизация с Decompose, иконки Launcher (для всех платформ), отдельный модуль данных, модульные и UI-тесты, логирование и шрифт Google Sans. Весьма впечатляюще!
Проект: https://github.com/theapache64/create-compose-app
6. McCompose
Это приложение для McDonald’s, созданное для демонстрации использования Jetpack Compose. Из-за того, что проекту уже 2 года, для его компиляции может потребоваться небольшой рефакторинг. Тем не менее, его стоит посмотреть.
Проект: https://github.com/hitanshu-dhawan/McCompose
7. Schedule Calendar
Это демонстрационный проект, который показывает горизонтальный календарь, показывающий события в хронологическом порядке.
Это не библиотека, а скорее проект для любопытных разработчиков, на что можно посмотреть и поучиться. К сожалению, README не содержит никакой информации.
Проект: https://github.com/halilozercan/compose-schedule-calendar
8. Wiggles
Еще одно приложение, подготовленное для Android Dev Challenge. Это приложение для усыновления собаки, реализованное с помощью Android Architecture Components, Compose Navigation и Material Components.
Хотя документация не очень полная, код достаточно понятен.
Проект: https://github.com/Spikeysanju/Wiggles
9. Roffu
Проект представляет собой интернет-магазин, специализирующийся на спортивной обуви от многих известных компаний с современным пользовательским интерфейсом и красивой анимацией
Проект: https://github.com/mustfaibra/RoFFu
10. ViMusic
С помощью этого приложения с открытым исходным кодом для Android можно стримить музыку с YouTube Music.
Проект: https://github.com/vfsfitvnm/ViMusic
#Android
👉 @developer_mobila
1. klokk
Это кинетические часы. Сделаны с использованием Jetpack Compose Desktop. В документации вы можете прочитать о вдохновении проекта и посмотреть процесс разработки. Вы также можете внести свой вклад в проект.
Проект: https://github.com/theapache64/klokk
2. MovieCompose
Это демонстрационное приложение, основанное на современном технологическом стеке Android, которое в основном использует Jetpack Compose UI и Movie DB API. 100% Kotlin, Coroutines, Flow, Hilt, MVVM, паттерн репозитория и т.д. Документация хорошо написана и широко описывает технологический стек.
Проект: https://github.com/skydoves/MovieCompose
3. NewtonsTimer
Проект, подготовленный специально для AndroidDevChallenge. Это приложение Simple Timer, вдохновленное колыбелью Ньютона. В README дается хорошее объяснение мотивации проекта. Автор также проделал хорошую работу, объясняя основные моменты и давая ссылки на код. Очень вдохновляюще!
Проект: https://github.com/MaciejCiemiega/NewtonsTimer
4. Flux
Flux — это красивое погодное приложение, которое показывает, как рисовать динамические пейзажи с несколькими слоями, которые меняются в зависимости от фазы дня. Оно опирается на Jetpack Compose Canvas и поддерживает светлую/темную тему. В целом, это отличный учебный материал!
Проект: https://github.com/fidloo/flux
5. Create Compose App
Это действительно классный инструмент, создающий шаблон приложения для Android, Web, Desktop и Chrome, написанного на Jetpack Compose. Он избавляет вас от трудоемкой установки и настройки.
Созданное приложение поддерживает архитектуру MVVM, Hilt как Dependency Injection Framework, Jetpack Navigation, Logger и типографику Google Sans. В шаблоне для десктопа поддерживается архитектура MVVM со структурой, похожей на Android (SingleActivity), Dagger 2 в качестве фреймворка Dependency Injection, навигация/маршрутизация с Decompose, иконки Launcher (для всех платформ), отдельный модуль данных, модульные и UI-тесты, логирование и шрифт Google Sans. Весьма впечатляюще!
Проект: https://github.com/theapache64/create-compose-app
6. McCompose
Это приложение для McDonald’s, созданное для демонстрации использования Jetpack Compose. Из-за того, что проекту уже 2 года, для его компиляции может потребоваться небольшой рефакторинг. Тем не менее, его стоит посмотреть.
Проект: https://github.com/hitanshu-dhawan/McCompose
7. Schedule Calendar
Это демонстрационный проект, который показывает горизонтальный календарь, показывающий события в хронологическом порядке.
Это не библиотека, а скорее проект для любопытных разработчиков, на что можно посмотреть и поучиться. К сожалению, README не содержит никакой информации.
Проект: https://github.com/halilozercan/compose-schedule-calendar
8. Wiggles
Еще одно приложение, подготовленное для Android Dev Challenge. Это приложение для усыновления собаки, реализованное с помощью Android Architecture Components, Compose Navigation и Material Components.
Хотя документация не очень полная, код достаточно понятен.
Проект: https://github.com/Spikeysanju/Wiggles
9. Roffu
Проект представляет собой интернет-магазин, специализирующийся на спортивной обуви от многих известных компаний с современным пользовательским интерфейсом и красивой анимацией
Проект: https://github.com/mustfaibra/RoFFu
10. ViMusic
С помощью этого приложения с открытым исходным кодом для Android можно стримить музыку с YouTube Music.
Проект: https://github.com/vfsfitvnm/ViMusic
#Android
👉 @developer_mobila
👍2🔥1
Downloading fonts on iOS
Оказывается, помимо шрифтов, поставляемых вместе с платформами Apple, можно загружать множество шрифтов во время выполнения программы. Есть список, который Apple сделала доступным, его можно найти здесь https://developer.apple.com/fonts/system-fonts/.
Как же загрузить эти шрифты? Это не так тривиально, как могло бы быть. Приходится окунаться в CoreText. Но никто не жалуется, это прекрасный C API, который работает на всех платформах Apple, и вы даже можете легко смешивать его с другими кроссплатформенными проектами.
https://whackylabs.com/ios/fonts/2023/05/15/download-fonts-ios/
#ios
👉 @developer_mobila
Оказывается, помимо шрифтов, поставляемых вместе с платформами Apple, можно загружать множество шрифтов во время выполнения программы. Есть список, который Apple сделала доступным, его можно найти здесь https://developer.apple.com/fonts/system-fonts/.
Как же загрузить эти шрифты? Это не так тривиально, как могло бы быть. Приходится окунаться в CoreText. Но никто не жалуется, это прекрасный C API, который работает на всех платформах Apple, и вы даже можете легко смешивать его с другими кроссплатформенными проектами.
https://whackylabs.com/ios/fonts/2023/05/15/download-fonts-ios/
#ios
👉 @developer_mobila
Apple
System Fonts - Fonts - Apple Developer
Apple platforms come with many preinstalled fonts that can be used by your app’s user interface. Additional fonts are available for download on each platform or through document-based apps.
👍1
🚀 Зачем нужны ViewModels
В сегодняшнем уроке мы расскажем все, что вам нужно знать о ViewModels в Jetpack Compose. Что это такое, зачем они нужны и почему не нужны. ViewModels популярны в мире Android. А что если вы хотите использовать их не только в Android? Какие есть альтернативы?
https://www.composables.com/tutorials/viewmodels-in-jetpack-compose
#Android
👉 @developer_mobila
В сегодняшнем уроке мы расскажем все, что вам нужно знать о ViewModels в Jetpack Compose. Что это такое, зачем они нужны и почему не нужны. ViewModels популярны в мире Android. А что если вы хотите использовать их не только в Android? Какие есть альтернативы?
https://www.composables.com/tutorials/viewmodels-in-jetpack-compose
#Android
👉 @developer_mobila
👍3
Mock Generator Development With Using Mockolo Library
https://medium.com/trendyol-tech/mock-generator-development-with-using-mockolo-library-c8c273f77d1b
#ios
👉 @developer_mobila
https://medium.com/trendyol-tech/mock-generator-development-with-using-mockolo-library-c8c273f77d1b
#ios
👉 @developer_mobila
👍1