🍏 Apple делает Swift Build в open source
Компания открыла исходный код Swift Build — движка сборки, который используется в Xcode и поддерживает миллионы приложений на iOS, macOS. Теперь он доступен для всех и поддерживает Linux и Windows.
Apple уже начала интеграцию Swift Build в Swift Package Manager. В будущем обещают новые фичи, оптимизацию производительности и кроссплатформенные инструменты.
👉 Подробнее в статье
#новость #ios
Компания открыла исходный код Swift Build — движка сборки, который используется в Xcode и поддерживает миллионы приложений на iOS, macOS. Теперь он доступен для всех и поддерживает Linux и Windows.
Apple уже начала интеграцию Swift Build в Swift Package Manager. В будущем обещают новые фичи, оптимизацию производительности и кроссплатформенные инструменты.
👉 Подробнее в статье
#новость #ios
❤5
💻 Плагины: автоматизация разработки в продуктах JetBrains
Плагины для продуктов JetBrains, включая Android Studio, позволяют расширять функциональность IDE, улучшая процесс написания, отладки и тестирования кода. Они помогают автоматизировать рутинные задачи, интегрировать сторонние инструменты и адаптировать среду под индивидуальные потребности разработчика.
В этой статье мы рассмотрим, как плагины упрощают работу в Android Studio, ускоряют разработку и делают процесс кодинга более продуктивным.
👉 Читать статью
#новость #android
Плагины для продуктов JetBrains, включая Android Studio, позволяют расширять функциональность IDE, улучшая процесс написания, отладки и тестирования кода. Они помогают автоматизировать рутинные задачи, интегрировать сторонние инструменты и адаптировать среду под индивидуальные потребности разработчика.
В этой статье мы рассмотрим, как плагины упрощают работу в Android Studio, ускоряют разработку и делают процесс кодинга более продуктивным.
👉 Читать статью
#новость #android
❤3🌚1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Сравнение кода от DeepSeek и ChatGPT
🔹 Как Яндекс адаптировали проект к Strict Concurrency Checking — Swift 6
🔹 Как Android управляет маленькой памятью: Kswapd и LMK
🔹 Удаленная локализация в приложениях Jetpack Compose
🔹 Нюансы разработки PWA для Банка Санкт-Петербург от первого лица
#дайджест
🔹 Сравнение кода от DeepSeek и ChatGPT
🔹 Как Яндекс адаптировали проект к Strict Concurrency Checking — Swift 6
🔹 Как Android управляет маленькой памятью: Kswapd и LMK
🔹 Удаленная локализация в приложениях Jetpack Compose
🔹 Нюансы разработки PWA для Банка Санкт-Петербург от первого лица
#дайджест
❤1
👨💻 Корутины Kotlin в продакшене: уроки и подводные камни
Запустив в прод корутины, можно столкнуться с многочисленными проблемами, которые не сразу очевидны из документации. Несмотря на то, что в теории корутины элегантны, их практическая реализация сопряжена с несколькими нюансами, которые могут привести к серьезным проблемам.
В этой статье автор рассматривает основные проблемы, с которыми можно столкнуться при работе с корутинами, а также нюансы, способные привести к серьезным ошибкам.
👉 Читать статью
#новость #android #kotlin
Запустив в прод корутины, можно столкнуться с многочисленными проблемами, которые не сразу очевидны из документации. Несмотря на то, что в теории корутины элегантны, их практическая реализация сопряжена с несколькими нюансами, которые могут привести к серьезным проблемам.
В этой статье автор рассматривает основные проблемы, с которыми можно столкнуться при работе с корутинами, а также нюансы, способные привести к серьезным ошибкам.
👉 Читать статью
#новость #android #kotlin
😢5❤3👏1🎉1
🍏 Что делает init() в Swift
Метод
Инициализация означает подготовку экземпляра (класса, структуры или перечисления) к использованию.
В процессе инициализации вы устанавливаете начальные значения для каждого свойства экземпляра. Вы также можете выполнить некоторые другие подготовительные действия, прежде чем экземпляр будет готов к использованию.
#swift
Метод
init()
используется для инициализации экземпляра.Инициализация означает подготовку экземпляра (класса, структуры или перечисления) к использованию.
В процессе инициализации вы устанавливаете начальные значения для каждого свойства экземпляра. Вы также можете выполнить некоторые другие подготовительные действия, прежде чем экземпляр будет готов к использованию.
#swift
🥰6🥱5😁2
📃 Sheet с автоматическим подсчётом высоты и поддержкой iOS 15
В этой статье автор рассказывает о том, как создать нативный
Основная задача заключалась в реализации решения с минимальным количеством костылей и поддержкой iOS 15. Готовых решений с аналогичной функциональностью не нашлось, поэтому автор разработал собственное решение.
👉 Читать статью
#новость #ios #swift
В этой статье автор рассказывает о том, как создать нативный
Sheet
, который автоматически подсчитывает свою высоту в зависимости от контента (SwiftUI View
).Основная задача заключалась в реализации решения с минимальным количеством костылей и поддержкой iOS 15. Готовых решений с аналогичной функциональностью не нашлось, поэтому автор разработал собственное решение.
👉 Читать статью
#новость #ios #swift
❤1
👾 Backup в Android
Резервное копирование — малоизвестная и плохо задокументированная возможность Android. В VK ID решили провести с ней эксперимент и бэкапить некоторые авторизационные данные. Теперь это экономит им значительные суммы на SMS. Это реальный продуктовый кейс, который может помочь бизнесу.
В докладе автор погружается в эту технологию:
• как имплементировать;
• как работает под капотом;
• как тестировать;
• как обосновать бизнесу внедрение.
👀 Смотреть доклад
#новоть #android
Резервное копирование — малоизвестная и плохо задокументированная возможность Android. В VK ID решили провести с ней эксперимент и бэкапить некоторые авторизационные данные. Теперь это экономит им значительные суммы на SMS. Это реальный продуктовый кейс, который может помочь бизнесу.
В докладе автор погружается в эту технологию:
• как имплементировать;
• как работает под капотом;
• как тестировать;
• как обосновать бизнесу внедрение.
👀 Смотреть доклад
#новоть #android
👍2🤩1
📁 Как создать плагин для IntelliJ IDEA
Автор статьи столкнулся с бойлерплейтом композиции фич в своих проектах, поэтому решил написать универсальный плагин для создания файловой структуры фич в проекте.
В статье рассказывается и показывается, как сделать базовый плагин для создания файловых структур и собрать его для локального использования или публикации.
👉 Читать статью
#новость #kotlin #flutter
Автор статьи столкнулся с бойлерплейтом композиции фич в своих проектах, поэтому решил написать универсальный плагин для создания файловой структуры фич в проекте.
В статье рассказывается и показывается, как сделать базовый плагин для создания файловых структур и собрать его для локального использования или публикации.
👉 Читать статью
#новость #kotlin #flutter
❤1
Привет, Мобильные разработчики! 👋
Мы готовим новые вебинары и хотим сделать их максимально полезными для вас. Это поможет нам не только создавать актуальный контент, но и развивать проект, находя новые точки контактов для вас.
Ваши ответы дадут нам понимание, какие темы и форматы действительно важны, а также помогут сделать вебинары интереснее и продуктивнее.
Заполнение займет всего пару минут, а нам это очень поможет! Спасибо, что участвуете в нашем развитии! 💙
👉 Пройти опрос
Мы готовим новые вебинары и хотим сделать их максимально полезными для вас. Это поможет нам не только создавать актуальный контент, но и развивать проект, находя новые точки контактов для вас.
Ваши ответы дадут нам понимание, какие темы и форматы действительно важны, а также помогут сделать вебинары интереснее и продуктивнее.
Заполнение займет всего пару минут, а нам это очень поможет! Спасибо, что участвуете в нашем развитии! 💙
👉 Пройти опрос
❤3👍1🔥1👾1
👾 Создание плагинов с помощью Kotlin Multiplatform
Хоть Flutter и предоставляет полноценный фреймворк для создания кроссплатформенных приложений, интеграция нативного функционала иногда может быть весьма обременительной. Именно здесь на помощь приходит Kotlin Multiplatform (KMP).
KMP — это не просто инструмент, который конкурирует с Flutter, скорее, он предлагает мощный способ рационализировать разработку плагинов, позволяя разработчикам экономить время, беречь силы и писать эффективный, легко сопровождаемый код.
В этой статье автор делится опытом использования KMP для создания библиотеки общих настроек (Shared Preferences) для Flutter под названием SharedPrefsKMP. Эта библиотека упрощает управление общими настройками в Android и iOS, демонстрируя, как KMP может улучшить процесс разработки на Flutter.
👉 Читать статью
#новость #kotlin
Хоть Flutter и предоставляет полноценный фреймворк для создания кроссплатформенных приложений, интеграция нативного функционала иногда может быть весьма обременительной. Именно здесь на помощь приходит Kotlin Multiplatform (KMP).
KMP — это не просто инструмент, который конкурирует с Flutter, скорее, он предлагает мощный способ рационализировать разработку плагинов, позволяя разработчикам экономить время, беречь силы и писать эффективный, легко сопровождаемый код.
В этой статье автор делится опытом использования KMP для создания библиотеки общих настроек (Shared Preferences) для Flutter под названием SharedPrefsKMP. Эта библиотека упрощает управление общими настройками в Android и iOS, демонстрируя, как KMP может улучшить процесс разработки на Flutter.
👉 Читать статью
#новость #kotlin
😁5❤1
📱 qBitControl — удаленный клиент для qBittorrent
qBitControl — удаленный клиент для qBittorrent. С его помощью вы можете добавлять торренты через .torrent-файлы или magnet-ссылки, следить за ходом загрузки, управлять торрентами — делать паузу/возобновление, просматривать и управлять торрент-файлами, получать статистику в реальном времени.
⚙️ qBitControl на GitHub
#новость
qBitControl — удаленный клиент для qBittorrent. С его помощью вы можете добавлять торренты через .torrent-файлы или magnet-ссылки, следить за ходом загрузки, управлять торрентами — делать паузу/возобновление, просматривать и управлять торрент-файлами, получать статистику в реальном времени.
⚙️ qBitControl на GitHub
#новость
❤3
🍏 Что нас ждёт в Swift 6
Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency. В Swift 5 такие проверки включались при помощи флага
В этой статье автор разбирается с основными изменениями в каждом пропозале и делится своими заметками, тем, что показалось самым важным или интересным.
👉 Читать статью
#новость #ios #swift
Как вы знаете, прошлой осенью зарелизился Swift 6, а вместе c ним появились и строгие проверки для защиты от датарейсов, связанные со Swift Concurrency. В Swift 5 такие проверки включались при помощи флага
-strict-concurrency=complete
, но, по заявлениям разработчиков Swift, были слишком консервативными.В этой статье автор разбирается с основными изменениями в каждом пропозале и делится своими заметками, тем, что показалось самым важным или интересным.
👉 Читать статью
#новость #ios #swift
🥰5
👾 Как работает модификатор crossinline?
crossinline — ключевое слово, которое используется для указания, что лямбда-выражение не может содержать нелокальных
Когда мы передаем лямбда-выражение в функцию в качестве параметра, мы можем использовать оператор
#kotlin
crossinline — ключевое слово, которое используется для указания, что лямбда-выражение не может содержать нелокальных
return
, даже если оно передано в inline-функцию.Когда мы передаем лямбда-выражение в функцию в качестве параметра, мы можем использовать оператор
return
внутри лямбды, чтобы выйти из цикла или функции, в которой вызывается лямбда. Однако, если мы передаем лямбда-выражение в inline-функцию, код лямбда-выражения может быть вставлен прямо в место вызова функции. В этом случае, если в лямбде используется оператор return
, это может привести к выходу из внешней функции, что не всегда желательно.#kotlin
❤3
🔄 Безопасное обновление состояния в ViewModel
Это краткая заметка о подходе, который автор выработал для себя, чтобы обновлять состояние экрана при использовании MVI-like паттерна в ViewModel.
Следует отметить, что классический «полноценный» MVI подразумевает использование редьюсеров, которые решают часть проблем, описанных в этой заметке. Тем не менее этот подход может приводить к написанию значительного количества бойлерплейтного кода.
👉 Читать статью
#новость #android #kotlin
Это краткая заметка о подходе, который автор выработал для себя, чтобы обновлять состояние экрана при использовании MVI-like паттерна в ViewModel.
Следует отметить, что классический «полноценный» MVI подразумевает использование редьюсеров, которые решают часть проблем, описанных в этой заметке. Тем не менее этот подход может приводить к написанию значительного количества бойлерплейтного кода.
👉 Читать статью
#новость #android #kotlin
🤩3
🗺️ Рисуем карты с помощью Swift Charts
Swift Charts — это мощный фреймворк, позволяющий визуализировать данные различными способами. Оказывается, с его помощью можно рисовать карты.
В статье рассказывается, как рисовать карты с помощью Swift Charts. Конечный результат не идеален, но автор обнаружил много интересных и неочевидных моментов, которые могут быть полезны в будущем.
👉 Читать статью
#новость #ios #swift
Swift Charts — это мощный фреймворк, позволяющий визуализировать данные различными способами. Оказывается, с его помощью можно рисовать карты.
В статье рассказывается, как рисовать карты с помощью Swift Charts. Конечный результат не идеален, но автор обнаружил много интересных и неочевидных моментов, которые могут быть полезны в будущем.
👉 Читать статью
#новость #ios #swift
🥰3❤2👍1
👾 Развитие Android глазами разработчика
Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее.
Автор предлагает оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.
👉 Читать статью
#новость #android
Довольно много времени прошло с 2007 года, когда Android стал доступен для разработчиков. С тех пор прошло почти 18 лет. За это время изменилось примерно все: железо стало мощнее, интернет быстрее, IDE умнее, а проекты сложнее.
Автор предлагает оглянуться назад и посмотреть, что же именно изменилось с тех пор для разработчиков.
👉 Читать статью
#новость #android
👍2❤1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Что Swift Build означает для экосистемы Swift
🔹 8 советов по производительности Swift, которые я узнал после многих лет программирования
🔹 Рисуем график сна в Compose
🔹 Реактивный велосипед для SDK
🔹 Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией
#дайджест
🔹 Что Swift Build означает для экосистемы Swift
🔹 8 советов по производительности Swift, которые я узнал после многих лет программирования
🔹 Рисуем график сна в Compose
🔹 Реактивный велосипед для SDK
🔹 Пока Apple саботирует развитие PWA, мы сделали демо с контактами, пуш-уведомлениями и биометрией
#дайджест
🤩3
📊 Как себя чувствует IT-рынок в 2025 году?
Мобильные разработчики, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
Мобильные разработчики, запускаем важное исследование рынка труда в IT!
Нам очень важно понять:
• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост
🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье
Ваши ответы помогут составить реальную картину происходящего в индустрии.
👉 Пройти опрос
🔥3
🌐 Такие разные Slivers: работа с пространством
Двигаемся дальше в изучении сливеров, в прошлых статьях автор познакомил со сливерами-списками, посмотрели на их базовые классы и делегаты.
В этой статье автор рассматривает сливеры, которые помогают управлять отступами, позиционированием и распределением пространства. Эти виджеты обеспечивают гибкость при настройке компоновки и позволяют создавать более точные и адаптивные интерфейсы.
👉 Читать статью
#новость #flutter
Двигаемся дальше в изучении сливеров, в прошлых статьях автор познакомил со сливерами-списками, посмотрели на их базовые классы и делегаты.
В этой статье автор рассматривает сливеры, которые помогают управлять отступами, позиционированием и распределением пространства. Эти виджеты обеспечивают гибкость при настройке компоновки и позволяют создавать более точные и адаптивные интерфейсы.
👉 Читать статью
#новость #flutter
🤩2👍1