⚡ Combine до iOS 13 и как добавить SwiftUI 2.0 в любое приложение
23 ноября на открытом уроке с Ексеем Пантелеевым вы:
- рассмотрите мультиплатформенное использование Combine
- узнаете, как перейти на декларативный UI без повышения минимальной версии приложения до iOS 13 и бесшовно добавить поддержку SwiftUI 2.0 в приложение.
В честь Черной Пятницы даем скидку 25% всем, кто прошел тестирование
Регистрация на вебинар: https://otus.pw/a1qS/
23 ноября на открытом уроке с Ексеем Пантелеевым вы:
- рассмотрите мультиплатформенное использование Combine
- узнаете, как перейти на декларативный UI без повышения минимальной версии приложения до iOS 13 и бесшовно добавить поддержку SwiftUI 2.0 в приложение.
В честь Черной Пятницы даем скидку 25% всем, кто прошел тестирование
Регистрация на вебинар: https://otus.pw/a1qS/
otus.ru
Разработчик iOS: практическое применение Swift 5, работа в Xсode и Git
Курс Разработчик iOS в OTUS с возможностью трудоустройства
Как писать юнит-тесты, когда возвращаемое значение - enum. Вдобавок объясняются некоторые важные характеристики тестов, такие как хрупкость.
https://qualitycoding.org/unit-test-enumerations-swift/
https://qualitycoding.org/unit-test-enumerations-swift/
Quality Coding
How to Unit Test Enumerations in XCTest | Quality Coding
Swift enumerations: How to write XCTest assertions to verify them? What about associated values? Can we avoid overspecified tests?
10х инженеры советуют: если еще не научились пользоваться мультикурсором в Xcode - самое время это сделать.
https://sarunw.com/posts/multi-cursor-editing-in-xcode/
https://sarunw.com/posts/multi-cursor-editing-in-xcode/
Sarunw
Multi-cursor editing in Xcode | Sarunw
It is a hidden gem in Xcode that can save up your coding time. Learn what it is, how to use it, and some use cases.
Если вы еще не знакомы с Lottie, то возможно эта простая, но тем не менее интересная статья побудит вас набрать заветные “Lottie iOS” в гугле.
https://swiftsenpai.com/development/lottie-text-provider/
https://swiftsenpai.com/development/lottie-text-provider/
Swift Senpai
How to Change Text in iOS Lottie Animation - Swift Senpai
In this article, let's learn how to use a Lottie text provider for text replacement. You can also learn how to create a custom text provider.
Команда приложения «Кошелёк» в связи со стремительным ростом ищет опытного iOS-разработчика. В 2021 нам предстоит выход на европейские рынки, и мы усиливаем команду уже сейчас, чтобы сделать это вместе.
🔹Что ты будешь делать:
• Участвовать в разработке iOS-приложения «Кошелёк»;
• Взаимодействовать с QA, аналитиками, дизайнерами и бэкендерами в рамках продуктовой команды;
• Писать понятный, тестируемый код и участвовать в code review;
• Предлагать нестандартные решения и уметь их аргументировать.
🔹Требования:
• Опыт разработки приложения для iOS от 2-х лет;
• Знание AutoLayout, Multithreading, Memory management, Core Data в Swift & Objective-C;
• Хорошие знания языка Swift;
• Глубокое понимание клиент-серверного взаимодействия;
• Опыт написания Unit тестов.
🔹Что мы предлагаем:
• участие в развитии полезного и популярного приложения, возможность сделать мир лучше;
• участие в запуске международного продукта (выход на рынок Европы);
• оформление по ТК РФ с первого дня работы, конкурентную белую зарплату, ДМС;
• оплату мобильной связи, частичную компенсацию оплаты питания;
• оплату профильных курсов и конференций;
• гибкий график, возможность удалённой работы;
• помощь с переездом для кандидатов из других городов (welcome бонус).
Подробности вакансии — по ссылке!
🔹Что ты будешь делать:
• Участвовать в разработке iOS-приложения «Кошелёк»;
• Взаимодействовать с QA, аналитиками, дизайнерами и бэкендерами в рамках продуктовой команды;
• Писать понятный, тестируемый код и участвовать в code review;
• Предлагать нестандартные решения и уметь их аргументировать.
🔹Требования:
• Опыт разработки приложения для iOS от 2-х лет;
• Знание AutoLayout, Multithreading, Memory management, Core Data в Swift & Objective-C;
• Хорошие знания языка Swift;
• Глубокое понимание клиент-серверного взаимодействия;
• Опыт написания Unit тестов.
🔹Что мы предлагаем:
• участие в развитии полезного и популярного приложения, возможность сделать мир лучше;
• участие в запуске международного продукта (выход на рынок Европы);
• оформление по ТК РФ с первого дня работы, конкурентную белую зарплату, ДМС;
• оплату мобильной связи, частичную компенсацию оплаты питания;
• оплату профильных курсов и конференций;
• гибкий график, возможность удалённой работы;
• помощь с переездом для кандидатов из других городов (welcome бонус).
Подробности вакансии — по ссылке!
spb.hh.ru
Вакансия Senior iOS developer в Санкт-Петербурге, работа в компании Приложение «Кошелёк» (вакансия в архиве c 13 апреля 2021)
Зарплата: от 220000 до 320000 ₽ за месяц. Санкт-Петербург. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 12.04.2021.
Пересказ на русском серии уроков pointfree про Composable Architecture. Если понравится, очень советую посмотреть или прочитать оригинал. Make architecture great again!
https://habr.com/ru/post/526782/
https://habr.com/ru/post/526782/
Хабр
Composable Architecture — свежий взгляд на архитектуру приложения
Сбалансированная архитектура мобильного приложения продлевает жизнь проекту и разработчикам. История Познакомьтесь с Алексом. Ему необходимо разработать приложе...
Добро пожаловать на холивар. Можно быть несогласным, но прочитать перед осуждением все равно стоит, написано интересно. Тема - низкоуровневость и насколько глубоко нужно погружаться.
https://eax.me/low-level/
https://eax.me/low-level/
eax.me
Зачем нужно знать всякие низкоуровневые вещи | Записки программиста
Когда-нибудь я планирую запостить в этот блог несколько заметок, посвященных всяким «низкоуровневым» вещам - таким, как алгоритмы сжатия, ассемблер, написание д
Наверное AWS самый гибкий из способов собрать свой пет проект с бэком быстро. Однако, чем больше гибкость, тем больше и сложность. Свежая статья от Рея поможет с ней разобраться.
https://www.raywenderlich.com/12931711-using-aws-as-a-back-end-authentication-api#toc-anchor-001
https://www.raywenderlich.com/12931711-using-aws-as-a-back-end-authentication-api#toc-anchor-001
kodeco.com
Using AWS as a Back End: Authentication & API
Learn how to use Amazon Web Services (AWS) to build a back end for your iOS apps with AWS Amplify and Cognito, using GraphQL.
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Продолжаем делиться с вами контентом @AvitoTech с онлайн-конференции Podlodka iOS Crew #3!
С Александром Катиным из Авито и Денисом Оздемиром из Prisma AI поговорили о том, как собрать привлекательный макет из подручных средств без какого-либо навыка художника → https://youtu.be/1uDwOHL5bz4
С Александром Катиным из Авито и Денисом Оздемиром из Prisma AI поговорили о том, как собрать привлекательный макет из подручных средств без какого-либо навыка художника → https://youtu.be/1uDwOHL5bz4
YouTube
Воркшоп: От идеи до макета в iOS за 60 минут / Александр Катин, Денис Оздемир
Понравилось видео и хочешь узнать что-то еще про iOS? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена работа…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена работа…
Александр Спиричев из Додо рассказал, какие шорткаты и фишки работы с Xcode они используют. Есть как базовые Cmd+Shift+J, так и переустановка подов по хоткею и создание нативных темплейтов файлов.
https://habr.com/ru/company/dododev/blog/527740/
https://habr.com/ru/company/dododev/blog/527740/
Хабр
На пути к «10x инженеру»: шорткаты, сниппеты, шаблоны
Мы разобрались, как избежать рутины с помощью шорткатов для навигации, редактирования и отладки, чем могут помочь кастомные сниппеты и как прокачать файловые шаблоны. Описали это в «методичке» по...
Практическое использование Hopper Disassembler на примере строки поиска в Springboard. По ходу исследования обнаруживается и почему Xcode 12 такой большой. P.S. Потому что бинарник жирный.
https://sidorov.tech/all/kopaem-vnutr-springboard/
https://sidorov.tech/all/kopaem-vnutr-springboard/
sidorov.tech
Копаем внутрь SpringBoard
Копаемся в приватных фреймворках Apple и пытаемся воссоздать градиентный блюр как в App Library.
После этой статьи может возникнуть больше вопросов чем ответов. Речь идет о UIFontMetrics и адаптации своего шрифта к стилям текста с учетом системных возможностей изменения размеров текста. Если то что выше выглядит как набор слов, то точно стоит прочитать.
https://sarunw.com/posts/scaling-custom-fonts-automatically-with-dynamic-type/
https://sarunw.com/posts/scaling-custom-fonts-automatically-with-dynamic-type/
Sarunw
Scaling custom fonts automatically with Dynamic Type | Sarunw
Font is an essential part of an app. A good selection of font would make your app stand out from the crowd. But whatever fonts you choose, you have to make sure it doesn't lose its core function, readability. You might feel reluctant to use a custom font…
Какой жизненный путь проходят View в SwiftUI. Пока все несколько проще, но у меня большой вопрос: как существуют вместе “чистые функции” и анимации?
https://www.vadimbulavin.com/swiftui-view-lifecycle/
https://www.vadimbulavin.com/swiftui-view-lifecycle/
Yet Another Swift Blog
SwiftUI View Lifecycle
Learn the three phases of SwiftUI view lifecycle: Appearing, Updating and Disappearing.
Вторая часть рассказа про интероперабельность UIKit и SwiftUI. Теперь делаем ее полностью двусторонней.
https://www.swiftbysundell.com/articles/swiftui-and-uikit-interoperability-part-2/
https://www.swiftbysundell.com/articles/swiftui-and-uikit-interoperability-part-2/
Swift by Sundell
SwiftUI and UIKit interoperability - Part 2 | Swift by Sundell
In this second article about integrating SwiftUI and UIKit, we’ll take a look at how SwiftUI views can be embedded within UIKit-based view controllers, and various ways of sharing state between them.
Свои пет-проекты не обязательно забрасывать, когда они надоели. Если не жалко, их можно продавать. Самые отважные пытаются продать за 5млн бачей, но если дохода нет, то скорей всего это пара сотен. Автор статьи продал так 3 приложения.
https://www.revenuecat.com/blog/how-to-sell-an-app
https://www.revenuecat.com/blog/how-to-sell-an-app
Revenuecat
How to sell your mobile app
In this article I'll share everything I've learned from selling three different apps and explain the process from start to finish, including tax implications.
А теперь рассмотрим случай, когда интероперабельность становится сложнее благодаря вмешательству Objc Runtime. Скрещивание KVO и Combine.
https://augmentedcode.io/2020/11/08/observing-a-kvo-compatible-model-in-swiftui-and-mvvm/
https://augmentedcode.io/2020/11/08/observing-a-kvo-compatible-model-in-swiftui-and-mvvm/
Augmented Code
Observing a KVO compatible model in SwiftUI and MVVM
In model-view-view model (MVVM) architecture the view model observes the model and provides data for the view by transforming it when needed. When the user interacts with the view and changes the d…
Еще больше подробностей про профайлинг компиляции. Как говорится, все уже было написано.
https://www.avanderlee.com/optimization/analysing-build-performance-xcode/
https://www.avanderlee.com/optimization/analysing-build-performance-xcode/
SwiftLee
Build performance analysis for speeding up Xcode builds
Speed up Xcode Build Performance by gaining insights using Build Timing Summary and various techniques that can save you a lot of time.
Начинается трансляция CocoaHeads Remote VI!
Вас ждут следующие доклады:
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
🍏 Помимо докладов будет интервью с Ильей Кузнецовым (Head of iOS, inDriver)
Присоединяйтесь!
youtu.be/zs1BF4EIHcI
Вас ждут следующие доклады:
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
🍏 Помимо докладов будет интервью с Ильей Кузнецовым (Head of iOS, inDriver)
Присоединяйтесь!
youtu.be/zs1BF4EIHcI
YouTube
CocoaHeads Remote VI
Заходите в telegram канал @cocoaheads
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
Помимо докладов будет интервью с Ильей…
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
Помимо докладов будет интервью с Ильей…
Пол Хадсон накидал промокодов на книги про iOS разработку от самых разных техноблогеров, статьи которых вы периодически видите здесь. Самое время закупаться.
https://mobile.twitter.com/twostraws/status/1331630977249144835
https://mobile.twitter.com/twostraws/status/1331630977249144835
Twitter
Paul Hudson
As Black Friday approaches, some great Swift writers have discounts. I can recommend these – use code “turkeysale2020” to save 40%: - A SwiftUI Kickstart: https://t.co/39b0mTkSd7 - iOS Unit Testing by Example: https://t.co/ZWaSu5E8Br - Swift Style: https…
Мониторим изменения в файлах при помощи DispatchSource. Примером служит вывод новых дебаг-логов.
https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift
https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift
Swiftrocks
DispatchSource: Detecting changes in files and folders in Swift
The DispatchSource family of types from GCD contains a series of objects that are capable of monitoring OS-related events. In this article, we'll see how to use DispatchSource to monitor a log file and create a debug-only view that shows the app's latest…