Как я разрабатывал кастомный Segmented Control на SwiftUI
Год назад мы начали с нуля разрабатывать новый модуль, что позволило нам использовать модный молодежный SwiftUI. Казалось бы, идеальный инструмент для легкой верстки и красивых анимаций, поэтому очередная задача написать кастомный Segmented Control казалась тривиальной, тем более, что стандартный компонент кастомизируется буквально никак.
https://habr.com/ru/articles/732640/
#ios
👉 @developer_mobila
Год назад мы начали с нуля разрабатывать новый модуль, что позволило нам использовать модный молодежный SwiftUI. Казалось бы, идеальный инструмент для легкой верстки и красивых анимаций, поэтому очередная задача написать кастомный Segmented Control казалась тривиальной, тем более, что стандартный компонент кастомизируется буквально никак.
https://habr.com/ru/articles/732640/
#ios
👉 @developer_mobila
FlorisBoard: открытая клавиатура для Android
FlorisBoard — это бесплатная клавиатура с открытым исходным кодом для устройств Android 7.0+. Ее цель — быть современной, удобной и настраиваемой, при этом полностью уважая конфиденциальность пользователя. В настоящее время находится в состоянии ранней бета-версии.
https://github.com/florisboard/florisboard
#Android
👉 @developer_mobila
FlorisBoard — это бесплатная клавиатура с открытым исходным кодом для устройств Android 7.0+. Ее цель — быть современной, удобной и настраиваемой, при этом полностью уважая конфиденциальность пользователя. В настоящее время находится в состоянии ранней бета-версии.
https://github.com/florisboard/florisboard
#Android
👉 @developer_mobila
👍2
Demystifying SwiftUI Animation: Исчерпывающее руководство
В этой статье дается исчерпывающее представление о механизме анимации в SwiftUI и приводится большое количество демонстрационного кода
https://betterprogramming.pub/swiftui-animation-mechanism-a1adf2b9b417
#ios
👉 @developer_mobila
В этой статье дается исчерпывающее представление о механизме анимации в SwiftUI и приводится большое количество демонстрационного кода
https://betterprogramming.pub/swiftui-animation-mechanism-a1adf2b9b417
#ios
👉 @developer_mobila
👍2
Charts
Красивые графики для iOS/tvOS/OSX, аналог MPAndroidChart.
https://github.com/danielgindi/Charts
#ios
👉 @developer_mobila
Красивые графики для iOS/tvOS/OSX, аналог MPAndroidChart.
https://github.com/danielgindi/Charts
#ios
👉 @developer_mobila
👍1
Как стать iOS-разработчиком?
Мобильные устройства помогают оставаться на связи с друзьями, работать, развлекаться и повышать продуктивность. iOS, несмотря на введенные санкции и сокращение продаж техники в РФ, остается популярной платформой, пользователи которой ожидают качественные и стабильные приложения для смартфонов, планшетов, умных часов и ТВ‑приставок.
Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.
https://habr.com/ru/companies/kts/articles/734166/
#ios
👉 @developer_mobila
Мобильные устройства помогают оставаться на связи с друзьями, работать, развлекаться и повышать продуктивность. iOS, несмотря на введенные санкции и сокращение продаж техники в РФ, остается популярной платформой, пользователи которой ожидают качественные и стабильные приложения для смартфонов, планшетов, умных часов и ТВ‑приставок.
Насколько востребована позиция iOS‑разработчика на рынке РФ, какие риски с выбором этого направления для старта карьеры наиболее актуальны, что именно надо изучать и где искать нужные материалы — в этой статье.
https://habr.com/ru/companies/kts/articles/734166/
#ios
👉 @developer_mobila
👍2
Реализуем Универсальные ссылки на iOS
Вы можете использовать универсальные ссылки для создания интегрированного пользовательского опыта, открывая веб-адреса непосредственно в вашем мобильном приложении.
Универсальные ссылки (Universal Links) позволяют вам ссылаться на содержимое внутри вашего приложения, когда пользователь открывает определенный URL. По умолчанию веб-страницы открываются в браузере приложения, но вы можете настроить определенные пути, чтобы они открывались в вашем приложении, если оно установлено у пользователя.
https://www.avanderlee.com/swiftui/universal-links-ios/
#ios
👉 @developer_mobila
Вы можете использовать универсальные ссылки для создания интегрированного пользовательского опыта, открывая веб-адреса непосредственно в вашем мобильном приложении.
Универсальные ссылки (Universal Links) позволяют вам ссылаться на содержимое внутри вашего приложения, когда пользователь открывает определенный URL. По умолчанию веб-страницы открываются в браузере приложения, но вы можете настроить определенные пути, чтобы они открывались в вашем приложении, если оно установлено у пользователя.
https://www.avanderlee.com/swiftui/universal-links-ios/
#ios
👉 @developer_mobila
👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Разбор Android 13 для разработчиков
Всем приложениям, опубликованным в Google Play, до 31 августа 2023 года надо поддержать Android 13 в своих приложениях, т.е. поднять targetSdk до значения 33. В этом году сроки для обновления новых и уже опубликованных приложений объединили в один дедлайн. Я потратил несколько дней, чтобы разобрать все самые важные изменения и полезные фичи Android 13, чтобы упростить вам процесс миграции.
https://habr.com/ru/companies/broadcast/articles/728096/
#Android
👉 @developer_mobila
Всем приложениям, опубликованным в Google Play, до 31 августа 2023 года надо поддержать Android 13 в своих приложениях, т.е. поднять targetSdk до значения 33. В этом году сроки для обновления новых и уже опубликованных приложений объединили в один дедлайн. Я потратил несколько дней, чтобы разобрать все самые важные изменения и полезные фичи Android 13, чтобы упростить вам процесс миграции.
https://habr.com/ru/companies/broadcast/articles/728096/
#Android
👉 @developer_mobila
👍2
Instagram like Animated Searchbar in SwiftUI
https://codecode.hashnode.dev/instagram-like-animated-searchbar-in-swiftui
#ios
👉 @developer_mobila
https://codecode.hashnode.dev/instagram-like-animated-searchbar-in-swiftui
#ios
👉 @developer_mobila
👍1
Media is too big
VIEW IN TELEGRAM
SwiftUI. Как это работает.
Дмитрий Бакланов, Авиасейлс
SwiftUI появился несколько лет назад и вдохновил многих, но был сырым и не сразу смог добраться до продакшена больших проектов. В этом выпуске Дима Бакланов из Авиасейлс поделился опытом использования SwiftUI на проде, а также рассказал о сильных и слабых сторонах этого подхода к верстке.
00:00 Приветствие
00:34 Авиасейлс iOS
04:35 SwiftUI в проде
07:03 Сторонние библиотеки
07:50 Преимущества SwiftUI
10:49 Проблемы SwiftUI
13:30 SwiftUI на старых версиях ОС
14:40 UI Kit vs SwiftUI
20:43 Пример SwiftUI
28:50 Тестирование
30:43 Навигация
34:12 Чего не хватает SwiftUI
40:32 Баги при миграции
41:57 Обучение разработчиков
44:27 Советы начинающим
48:09 Compose vs SwiftUI
59:22 Заключение
источник
#ios
👉 @developer_mobila
Дмитрий Бакланов, Авиасейлс
SwiftUI появился несколько лет назад и вдохновил многих, но был сырым и не сразу смог добраться до продакшена больших проектов. В этом выпуске Дима Бакланов из Авиасейлс поделился опытом использования SwiftUI на проде, а также рассказал о сильных и слабых сторонах этого подхода к верстке.
00:00 Приветствие
00:34 Авиасейлс iOS
04:35 SwiftUI в проде
07:03 Сторонние библиотеки
07:50 Преимущества SwiftUI
10:49 Проблемы SwiftUI
13:30 SwiftUI на старых версиях ОС
14:40 UI Kit vs SwiftUI
20:43 Пример SwiftUI
28:50 Тестирование
30:43 Навигация
34:12 Чего не хватает SwiftUI
40:32 Баги при миграции
41:57 Обучение разработчиков
44:27 Советы начинающим
48:09 Compose vs SwiftUI
59:22 Заключение
источник
#ios
👉 @developer_mobila
🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Media transcoding and editing, transform and roll out!
https://android-developers.googleblog.com/2023/05/media-transcoding-and-editing-transform-and-roll-out.html
#Android
👉 @developer_mobila
https://android-developers.googleblog.com/2023/05/media-transcoding-and-editing-transform-and-roll-out.html
#Android
👉 @developer_mobila
👍2
В Авито открыли две вакансии для Android-разработчиков в командах Недвижимости и Услуг.
➡️ Android-разработчик в команду Авито Недвижимость
➡️ Android-разработчик в команду Авито Услуг
Что предлагают:
• Прозрачная система премий, достойная зарплата — от 200k до 350k рублей;
• Гибридный формат работы — из дома и комфортного офиса в центре Москвы с местами для уединённой работы, зонами отдыха и гамаками;
• Мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
• Личный бюджет на обучение — книги, курсы и конференции, доступ к онлайн-библиотеке издательства МИФ;
• ДМС со стоматологией с первого дня работы, терапевт, психолог и массажный кабинет прямо в офисе;
• Два фитнес-зала и душ в офисе, занятия йогой и скидки на абонементы.
Переходите по ссылкам и откликайтесь. Поделитесь с теми, кому может быть актуально.
➡️ Android-разработчик в команду Авито Недвижимость
➡️ Android-разработчик в команду Авито Услуг
Что предлагают:
• Прозрачная система премий, достойная зарплата — от 200k до 350k рублей;
• Гибридный формат работы — из дома и комфортного офиса в центре Москвы с местами для уединённой работы, зонами отдыха и гамаками;
• Мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
• Личный бюджет на обучение — книги, курсы и конференции, доступ к онлайн-библиотеке издательства МИФ;
• ДМС со стоматологией с первого дня работы, терапевт, психолог и массажный кабинет прямо в офисе;
• Два фитнес-зала и душ в офисе, занятия йогой и скидки на абонементы.
Переходите по ссылкам и откликайтесь. Поделитесь с теми, кому может быть актуально.
SwiftUI.Essentials.iOS.15.pdf
40 MB
SwiftUI Essentials – iOS 15 Edition: Learn to Develop iOS Apps Using SwiftUI, Swift 5.5 and Xcode 13
Автор: Neil Smyth (2022)
Цель этой книги - обучить навыкам, необходимым для создания приложений iOS 15 с использованием SwiftUI, Xcode 13 и языка программирования Swift 5.5.
Начиная с основ, книга содержит описание шагов, необходимых для настройки среды разработки iOS, а также введение в использование Swift Playgrounds для изучения и экспериментирования со Swift.
Книга также содержит подробные главы, знакомящие с языком программирования Swift 5.5, включая типы данных, поток управления, функции, объектно-ориентированное программирование, обертки свойств, структурированный параллелизм и обработку ошибок и много другое.
#ios
👉 @developer_mobila
Автор: Neil Smyth (2022)
Цель этой книги - обучить навыкам, необходимым для создания приложений iOS 15 с использованием SwiftUI, Xcode 13 и языка программирования Swift 5.5.
Начиная с основ, книга содержит описание шагов, необходимых для настройки среды разработки iOS, а также введение в использование Swift Playgrounds для изучения и экспериментирования со Swift.
Книга также содержит подробные главы, знакомящие с языком программирования Swift 5.5, включая типы данных, поток управления, функции, объектно-ориентированное программирование, обертки свойств, структурированный параллелизм и обработку ошибок и много другое.
#ios
👉 @developer_mobila
🔥3👍2
Flexible Continuous Integration for iOS
https://medium.com/airbnb-engineering/flexible-continuous-integration-for-ios-4ab33ea4072f
#ios
👉 @developer_mobila
https://medium.com/airbnb-engineering/flexible-continuous-integration-for-ios-4ab33ea4072f
#ios
👉 @developer_mobila
Compose Rich Editor — библиотека редактора для Jetpack Compose и Compose Multiplatform, полностью настраиваемая и поддерживающая общие функции rich text редактора. Она построена на основе TextField и поможет вам легко создать полноценный текстовый редактор.
https://github.com/MohamedRejeb/Compose-Rich-Editor
#Android
👉 @developer_mobila
https://github.com/MohamedRejeb/Compose-Rich-Editor
#Android
👉 @developer_mobila
❤3
Перф-тесты VS аномалии производительности на iOS
Чем больше задач выполняет приложение, тем тщательнее нужно следить за его производительностью. В статье на примере Яндекс Браузера и приложения Яндекс рассказали о том, как отслеживать аномалии метрик производительности на стороне клиента с помощью перф-тестов: основные принципы универсальны, их легко можно использовать для других типов приложений.
https://habr.com/ru/companies/yandex/articles/761388/
#ios
👉 @developer_mobila
Чем больше задач выполняет приложение, тем тщательнее нужно следить за его производительностью. В статье на примере Яндекс Браузера и приложения Яндекс рассказали о том, как отслеживать аномалии метрик производительности на стороне клиента с помощью перф-тестов: основные принципы универсальны, их легко можно использовать для других типов приложений.
https://habr.com/ru/companies/yandex/articles/761388/
#ios
👉 @developer_mobila
👍1
Atoms: управление состояниями в Swift
SwiftUI предоставляет отличную встроенную поддержку для работы с состоянием, но объектно-ориентированный подход может сделать разделение кода сложным. Именно здесь могут помочь атомы.
Atoms — это мощная и гибкая библиотека управления атомарными состояниями для Swift, предназначенная для создания компактных, независимых глобальных компонентов состояния с легкой адаптацией и композицией.
Atoms обеспечивают более гранулированный уровень управления состоянием, позволяя вам сосредоточиться на том, что вам нужно, не беспокоясь о том, куда что поместить. Избегая больших наблюдаемых объектов с большим количеством публикуемых свойств, атомы помогают избежать узких мест в производительности из-за рендеринга, сохраняя единый источник истины в архитектуре вашего приложения.
https://github.com/bangerang/swift-atoms
#ios
👉 @developer_mobila
SwiftUI предоставляет отличную встроенную поддержку для работы с состоянием, но объектно-ориентированный подход может сделать разделение кода сложным. Именно здесь могут помочь атомы.
Atoms — это мощная и гибкая библиотека управления атомарными состояниями для Swift, предназначенная для создания компактных, независимых глобальных компонентов состояния с легкой адаптацией и композицией.
Atoms обеспечивают более гранулированный уровень управления состоянием, позволяя вам сосредоточиться на том, что вам нужно, не беспокоясь о том, куда что поместить. Избегая больших наблюдаемых объектов с большим количеством публикуемых свойств, атомы помогают избежать узких мест в производительности из-за рендеринга, сохраняя единый источник истины в архитектуре вашего приложения.
https://github.com/bangerang/swift-atoms
#ios
👉 @developer_mobila
GitHub
GitHub - bangerang/swift-atoms: Atoms is a powerful and flexible atomic state management library for Swift, designed to create…
Atoms is a powerful and flexible atomic state management library for Swift, designed to create compact, independent global state components with seamless adaptability and composition. - bangerang/s...
Перформанс 2ГИС для Android
Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.
https://habr.com/ru/companies/2gis/articles/734688/
#Android
👉 @developer_mobila
Каждое большое приложение однажды сталкивается с задачей — увеличить скорость запуска. Не обошла она и приложение 2ГИС на Android. Расскажу, как команда тестирования искала причины медленного запуска.
https://habr.com/ru/companies/2gis/articles/734688/
#Android
👉 @developer_mobila
👍2
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