iOS Developer Roadmap 2023
Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.
Роадмап по iOS с подборкой ресурсов по некоторым темам.
Читать (En)
Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.
Роадмап по iOS с подборкой ресурсов по некоторым темам.
Читать (En)
👍19👎6❤4🔥3
Про многопоточность. Operation
Еще один материал про многопоточку, в частности про Operation.
👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение
У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.
Ссылки на все части
• Thread
• GCD
• Operation
Читать (Ru)
Еще один материал про многопоточку, в частности про Operation.
👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение
У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.
Ссылки на все части
• Thread
• GCD
• Operation
Читать (Ru)
🔥9❤5👍3💩1
UICollectionView внутри UICollectionView программно
Статья с примером реализации вложенного CollectionView программно.
Код на GitHub → Collection-view-challenge
Читать (Ru)
Статья с примером реализации вложенного CollectionView программно.
Код на GitHub → Collection-view-challenge
Читать (Ru)
👎8👍4💩4🔥2🤡2❤1👏1
Server-Driven UI using SwiftUI
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.
👉 Window
👉 Container
👉 Layout
👉 Content View
Читать (En)
🔥8❤3👍3
Swift и Objective-C в одном SDK. Стерпится, слюбится
Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.
Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс
Читать (Ru)
Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.
Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.
👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс
Читать (Ru)
🔥8💩3❤1👍1
Forwarded from Mobile Native ️️
Что посмотреть на выходных.
Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.
Android
• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень
iOS
• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.
Android
• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень
iOS
• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
👍8❤1🔥1
Расширенное управление памятью с помощью Unsafe Swift
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
В статье рассматриваются расширенные возможности Swift по управлению памятью посредством использования его «небезопасных» конструкций, таких как UnsafeMutablePointer и UnsafeRawPointer.
• Роль Unsafe Swift
• Меры предосторожности и предостережения
• Соединение Swift и C
• Управление указателями для вызовов функций C
• Навигация по памяти с помощью указателей
• Работа с необработанными данными
• Создание пользовательских буферов
• Восстановление памяти и управление ресурсами
• Создание связанного списка с нуля
• Сравнение безопасных и небезопасных подходов
• Заключение
Читать (Ru)
👍6🔥4❤2💩1
Forwarded from Mobile Native ️️
Основы алгоритмов
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
Если пропустили, тут Академия Яндекса выпустила Хенбук – цифровой учебник, который содержит теорию и практические задания с автопроверкой.
С помощью этого хендбука вы научитесь проектировать, оптимизировать, комбинировать и отлаживать алгоритмы — причём без привязки к какому-либо языку программирования.
👉 Введение
👉 Алгоритмы и сложность
👉 Техники проектирования алгоритмов
👉 Решение практических задач по программированию
👉 Разминка. Последовательные алгоритмы
👉 Жадные алгоритмы
👉 Разделяй и властвуй
👉 Динамическое программирование
👉 Основные структуры данных
👉 Графы
Читать (Ru)
🔥17👍5❤3💩3🤡2
10 quick tips to increase your iOS code quality
Несколько небольших советов, которые помогут улучшить качество кода.
• Use the extension pattern to group chunks of code
• Define a maximum number of lines per file
• Create variables and functions with descriptive names
• Take advantage of typealias
• Take care of the “no-happy path”
• Review force unwrap & indexes
• How do you handle sensitive information?
• Avoid code duplication
• Avoid hard-coding messages directly in the code
• Take advantage of pre-built-in features
Читать (En)
Несколько небольших советов, которые помогут улучшить качество кода.
• Use the extension pattern to group chunks of code
• Define a maximum number of lines per file
• Create variables and functions with descriptive names
• Take advantage of typealias
• Take care of the “no-happy path”
• Review force unwrap & indexes
• How do you handle sensitive information?
• Avoid code duplication
• Avoid hard-coding messages directly in the code
• Take advantage of pre-built-in features
Читать (En)
❤11👍3🔥2😁1
Шейдеры в iOS для начинающих
В iOS 17 пришло значимое обновление — теперь добавить шейдер можно к любой View, а значит, вся интеграция стала проще и растровых эффектов появится больше.
В статье разбираются основы: что за шейдеры, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему + рассматриваются несколько сложных примеров.
Читать (Ru)
В iOS 17 пришло значимое обновление — теперь добавить шейдер можно к любой View, а значит, вся интеграция стала проще и растровых эффектов появится больше.
В статье разбираются основы: что за шейдеры, что за чудо-код надо написать, как это подключить и как в целом погрузиться в тему + рассматриваются несколько сложных примеров.
Читать (Ru)
👍15🔥3❤1💩1
Jailbreak checker — как обезопасить свое iOS-приложение
Статья о том, как можно обезопасить своё iOS-приложение на Jailbreak-нутом девайсе.
• Кто такой этот ваш Jailbreak?
• Зачем его отслеживать?
• Как же его отследить?
• Как предупредить пользователя и обезопасить приложение?
• Как теперь все протестить?
Читать (Ru)
Статья о том, как можно обезопасить своё iOS-приложение на Jailbreak-нутом девайсе.
• Кто такой этот ваш Jailbreak?
• Зачем его отслеживать?
• Как же его отследить?
• Как предупредить пользователя и обезопасить приложение?
• Как теперь все протестить?
Читать (Ru)
🔥9👍4❤1🤔1💩1
3 Cool new features of Swift 5.9
Статья с обзором нескольких новых фич из Swift 5.9.
🟢 Using if and switch as expressions
🟢 Parameter Packs
🟢 Macros
Вот тут можно почитать про whats new in Swift 5.9.
И еще несколько полезных ссылок
👉 Value and Type parameter packs in Swift explained with examples
👉 Hidden feature: if and switch
Читать (En)
Статья с обзором нескольких новых фич из Swift 5.9.
Вот тут можно почитать про whats new in Swift 5.9.
И еще несколько полезных ссылок
👉 Value and Type parameter packs in Swift explained with examples
👉 Hidden feature: if and switch
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2🤩1
Дебаггинг приложения без Xcode. Зачем?
Статья от Альфа-Банк про то, как они делали свой дебаг-инструмент и научились дебажить приложение без Xcode, тем самым упростив жизнь себе и тестировщикам.
Читать (Ru)
Статья от Альфа-Банк про то, как они делали свой дебаг-инструмент и научились дебажить приложение без Xcode, тем самым упростив жизнь себе и тестировщикам.
Читать (Ru)
🔥9👍2💩2❤1
CD-диск на шейдерах и NameDrop в iOS 17
Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее.
В статье разбирается переливающийся диск и нашумевший NameDrop в iOS 17.
Читать (Ru)
Описать материал через шейдер сложно, потому что код совершенно другой, но создать динамичный эффект — ещё сложнее.
В статье разбирается переливающийся диск и нашумевший NameDrop в iOS 17.
Читать (Ru)
🔥9❤1👍1💩1
Два по цене одного: snapshot-тесты на основе SwiftUI Preview
Статья о том, как с использованием snapshot-тестов отлавливать баги верстки в SwiftUI на этапе разработки.
Читать (Ru)
Статья о том, как с использованием snapshot-тестов отлавливать баги верстки в SwiftUI на этапе разработки.
Читать (Ru)
👍6🔥3🤔2💩1
Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов
Подборка книг для изучения Swift / iOS.
🟢 Swift. Основы разработки приложений под iOS, iPadOS и macOS
🟢 Swift для детей. Самоучитель по созданию приложений для iOS
🟢 Swift Apprentice: Fundamentals (First Edition): Beginning Programming in Swift
🟢 Swift подробно
🟢 Head First. Изучаем Swift
🟢 Swift Programming: The Big Nerd Ranch Guide 3rd Edition
🟢 Swift Cookbook: Over 60 proven recipes for developing better iOS applications with Swift 5.3
Читать (Ru)
Подборка книг для изучения Swift / iOS.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍3🔥2
Скорее жив, чем мёртв: тенденция по развитию iOS технологий
Размышления на тему развития iOS технологий и возможые варианты развития в смежные направления на случай непредвиденных ситуаций 😉
Обзор технологий был сделан для того, чтобы показать, что iOS разработка жива, и не стоит бояться того, что завтра мы останемся без работы.
Читать (Ru)
Размышления на тему развития iOS технологий и возможые варианты развития в смежные направления на случай непредвиденных ситуаций 😉
Обзор технологий был сделан для того, чтобы показать, что iOS разработка жива, и не стоит бояться того, что завтра мы останемся без работы.
Читать (Ru)
🔥8👍5🤔2
Bottom Sheet View Controller with Dynamic Content Height in iOS
Пример реализации BottomSheet с кастомной конфигурацией.
• Automatic resizing of the bottom sheet based on the content height
• A draggable top view for dismissing the bottom sheet
• A dimmed background that also triggers the dismiss action
• Customizability to suit different use cases
• Smooth and interactive presentation and dismissal animations
Читать (En)
Пример реализации BottomSheet с кастомной конфигурацией.
• Automatic resizing of the bottom sheet based on the content height
• A draggable top view for dismissing the bottom sheet
• A dimmed background that also triggers the dismiss action
• Customizability to suit different use cases
• Smooth and interactive presentation and dismissal animations
Читать (En)
❤8👍6🔥4
Forwarded from Mobile Native ️️
Что посмотреть на выходных. Подборка полезностей 👇
Очередная порция интересных и полезных видосов.
Собеседования
• Собеседование в Яндекс. Платформа Android
• Советы к собеседованию
• Собеседование на Mobile Developer
• Cобеседование Android-разработчика
iOS💸
• Пишем свой рендеринг графики на SwiftUI и запускаем на нем Doom
• Compose for iOS под капотом
• Декларативная навигация в iOS-приложении
• Как приручить iPhone, или Общаемся с телефоном по проводу
• О дивный новый мир со Swift Concurrency
• Новые подходы к работе с регулярными выражениями в Swift. Просто о сложном
• Прожарка Tuist
• Как ускорить сборку проекта и не остановить разработку
• How to Build a Custom Sheet in SwiftUI!
• New and Deprecated APIs in iOS 17
• 8 Tips to Optimize your iOS App
• Нарисуй свой TabBar
• Навигация в iOS приложении. Coordinator pattern
• Async / Await. Лучшие практики, советы и особенности
• SwiftUI — уже пора?
Android🖥
• Корутинные загадки
• Измеряем sequence
• Android-Driven KMM
• Gradle Kotlin DSL: о чем умолчали в документации
• Здоровье вашей Gradle-сборки
• Оно само: используем плагины компиляции
• How to Implement Pinch Zoom Gestures in Jetpack Compose
• Introduction to Security of Mobile Applications for Android
• KMM + Composable Architecture в Умной Камере
• Compose, еще раз Compose и развитие сообщества
• How to Build a Custom Gradle Plugin to Share Project Config - Multi-Module Architecture
Common 🛠
• Мифы и легенды о безопасности мобильных приложений
• Какие проблемы могут возникать с безопасностью в мобильных приложениях
• Как мы Kotlin Multiplatform внедряли
• Compose Multiplatform для iOS и Android
• Декларативная архитектура и навигация с Decompose
• Почему джунов не берут на работу
• BDUI — что это и зачем на примере DivKit
Очередная порция интересных и полезных видосов.
Собеседования
• Собеседование в Яндекс. Платформа Android
• Советы к собеседованию
• Собеседование на Mobile Developer
• Cобеседование Android-разработчика
iOS
• Пишем свой рендеринг графики на SwiftUI и запускаем на нем Doom
• Compose for iOS под капотом
• Декларативная навигация в iOS-приложении
• Как приручить iPhone, или Общаемся с телефоном по проводу
• О дивный новый мир со Swift Concurrency
• Новые подходы к работе с регулярными выражениями в Swift. Просто о сложном
• Прожарка Tuist
• Как ускорить сборку проекта и не остановить разработку
• How to Build a Custom Sheet in SwiftUI!
• New and Deprecated APIs in iOS 17
• 8 Tips to Optimize your iOS App
• Нарисуй свой TabBar
• Навигация в iOS приложении. Coordinator pattern
• Async / Await. Лучшие практики, советы и особенности
• SwiftUI — уже пора?
Android
• Корутинные загадки
• Измеряем sequence
• Android-Driven KMM
• Gradle Kotlin DSL: о чем умолчали в документации
• Здоровье вашей Gradle-сборки
• Оно само: используем плагины компиляции
• How to Implement Pinch Zoom Gestures in Jetpack Compose
• Introduction to Security of Mobile Applications for Android
• KMM + Composable Architecture в Умной Камере
• Compose, еще раз Compose и развитие сообщества
• How to Build a Custom Gradle Plugin to Share Project Config - Multi-Module Architecture
Common 🛠
• Мифы и легенды о безопасности мобильных приложений
• Какие проблемы могут возникать с безопасностью в мобильных приложениях
• Как мы Kotlin Multiplatform внедряли
• Compose Multiplatform для iOS и Android
• Декларативная архитектура и навигация с Decompose
• Почему джунов не берут на работу
• BDUI — что это и зачем на примере DivKit
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍2💩1
iOS Microapps Architecture
Серия из 4-х частей про модульную архитектуру и Microapps в частности. В статьях в качестве примера демонстрируется реализация проекта по Microapps с помощью SPM.
• Part 1
• Part 2
• Part 3
• Part 4
Пример кода на GitHub → Microapp Architecture Demo
Серия из 4-х частей про модульную архитектуру и Microapps в частности. В статьях в качестве примера демонстрируется реализация проекта по Microapps с помощью SPM.
• Part 1
• Part 2
• Part 3
• Part 4
Пример кода на GitHub → Microapp Architecture Demo
🔥19❤3👍3💩1