tgoop.com »
United States »
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck » Telegram Web
📱 Запускаем приложения на своём iOS-симуляторе
Создание симулятора iOS для запуска приложений на macOS открывает новые горизонты в мобильной разработке.
В докладе рассматриваются внутренние аспекты iOS-приложений, включая формат Mach-O, динамическая подгрузка библиотек в рантайме и выделение памяти под выполняемый код. Автор также расскажет как запускать приложения, собранные через Xcode для iOS, внутри macOS.
👀 Смотреть доклад
#новость #ios
Создание симулятора iOS для запуска приложений на macOS открывает новые горизонты в мобильной разработке.
В докладе рассматриваются внутренние аспекты iOS-приложений, включая формат Mach-O, динамическая подгрузка библиотек в рантайме и выделение памяти под выполняемый код. Автор также расскажет как запускать приложения, собранные через Xcode для iOS, внутри macOS.
👀 Смотреть доклад
#новость #ios
👨💻 Топ-5 популярных вопросов на Android собеседовании [2025]
Cобеседования в IT — это всегда вызов и Android тут, конечно же, не исключение. Для успешного прохождения интервью в крупные и востребованные компании современный Android-разработик должен держать в голове огромное количетсво областей.
К счастью, многие вопросы пересекаются между компаниями, так что наработав некоторую «базу» из них вы сильно повысите свои шансы на положительный результат и заветный оффер.
В статье автор разберет топ-5 вопросов, с которыми можно столкнуться в крупных компаниях на российском рынке.
👉 Читать статью
#дайджест
Cобеседования в IT — это всегда вызов и Android тут, конечно же, не исключение. Для успешного прохождения интервью в крупные и востребованные компании современный Android-разработик должен держать в голове огромное количетсво областей.
К счастью, многие вопросы пересекаются между компаниями, так что наработав некоторую «базу» из них вы сильно повысите свои шансы на положительный результат и заветный оффер.
В статье автор разберет топ-5 вопросов, с которыми можно столкнуться в крупных компаниях на российском рынке.
👉 Читать статью
#дайджест
⚙️ Управление настройками с помощью Jetpack DataStore: простой подход к сохранению данных разных типов
При разработке Android-приложений часто возникает необходимость сохранять пользовательские настройки, такие как выбор темы, язык или другие данные пользователя. Jetpack DataStore — это современное решение для хранения таких данных, которое заменяет устаревший SharedPreferences.
В статье автор рассмотрит, как использовать DataStore для хранения различных типов данных (Boolean, Integer, Float и String) и как интегрировать его с архитектурой MVVM, используя StateFlow для обновления UI.
👉 Читать статью
#новость #android #kotlin
При разработке Android-приложений часто возникает необходимость сохранять пользовательские настройки, такие как выбор темы, язык или другие данные пользователя. Jetpack DataStore — это современное решение для хранения таких данных, которое заменяет устаревший SharedPreferences.
В статье автор рассмотрит, как использовать DataStore для хранения различных типов данных (Boolean, Integer, Float и String) и как интегрировать его с архитектурой MVVM, используя StateFlow для обновления UI.
👉 Читать статью
#новость #android #kotlin
🤝 Дружим RabbitMQ и Flutter/Dart
Автор статьи поделиться опытом работы с брокером сообщений RabbitMQ из Dart-кода.
Будут разобраны такие вопросы:
• Как установить и запустить контейнер с RabbitMQ
• Как настроить RabbitMQ.
• Как создать Producer (отправителя) на Flutter.
• Как создать Consumer (потребителя) на Flutter.
👉 Читать статью
#новость #flutter
Автор статьи поделиться опытом работы с брокером сообщений RabbitMQ из Dart-кода.
Будут разобраны такие вопросы:
• Как установить и запустить контейнер с RabbitMQ
• Как настроить RabbitMQ.
• Как создать Producer (отправителя) на Flutter.
• Как создать Consumer (потребителя) на Flutter.
👉 Читать статью
#новость #flutter
👾 Кодогенерация: кому нужна и как настроить
Кодогенерация — замечательный инструмент, но его нужно использовать обдуманно. Злоупотребление кодогенерацией может ограничить возможности кастомизации, однако это, в свою очередь, заставляет команды работать эффективнее.
В этой статье автор расскажет о кодогенерации в мобильной разработке: кто действительно нуждается в ней, как она применяется на практике и какую ценность можно извлечь из этого процесса.
👉 Читать статью
#новость
Кодогенерация — замечательный инструмент, но его нужно использовать обдуманно. Злоупотребление кодогенерацией может ограничить возможности кастомизации, однако это, в свою очередь, заставляет команды работать эффективнее.
В этой статье автор расскажет о кодогенерации в мобильной разработке: кто действительно нуждается в ней, как она применяется на практике и какую ценность можно извлечь из этого процесса.
👉 Читать статью
#новость
👾 Свойства, методы get и set
Свойства класса — это переменные, которые хранят состояние объекта класса. Как и любая переменная, свойство может иметь тип, имя и значение.
В классе можно объявить свойства с помощью ключевого слова
При создании своего класса мы хотим сами управлять его свойствами, контролируя то, какие данные могут быть предоставлены или перезаписаны. С этой целью создаются get и set методы (геттеры и сеттеры). Цель get-метода — вернуть значение, а set-метода — записать полученное значение в свойство класса.
В данном примере свойство
Если get и set методы не были созданы вручную, то для таких свойств Kotlin незаметно сам их генерирует. При этом для свойства, объявленного с
#kotlin
Свойства класса — это переменные, которые хранят состояние объекта класса. Как и любая переменная, свойство может иметь тип, имя и значение.
В классе можно объявить свойства с помощью ключевого слова
var
или val
. Свойства, объявленные с var
, могут быть изменены после их инициализации, а свойства, объявленные с val
, только для чтения.class Person {
var name: String = «»
val age: Int = 0
}
При создании своего класса мы хотим сами управлять его свойствами, контролируя то, какие данные могут быть предоставлены или перезаписаны. С этой целью создаются get и set методы (геттеры и сеттеры). Цель get-метода — вернуть значение, а set-метода — записать полученное значение в свойство класса.
var name: String = «»
get() = field.toUpperCase()set(value) {
field = «Name: $value»
}
В данном примере свойство
name
имеет тип String
и начальное значение пустой строки. Геттер возвращает значение свойства, преобразованное к верхнему регистру. Сеттер устанавливает значение свойства с добавлением префикса «Name: "
перед переданным значением. Слово field
используется для обращения к текущему значению свойства.Если get и set методы не были созданы вручную, то для таких свойств Kotlin незаметно сам их генерирует. При этом для свойства, объявленного с
val
, генерируется get-метод, а для свойства, объявленного с var
— и get, и set методы.#kotlin
⚙️ Корутины в Kotlin: как сделать «Optimised Out» переменные видимыми
Отладка корутинов в Kotlin иногда может напоминать распутывание паутины невидимых нитей — в буквальном смысле. Одна из распространенных ошибок, с которой сталкиваются разработчики — появление страшного сообщения «optimised out» при проверке переменных в приостановленной корутине.
В этой статье автор расскажет, как динамически включать удобные для отладки настройки с помощью свойства
👉 Читать статью
#новость #android #kotlin
Отладка корутинов в Kotlin иногда может напоминать распутывание паутины невидимых нитей — в буквальном смысле. Одна из распространенных ошибок, с которой сталкиваются разработчики — появление страшного сообщения «optimised out» при проверке переменных в приостановленной корутине.
В этой статье автор расскажет, как динамически включать удобные для отладки настройки с помощью свойства
idea.active
, что позволит вам проверять переменные корутин в IntelliJ IDEA и Android Studio без ущерба для производительности.👉 Читать статью
#новость #android #kotlin
🔧 Строим архитектуру для SwiftUI
SwiftUI фундаментально отличается от UIKit, поэтому он требует своего подхода к архитектуре. Известные паттерны, такие как MVP, MVVM и другие, в чистом виде не адаптированы под особенности SwiftUI.
В статье автор рассказывает о создании собственной архитектуры для разработки на SwiftUI.
👉 Читать статью
#новость #ios #swift
SwiftUI фундаментально отличается от UIKit, поэтому он требует своего подхода к архитектуре. Известные паттерны, такие как MVP, MVVM и другие, в чистом виде не адаптированы под особенности SwiftUI.
В статье автор рассказывает о создании собственной архитектуры для разработки на SwiftUI.
👉 Читать статью
#новость #ios #swift
👨💻 Blueprint — декларативный UI-конструктор
Blueprint предоставляет архитектуру, которая позволяет декларативно определять иерархию пользовательского интерфейса с помощью значений (структур и перечислений Swift), отображать эту иерархию в приложении, обновлять её при изменении состояния приложения (включая анимированные переходы).
Blueprint появился раньше SwiftUI и работает немного по-другому. Вы можете разместить BlueprintView в SwiftUI, чтобы встроить Blueprint в SwiftUI, а также использовать предоставленный ElementView для создания предварительных просмотров Blueprint в Xcode.
⚙️ Blueprint на GitHub
#новость #ios
Blueprint предоставляет архитектуру, которая позволяет декларативно определять иерархию пользовательского интерфейса с помощью значений (структур и перечислений Swift), отображать эту иерархию в приложении, обновлять её при изменении состояния приложения (включая анимированные переходы).
Blueprint появился раньше SwiftUI и работает немного по-другому. Вы можете разместить BlueprintView в SwiftUI, чтобы встроить Blueprint в SwiftUI, а также использовать предоставленный ElementView для создания предварительных просмотров Blueprint в Xcode.
⚙️ Blueprint на GitHub
#новость #ios
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
Представьте, вы попали на собеседование мечты. Всё идёт гладко, но пара неудачных фраз могут свести на нет все ваши старания. Например, если вы слишком скромны или, наоборот, перегибаете с самоуверенностью, это может вызвать недоверие. Или фраза, которая должна показать вашу гибкость, внезапно делает акцент на недостатке опыта. Знакомо?
Есть проверенные подходы, которые помогут избежать таких ситуаций, выстроить грамотное общение и оставить положительное впечатление. Готовы узнать больше? 🌟
Please open Telegram to view this post
VIEW IN TELEGRAM
✍️ Открытая редакция: ищем авторов для рубрики DevLife
Друзья, нас часто спрашивают про публикацию материалов о личном опыте и знаниях в IT. Пора это систематизировать!
Пишите нам, если у вас есть история о том, как вы:
• выросли в профессии
• освоили новые технологии
• сделали крутой карьерный скачок
• эпично лажанулись
• создали интересные проекты
Требования к статье простые:
• Реальный опыт
• Конкретные шаги
• От 5000 знаков
• Ссылка на Google Docs
Лучшие истории опубликуем на сайте и в наших соцсетях с общим охватом 1 млн+ человек.
⚡ ️Присылайте свои статьи на почту [email protected] с темой «DevLife»
Друзья, нас часто спрашивают про публикацию материалов о личном опыте и знаниях в IT. Пора это систематизировать!
Пишите нам, если у вас есть история о том, как вы:
• выросли в профессии
• освоили новые технологии
• сделали крутой карьерный скачок
• эпично лажанулись
• создали интересные проекты
Требования к статье простые:
• Реальный опыт
• Конкретные шаги
• От 5000 знаков
• Ссылка на Google Docs
Лучшие истории опубликуем на сайте и в наших соцсетях с общим охватом 1 млн+ человек.
⚡ ️Присылайте свои статьи на почту [email protected] с темой «DevLife»
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
🚙 Переезжаем с фрагментов на (De)compose
В процессе перевода проекта на Jetpack Compose рано или поздно появляются вопросы: зачем нужны фрагменты, активити и вьюмодели, ведь можно реализовать навигацию прямо между Composable-функциями.
В приложении Мой Beeline разработчики двигаются в сторону компонентного подхода с помощью Decompose, так как он показался им самым надёжным и стройным в своей красоте.
Своим докладом автор хочет показать, что жизнь за пределами стека Google существует. А также поделиться опытом, учитывая количество существующего кода, модульность проекта и стремление остаться в балансе с простотой решения.
👀 Смотреть доклад
#новость #android
В процессе перевода проекта на Jetpack Compose рано или поздно появляются вопросы: зачем нужны фрагменты, активити и вьюмодели, ведь можно реализовать навигацию прямо между Composable-функциями.
В приложении Мой Beeline разработчики двигаются в сторону компонентного подхода с помощью Decompose, так как он показался им самым надёжным и стройным в своей красоте.
Своим докладом автор хочет показать, что жизнь за пределами стека Google существует. А также поделиться опытом, учитывая количество существующего кода, модульность проекта и стремление остаться в балансе с простотой решения.
👀 Смотреть доклад
#новость #android
🍏 typealias в Swift
Вы можете создать его следующим образом:
Теперь вы можете использовать
#swift
Typealias
, как следует из названия, является псевдонимом для существующего типа данных.Вы можете создать его следующим образом:
typealias Weight = Float
Теперь вы можете использовать
Weight
вместо Float
:let mass1: Weight = 150.0
let mass2: Weight = 220.0
let total: Weight = mass1 + mass2
#swift
📦 MMKV — эффективное key-valu хранилище от Tencent
MMKV — это эффективный, небольшой и простой в использовании мобильный фреймворк для хранения ключевых значений (key-value), используемый Tencent в приложении WeChat. В настоящее время он доступен для Android, iOS/macOS, Windows, POSIX и HarmonyOS NEXT.
Фичи:
🔹 эффективность — MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности;
🔹 многопроцессный параллелизм — MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи;
🔹 простота — можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно;
🔹 небольшой — 50K в бинарнике.
⚙️ MMKV на GitHub
#новость #android
MMKV — это эффективный, небольшой и простой в использовании мобильный фреймворк для хранения ключевых значений (key-value), используемый Tencent в приложении WeChat. В настоящее время он доступен для Android, iOS/macOS, Windows, POSIX и HarmonyOS NEXT.
Фичи:
🔹 эффективность — MMKV использует mmap для синхронизации памяти с файлами и protobuf для кодирования/декодирования значений, максимально используя возможности Android для достижения наилучшей производительности;
🔹 многопроцессный параллелизм — MMKV поддерживает одновременный доступ процессов к чтению-чтению и чтению-записи;
🔹 простота — можно использовать MMKV по мере необходимости, все изменения сохраняются немедленно;
🔹 небольшой — 50K в бинарнике.
⚙️ MMKV на GitHub
#новость #android
📱 YPay & YPay Inventory для Flutter — приложений
В этой статье автор делится опытом работы над YPay и YPay inventory для Flutter, рассказывает про возможности библиотек и как их использовать, а также о проблемах, с которыми столкнулся. В полезных ссылках указано всё необходимое для желающих подробнее узнать о Яндекс Пэй.
Может, после прочтения появится желание интегрировать библиотеки в своё мобильное приложение 📚
👉 Читать статью
#новость #flutter
В этой статье автор делится опытом работы над YPay и YPay inventory для Flutter, рассказывает про возможности библиотек и как их использовать, а также о проблемах, с которыми столкнулся. В полезных ссылках указано всё необходимое для желающих подробнее узнать о Яндекс Пэй.
Может, после прочтения появится желание интегрировать библиотеки в своё мобильное приложение 📚
👉 Читать статью
#новость #flutter
🌵🕵️♂ Git-квест: 10 испытаний для повелителя репозиториев
От простого push до таинственного cherry-pick — пройдите все уровни нашего Git-квеста и докажите, что достойны звания Git-мастера.
✅ Пройти тест
От простого push до таинственного cherry-pick — пройдите все уровни нашего Git-квеста и докажите, что достойны звания Git-мастера.
✅ Пройти тест
📝 Вызов защищённого API из iOS-приложения на Swift
Как Swift‑разработчику, в какой‑то момент вам, скорее всего, понадобится добавить в своё приложение аутентификацию пользователей или, как её ещё называют, логин и логаут.
В этой статье автор показывает, как настроить Auth0 для получения токена доступа OAuth 2.0, который позволит вам безопасно, надёжно и от имени пользователя вызывать защищённый API из вашего приложения.
👉 Читать статью
#новость #ios #swift
Как Swift‑разработчику, в какой‑то момент вам, скорее всего, понадобится добавить в своё приложение аутентификацию пользователей или, как её ещё называют, логин и логаут.
В этой статье автор показывает, как настроить Auth0 для получения токена доступа OAuth 2.0, который позволит вам безопасно, надёжно и от имени пользователя вызывать защищённый API из вашего приложения.
👉 Читать статью
#новость #ios #swift
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Костыли, костыли и ещё раз костыли. Или поддержка ios15 на SwiftUI
🔹 SwiftUI: алхимия приложений — превращаем идеи в реальность
🔹 Go в GUI, я создал
🔹 Как устроена разработка в Яндекс.Клавиатуре
🔹 CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
#дайджест
🔹 Костыли, костыли и ещё раз костыли. Или поддержка ios15 на SwiftUI
🔹 SwiftUI: алхимия приложений — превращаем идеи в реальность
🔹 Go в GUI, я создал
🔹 Как устроена разработка в Яндекс.Клавиатуре
🔹 CodeStyle на Flutter-проектах: базовые принципы и правила — шаблон на все случаи жизни
#дайджест
👾 Kotlinx.serialization и работа с JSON
Наверное, все мы хотя бы раз сталкивались с задачей сериализации данных, будь то обмен данными с сервером, сохранение состояния объекта в файл или передача данных между различными приложениями. В Kotlin для этих целей удобно использовать библиотеку Kotlinx.serialization, которая позволяет работать с данными, сериализуя и десериализуя их в различные форматы, такие как JSON, CBOR, и Protocol Buffers.
В статье автор рассказывает, как настроить и использовать kotlinx.serialization в своём проекте, а также показывает примеры эффективной работы с JSON.
👉 Читать статью
#новость #kotlin #android
Наверное, все мы хотя бы раз сталкивались с задачей сериализации данных, будь то обмен данными с сервером, сохранение состояния объекта в файл или передача данных между различными приложениями. В Kotlin для этих целей удобно использовать библиотеку Kotlinx.serialization, которая позволяет работать с данными, сериализуя и десериализуя их в различные форматы, такие как JSON, CBOR, и Protocol Buffers.
В статье автор рассказывает, как настроить и использовать kotlinx.serialization в своём проекте, а также показывает примеры эффективной работы с JSON.
👉 Читать статью
#новость #kotlin #android