Как iOS-приложение Tinder сократило размер локализаций на 95%
В целом эти усилия привели к уменьшению размера загружаемого файла на 10,7 МБ и уменьшению размера устанавливаемого приложения на 51,3 МБ без какого-либо ущерба для разработчиков или конечных пользователей.
Статья: https://apptractor.ru/info/articles/kak-ios-prilozhenie-tinder-sokratilo-razmer-lokalizatsiy-na-95.html
Платформа: iOS
В целом эти усилия привели к уменьшению размера загружаемого файла на 10,7 МБ и уменьшению размера устанавливаемого приложения на 51,3 МБ без какого-либо ущерба для разработчиков или конечных пользователей.
Статья: https://apptractor.ru/info/articles/kak-ios-prilozhenie-tinder-sokratilo-razmer-lokalizatsiy-na-95.html
Платформа: iOS
Обработка истечения срока действия токена в Ktor: автоматическое обновление токенов для вызовов API
В статье обсуждается проблема истечения срока действия токенов в Ktor-приложениях и способы её автоматического решения. Автор объясняет, как правильно организовать механизм обновления токена, чтобы избежать ошибок при выполнении API-запросов. Рассматривается использование Ktor HttpClient и механизмов плагинов для перехвата ответов сервера с ошибкой аутентификации. Приводится реализация кастомного плагина, который автоматически обновляет токен и повторяет запрос без вмешательства пользователя. В завершение статьи описаны потенциальные проблемы, такие как гонки обновления токена, и предлагаются способы их предотвращения.
Статья: https://proandroiddev.com/handling-token-expiration-in-ktor-automatic-token-refresh-for-api-calls-e79badd379dc
Платформа: Android
В статье обсуждается проблема истечения срока действия токенов в Ktor-приложениях и способы её автоматического решения. Автор объясняет, как правильно организовать механизм обновления токена, чтобы избежать ошибок при выполнении API-запросов. Рассматривается использование Ktor HttpClient и механизмов плагинов для перехвата ответов сервера с ошибкой аутентификации. Приводится реализация кастомного плагина, который автоматически обновляет токен и повторяет запрос без вмешательства пользователя. В завершение статьи описаны потенциальные проблемы, такие как гонки обновления токена, и предлагаются способы их предотвращения.
Статья: https://proandroiddev.com/handling-token-expiration-in-ktor-automatic-token-refresh-for-api-calls-e79badd379dc
Платформа: Android
👍1
Почему в Android нет функции main?
В языках программирования, таких как C и Java, функция
Статья: https://medium.com/@sevbanbuyer/why-is-there-no-main-function-in-android-1198032a5a15
Платформа: Android
В языках программирования, таких как C и Java, функция
main служит точкой входа, с которой начинается выполнение программы. Однако в Android-приложениях отсутствует явная функция main. Это связано с архитектурой Android, где управление жизненным циклом приложения берет на себя операционная система. Вместо функции main, Android использует манифестный файл (AndroidManifest.xml), в котором указывается основная активность (Activity) приложения. Эта активность помечается фильтром намерений (intent-filter) с действиями MAIN и категорией LAUNCHER, что позволяет системе определить, с какой активности начинать выполнение приложения. Таким образом, точка входа в Android-приложении определяется не явной функцией main, а конфигурацией в манифесте, что обеспечивает гибкость и модульность в управлении компонентами приложения.Статья: https://medium.com/@sevbanbuyer/why-is-there-no-main-function-in-android-1198032a5a15
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Симметричные и асимметричные переходы в SwiftUI с помощью модификатора Scroll Transition
В статье рассматривается использование нового модификатора
Статья: https://www.createwithswift.com/symmetrical-and-asymmetrical-transitions-in-swiftui-with-the-scroll-transition-modifier/
Платформа: iOS
В статье рассматривается использование нового модификатора
scrollTransition, представленного в iOS 17, для создания анимаций при появлении и исчезновении представлений в прокручиваемых контейнерах. Этот модификатор позволяет создавать динамичные визуальные эффекты, привлекающие внимание к элементам интерфейса при их входе или выходе из видимой области.Статья: https://www.createwithswift.com/symmetrical-and-asymmetrical-transitions-in-swiftui-with-the-scroll-transition-modifier/
Платформа: iOS
Lynx - новый кроссплатформенный фреймворк
Как любитель кроссплатформенных решений не могу пройти мимо!
Сегодня представили и выложили в open source Lynx - семейство технологий, позволяющих разработчикам использовать имеющиеся у них навыки работы в Интернете для создания по-настоящему нативных пользовательских интерфейсов для мобильных и веб-приложений на основе единой кодовой базы. Разработанный для различных сценариев использования и богатой интерактивности, Lynx обеспечивает яркие и привлекательные пользовательские интерфейсы для таких масштабных приложений, как TikTok (глава проекта - нынешний архитектор ByteDance, бывший React-инженер в компании на M), благодаря быстрому и универсальному движку рендеринга, двухпоточному программированию пользовательского интерфейса, современному инструментарию на основе Rust и многому другому.
Lynx уже готов к продакшену и уже используется огромным количеством компаний. Сегодня выложили в открытый доступ именно ту версию, которую используем в проде, поэтому она начинается с версии 3.x. Она включает в себя даже устаревший код и API, которые намерены изжить, но разработчики верят в открытость исходного кода и помощь сообщества.
Платформа: кроссплатформа
Как любитель кроссплатформенных решений не могу пройти мимо!
Сегодня представили и выложили в open source Lynx - семейство технологий, позволяющих разработчикам использовать имеющиеся у них навыки работы в Интернете для создания по-настоящему нативных пользовательских интерфейсов для мобильных и веб-приложений на основе единой кодовой базы. Разработанный для различных сценариев использования и богатой интерактивности, Lynx обеспечивает яркие и привлекательные пользовательские интерфейсы для таких масштабных приложений, как TikTok (глава проекта - нынешний архитектор ByteDance, бывший React-инженер в компании на M), благодаря быстрому и универсальному движку рендеринга, двухпоточному программированию пользовательского интерфейса, современному инструментарию на основе Rust и многому другому.
Lynx уже готов к продакшену и уже используется огромным количеством компаний. Сегодня выложили в открытый доступ именно ту версию, которую используем в проде, поэтому она начинается с версии 3.x. Она включает в себя даже устаревший код и API, которые намерены изжить, но разработчики верят в открытость исходного кода и помощь сообщества.
Этот релиз - только начало. То, что мы открываем сегодня, - далеко не все. Множество периферии, которой мы гордимся, в том числе дополнительные компоненты пользовательского интерфейса, расширенные встроенные графические возможности, пользовательский рендерер и другие фреймворки, еще впереди.
Платформа: кроссплатформа
🤔2
Firebase SignIn With Email And Password - приложение на Kotlin, которое показывает, как аутентифицировать пользователей с помощью Firebase, используя компоненты архитектуры Android и архитектурный паттерн MVVM. Для создания пользовательского интерфейса используется Jetpack Compose.
Firebase SignIn With Email And Password на GitHub: https://github.com/alexmamo/FirebaseSignInWithEmailAndPassword
Платформа: Android
⭐️: 39
Firebase SignIn With Email And Password на GitHub: https://github.com/alexmamo/FirebaseSignInWithEmailAndPassword
Платформа: Android
⭐️: 39
•
(iOS En) Swift DevRoom at FOSDEM 2025•
(iOS En) Minor Annoyances in Dealing with State•
(iOS En) Building a 3D Watch Face with Metal•
(iOS En) Best practices for safe and easy Core Data integration in a modern Swift app•
(iOS En) Dynamic Floating Sheets Like Family App - Animations - SwiftUI•
(iOS En) SwiftUI App Shortcuts - App Intents - Action Shortcuts•
(And Ru) Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech•
(And En) Compose runtime and performance - Android Developers Backstage•
(And En) Wonderful Widgets - Spotlight Week•
(And En) Is It Worth to Learn Native Android as a Beginner In 2025?•
(And En) 3 Navigation issues that you MUST Avoid!•
(And En) Making Gradients Easy! Chris Sinco shows us how Mesh simplifies gradient design in Compose•
(And En) Port your Android App to the Web•
(Crs Ru) Заезжаем в KMP. Но какой ценой?•
(Crs En) How to Use Native iOS Views (Swift UI) In Compose Multiplatform•
(Crs En) Google Maps vs OpenStreetMap in Flutter•
(Dev Ru) Внедряем Server Driven UI•
(Dev Ru) Нужна ли программисту вышка — в какой ВУЗ пойти учиться•
(Dev Ru) Путь новичка: где набраться опыта и как найти первую работу•
(Dev En) Learn PyTorch in 5 Projects – Tutorial•
(Dsg En) Designing a Storytelling App for KidsЧто было год назад:
•
(iOS Ru) Minimal Widget Product: путь к эффективной и гибкой реализации виджетов•
(iOS Ru) Уроки Swift: UITextField с анимированным плейсхолдером•
(And Ru) Разработка новостного приложения. Часть 3•
(And Ru) Hilt в многомодульный проект — пособие по внедрению зависимостей для новичков•
(Crs Ru) Адаптивная вёрстка во Flutter•
(Crs Ru) Я.Субботник по мобильной разработкеPlease open Telegram to view this post
VIEW IN TELEGRAM
Xcore - это коллекция сотен расширений и компонентов Swift, разработанных для минимизации шаблонного кода и простого выполнения общих задач. Это фреймворк для эффективного создания и масштабирования приложений без ущерба для качества, удобства сопровождения и производительности разработчиков.
Xcore на GitHub: https://github.com/zmian/xcore
Платформа: iOS
⭐️: 128
Xcore на GitHub: https://github.com/zmian/xcore
Платформа: iOS
⭐️: 128
Вход в мобильном приложении с Telegram
Аутентификация в мобильных приложениях с помощью Telegram Login Widget обделена информацией как официальной документации, так и в интернете. В этой статье автор делится примером реализации входа в iOS приложение c помощью Telegram с блекджеком и граблями. В статье приведены сниппеты кода на Typenoscript + React, Go и Swift.
Статья: https://habr.com/ru/articles/888308/
Платформа: iOS/разработка
Аутентификация в мобильных приложениях с помощью Telegram Login Widget обделена информацией как официальной документации, так и в интернете. В этой статье автор делится примером реализации входа в iOS приложение c помощью Telegram с блекджеком и граблями. В статье приведены сниппеты кода на Typenoscript + React, Go и Swift.
Статья: https://habr.com/ru/articles/888308/
Платформа: iOS/разработка
👍1
Kelp — IDE-плагин для кастомных дизайн-систем на Jetpack Compose
Я долго работал на Android View, но жизнь безапелляционно мотивировала меня перейти к дизайн-системам на Jetpack Compose. Мне стало не хватать некоторых фич Android Studio, которые были доступны только в Android View.
Статья: https://habr.com/ru/companies/ozontech/articles/847376/
Платформа: Android
Я долго работал на Android View, но жизнь безапелляционно мотивировала меня перейти к дизайн-системам на Jetpack Compose. Мне стало не хватать некоторых фич Android Studio, которые были доступны только в Android View.
Статья: https://habr.com/ru/companies/ozontech/articles/847376/
Платформа: Android
7 мощных возможностей Kotlin, используемых продвинутыми разработчиками
Kotlin содержит множество мощных, но недостаточно используемых возможностей, таких как
Статья: https://apptractor.ru/info/articles/7-moschnyh-vozmozhnostey-kotlin-ispolzuemyh-prodvinutymi-razrabotchikami.html
Платформа: Android
Kotlin содержит множество мощных, но недостаточно используемых возможностей, таких как
runCatching, герметичные интерфейсы, классы значений, buildList/buildMap, Modifier.composed, takeIf/takeUnless и кастомные итераторы. Овладев ими, вы сможете сделать свой код более безопасным, лаконичным и высокопроизводительным.Статья: https://apptractor.ru/info/articles/7-moschnyh-vozmozhnostey-kotlin-ispolzuemyh-prodvinutymi-razrabotchikami.html
Платформа: Android
# Учишь Android месяцами, но найти работу так и не получается?
Часто вижу людей самостоятельно изучающих IT и Android в частности, но теряющихся в большом количестве материалов, не зная как начать и правильно продолжать.
Основная проблема людей, изучающих Android самостоятельно - это непонимание как правильно начать и что на самом деле нужно изучать для трудоустройства.
Для успешного освоения новой it-профессии необходимо иметь четкий план и фокус в обучении. Так чтобы не упускать важные нюансы и детали, о которых спрашивают на собеседованиях
Если хотите ускорить свой путь до первой работы и научиться создавать реальные проекты - подписывайтесь на канал Мерсиянов в IT. Автор уже 8 лет в IT и прошел путь с нуля до ведущего android разработчика.
В закрепе бесплатный план изучения android-разработки с нуля до оффера. Без воды, только то, что реально нужно для трудоустройства.
Подписывайтесь на канал, чтобы узнать как на самом деле устроена android-разработка, а не то, что рассказывают на стандартных курсах.
Часто вижу людей самостоятельно изучающих IT и Android в частности, но теряющихся в большом количестве материалов, не зная как начать и правильно продолжать.
Основная проблема людей, изучающих Android самостоятельно - это непонимание как правильно начать и что на самом деле нужно изучать для трудоустройства.
Для успешного освоения новой it-профессии необходимо иметь четкий план и фокус в обучении. Так чтобы не упускать важные нюансы и детали, о которых спрашивают на собеседованиях
Если хотите ускорить свой путь до первой работы и научиться создавать реальные проекты - подписывайтесь на канал Мерсиянов в IT. Автор уже 8 лет в IT и прошел путь с нуля до ведущего android разработчика.
В закрепе бесплатный план изучения android-разработки с нуля до оффера. Без воды, только то, что реально нужно для трудоустройства.
Подписывайтесь на канал, чтобы узнать как на самом деле устроена android-разработка, а не то, что рассказывают на стандартных курсах.
👍3👎2🤣2❤1
CZAN - это дизайн система, названная в честь Поля Сезанна, знаменитого художника из Франциb, родного города разработчика. Она создана для приложений, использующих Compose Multiplatform, и построена на Material 3, системе дизайна Google с открытым исходным кодом.
CZAN следует методологии Atomic Design, где атомы, молекулы, организмы и шаблоны - это различные уровни дизайна, которые вы можете использовать для создания своего приложения.
CZAN на GitHub: https://github.com/Tweener/czan
Платформа: Android/кроссплатформа
⭐️: 58
CZAN следует методологии Atomic Design, где атомы, молекулы, организмы и шаблоны - это различные уровни дизайна, которые вы можете использовать для создания своего приложения.
CZAN на GitHub: https://github.com/Tweener/czan
Платформа: Android/кроссплатформа
⭐️: 58
😁1
Тактики ускорения билда: матиз, кобальт, камри 3.5
Разработчики часто игнорируют билд-тайм, пока он не превращается в проблему. Возможно, поставить утром сборку на 30 минут и пойти пить кофе — это круто, но я считаю, это неэффективно. Если представить человека, который постоянно пытается ускорить билд-тайм, то вот он: руки у него в копоти, потому что он по 50 раз запускал билд-тайм, и руки его горят.
Статья: https://habr.com/ru/articles/889548/
Платформа: iOS
Разработчики часто игнорируют билд-тайм, пока он не превращается в проблему. Возможно, поставить утром сборку на 30 минут и пойти пить кофе — это круто, но я считаю, это неэффективно. Если представить человека, который постоянно пытается ускорить билд-тайм, то вот он: руки у него в копоти, потому что он по 50 раз запускал билд-тайм, и руки его горят.
Статья: https://habr.com/ru/articles/889548/
Платформа: iOS
ServerSocket для IPS в Android и примеры межпроцессного взаимодействия
Идея для статьи возникла из желания разобраться, как организовать общение между браузером и Android‑приложением для передачи данных. В поисках удобного решения я обратил внимание на
Статья: https://habr.com/ru/companies/tbank/articles/889656/
Платформа: Android
Идея для статьи возникла из желания разобраться, как организовать общение между браузером и Android‑приложением для передачи данных. В поисках удобного решения я обратил внимание на
ServerSocket — простой и гибкий способ локального взаимодействия без лишних сложностей.Статья: https://habr.com/ru/companies/tbank/articles/889656/
Платформа: Android
😁2
Объединяем Compose и View: бесшовное взаимодействие с помощью CompositionLocal
При переходе на Compose наша команда столкнулась с рядом проблем, связанных с совместимостью, поскольку мы интегрировали новые композабл в существующую кодовую базу. Одним из ключевых препятствий было определение того, как вызывать события из Compose и отправлять их основному держателю представления, такому как Фрагмент или Активити.
После некоторых исследований мы нашли эффективное решение с использованием
Статья: https://apptractor.ru/info/articles/obedinyaem-compose-i-view.html
Платформа: Android
При переходе на Compose наша команда столкнулась с рядом проблем, связанных с совместимостью, поскольку мы интегрировали новые композабл в существующую кодовую базу. Одним из ключевых препятствий было определение того, как вызывать события из Compose и отправлять их основному держателю представления, такому как Фрагмент или Активити.
После некоторых исследований мы нашли эффективное решение с использованием
CompositionLocal. Вот как мы его реализовали.Статья: https://apptractor.ru/info/articles/obedinyaem-compose-i-view.html
Платформа: Android
Производительный SwiftUI: используем UIKit
Можно ожидать, что жизненный цикл приложений SwiftUI и недавно появившийся навигационный API позволят нам реализовать практически все необходимые функции: глубокие ссылки, восстановление состояния и т.д. К сожалению, в некоторых случаях производительность SwiftUI может давать сбои. Особенно если у вас есть бесконечные коллекции данных, такие как социальные ленты или макеты для календарей.
Статья: https://apptractor.ru/info/articles/proizvoditelnyy-swiftui-ispolzuem-uikit.html
Платформа: iOS
Можно ожидать, что жизненный цикл приложений SwiftUI и недавно появившийся навигационный API позволят нам реализовать практически все необходимые функции: глубокие ссылки, восстановление состояния и т.д. К сожалению, в некоторых случаях производительность SwiftUI может давать сбои. Особенно если у вас есть бесконечные коллекции данных, такие как социальные ленты или макеты для календарей.
Статья: https://apptractor.ru/info/articles/proizvoditelnyy-swiftui-ispolzuem-uikit.html
Платформа: iOS
FeedKit - это библиотека Swift для чтения и генерации RSS, Atom и JSON фидов.
FeedKit на GitHub: https://github.com/nmdias/FeedKit
Платформа: iOS
⭐️: 1.2K
FeedKit на GitHub: https://github.com/nmdias/FeedKit
Платформа: iOS
⭐️: 1.2K
Урок ценой $115 000: чему меня научила разработка продукта с нуля
Последние пару лет в свободное от Настоящей Работы время я в роли CTO/соло-бэкендера участвовал в создании Stry — фитнес-стартапа с подписной моделью. Теперь, когда наша команда официально объявила о прекращении дальнейшего развития проекта, пришло время порефлексировать и поделиться полученным опытом. В этой статье я в двух словах представлю продукт, детально опишу архитектуру проекта и расскажу о наших (моих?) основных технических успехах и неудачах.
Статья: https://habr.com/ru/articles/889758/
Платформа: iOS
Последние пару лет в свободное от Настоящей Работы время я в роли CTO/соло-бэкендера участвовал в создании Stry — фитнес-стартапа с подписной моделью. Теперь, когда наша команда официально объявила о прекращении дальнейшего развития проекта, пришло время порефлексировать и поделиться полученным опытом. В этой статье я в двух словах представлю продукт, детально опишу архитектуру проекта и расскажу о наших (моих?) основных технических успехах и неудачах.
Статья: https://habr.com/ru/articles/889758/
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
Отслеживание угла горизонта на изображении с помощью фреймворка Vision
Отслеживание горизонта, изображенного на фотографии — одна из тех задач, которые можно решить с помощью анализа изображений в фреймворке Vision.
Этот запрос особенно полезен, когда нужно «выпрямить» фотографию, чтобы улучшить ее качество и реалистичность, особенно при съемке пейзажей или архитектурных сцен, где ровный горизонт имеет решающее значение для визуальной привлекательности.
Статья: https://apptractor.ru/info/articles/horizon-vision.html
Платформа: iOS
Отслеживание горизонта, изображенного на фотографии — одна из тех задач, которые можно решить с помощью анализа изображений в фреймворке Vision.
Этот запрос особенно полезен, когда нужно «выпрямить» фотографию, чтобы улучшить ее качество и реалистичность, особенно при съемке пейзажей или архитектурных сцен, где ровный горизонт имеет решающее значение для визуальной привлекательности.
Статья: https://apptractor.ru/info/articles/horizon-vision.html
Платформа: iOS
This media is not supported in your browser
VIEW IN TELEGRAM
KMP Liquid Search - анимированная поисковая строка для Compose. Поддерживает Android, iOS, Desktop, Web, есть множество настроек.
KMP Liquid Search на GitHub: https://github.com/mejdi14/KMP-Liquid-Search
Платформа: Android/кроссплатформа
⭐️: 21
KMP Liquid Search на GitHub: https://github.com/mejdi14/KMP-Liquid-Search
Платформа: Android/кроссплатформа
⭐️: 21
👍2