Открыта запись в Digital Lounges!
🤩 Кроме анонса WWDC, компания Apple открыла регистрацию в Digital Lounges.
Они предназначены для того, чтобы разработчики могли напрямую общаться с инженерами и дизайнерами Apple для получения рекомендаций.
✍️ Участники программы Apple Developer Program и победители конкурса Swift Student Challenge 2022 могут зарегистрироваться в Digital Lounges на сайте WWDC или в приложении Apple Developer.
🤩 Кроме анонса WWDC, компания Apple открыла регистрацию в Digital Lounges.
Они предназначены для того, чтобы разработчики могли напрямую общаться с инженерами и дизайнерами Apple для получения рекомендаций.
✍️ Участники программы Apple Developer Program и победители конкурса Swift Student Challenge 2022 могут зарегистрироваться в Digital Lounges на сайте WWDC или в приложении Apple Developer.
This media is not supported in your browser
VIEW IN TELEGRAM
Пример создания приложения Todo list для iOS с использованием VIPER
🤔 Решение о том, какую архитектуру приложения использовать при создании iOS-приложения, является одной из самых сложных задач.
Существует множество архитектур на выбор: MVC, MVVM, MVP, View State, VIPER и многие другие.
Архитектура, которую мы выберем, будет определять, как будет построено программное обеспечение и как оно будет масштабироваться по мере роста.
📖 Одной из архитектур, о которой идёт речь в этой статье, является архитектура VIPER.
VIPER разделяет структуру приложения на компоненты внутри модуля/экрана с принципом единой ответственности.
Благодаря этому приложение становится более модульным и менее связанным с другими компонентами.
👌 Юнит-тестирование и интеграционное тестирование становятся намного проще из-за границ (протокол/интерфейс) между каждым компонентом.
🛠 Вот тут доступен код приложения, если вы предпочитаете сразу перейти к самому интересному.
@iOS Dev
🤔 Решение о том, какую архитектуру приложения использовать при создании iOS-приложения, является одной из самых сложных задач.
Существует множество архитектур на выбор: MVC, MVVM, MVP, View State, VIPER и многие другие.
Архитектура, которую мы выберем, будет определять, как будет построено программное обеспечение и как оно будет масштабироваться по мере роста.
📖 Одной из архитектур, о которой идёт речь в этой статье, является архитектура VIPER.
VIPER разделяет структуру приложения на компоненты внутри модуля/экрана с принципом единой ответственности.
Благодаря этому приложение становится более модульным и менее связанным с другими компонентами.
👌 Юнит-тестирование и интеграционное тестирование становятся намного проще из-за границ (протокол/интерфейс) между каждым компонентом.
🛠 Вот тут доступен код приложения, если вы предпочитаете сразу перейти к самому интересному.
@iOS Dev
Генерация собственного QR-кода (и не только) в Swift
📖 Давайте посмотрим, как мы можем использовать Swift для создания различных типов штрихкодов и QR-кодов.
Вам не нужны сторонние библиотеки, которые могли бы поддерживать эту функциональность, ведь вы можете создавать самые разные типы QR и штрих-кодов сами, используя родной Swift 😉.
В рамках этого туториала приводятся примеры генерации для:
1️⃣ Aztec Barcode.
2️⃣ QRCode.
3️⃣ PDF417.
4️⃣ Code128.
@iOS Dev
📖 Давайте посмотрим, как мы можем использовать Swift для создания различных типов штрихкодов и QR-кодов.
Вам не нужны сторонние библиотеки, которые могли бы поддерживать эту функциональность, ведь вы можете создавать самые разные типы QR и штрих-кодов сами, используя родной Swift 😉.
В рамках этого туториала приводятся примеры генерации для:
1️⃣ Aztec Barcode.
2️⃣ QRCode.
3️⃣ PDF417.
4️⃣ Code128.
@iOS Dev
This media is not supported in your browser
VIEW IN TELEGRAM
Как симулировать изменение местоположения в реальном времени с помощью Xcode?
😎Автор этого туториала работал в Porsche, а большую часть своего времени посвящал работе над новым навигационным SDK.
Для успешной разработки SDK нужен был способ имитации изменения местоположения пользователя. В частности, в компании хотели оценить производительность различных навигационных алгоритмов, тестируя их на одном и том же наборе обновлений местоположения.
💻 К счастью, мы можем легко воспроизвести обновления местоположения, используя файлы
ℹ️ Кстати! Если захотите сделать собственный кастомный путь, то можно воспользоваться этим сайтом.
@iOS Dev
😎Автор этого туториала работал в Porsche, а большую часть своего времени посвящал работе над новым навигационным SDK.
Для успешной разработки SDK нужен был способ имитации изменения местоположения пользователя. В частности, в компании хотели оценить производительность различных навигационных алгоритмов, тестируя их на одном и том же наборе обновлений местоположения.
💻 К счастью, мы можем легко воспроизвести обновления местоположения, используя файлы
.gpx
в Xcode. Файл .gpx
, по сути, представляет собой отображение точек GPS во времени, а указание метки времени для каждой GPS-координаты позволяет имитировать ходьбу, езду на велосипеде или вождение автомобиля по шоссе.ℹ️ Кстати! Если захотите сделать собственный кастомный путь, то можно воспользоваться этим сайтом.
@iOS Dev
Почисти Derived Data
🤔 Часто слышали/говорили эту фразу?
Удаление Derived Data — известный способ, о котором мы вспоминаем, когда Xcode ведет себя странно.
📖 Автор статьи до сих пор помнит, как ему в первый раз рассказали об этом трюке. И хотя DerivedData может меняться с каждой версией Xcode, почему бы не уделить пару минут и не почитать, что там внутри?
Я решил пойти дальше, и посмотреть, к чему приводит игнорирование особенностей DerivedData.
Здесь рассказывается о сложностях при работе с Jenkins CI server, запущенным как Launch Daemon.
Практический совет на будущее — регулярно чистить DerivedData Xcode на CI-сервере.
📺 Хотите копнуть глубже? Есть годное видео с WWDC 2018, которое объясняет, что происходит за кулисами в процессе сборки.
@iOS Dev
🤔 Часто слышали/говорили эту фразу?
Удаление Derived Data — известный способ, о котором мы вспоминаем, когда Xcode ведет себя странно.
📖 Автор статьи до сих пор помнит, как ему в первый раз рассказали об этом трюке. И хотя DerivedData может меняться с каждой версией Xcode, почему бы не уделить пару минут и не почитать, что там внутри?
Я решил пойти дальше, и посмотреть, к чему приводит игнорирование особенностей DerivedData.
Здесь рассказывается о сложностях при работе с Jenkins CI server, запущенным как Launch Daemon.
Практический совет на будущее — регулярно чистить DerivedData Xcode на CI-сервере.
📺 Хотите копнуть глубже? Есть годное видео с WWDC 2018, которое объясняет, что происходит за кулисами в процессе сборки.
@iOS Dev
Генерация кода запроса с помощью Postman за 10 секунд
😎 Уверен, что многие разработчики использовали Postman для тестирования своих запросов, да и вообще для проверки того, что API работает. Так вот, знали ли вы о возможности генерить код запроса, в том числе для Swift, прямо из приложения?
🛠 Если вам лень, то вы можете нажать на кнопку Code, и в выпадающем списке выбрать нужный язык, в нашем случае — Swift.
@iOS Dev
😎 Уверен, что многие разработчики использовали Postman для тестирования своих запросов, да и вообще для проверки того, что API работает. Так вот, знали ли вы о возможности генерить код запроса, в том числе для Swift, прямо из приложения?
🛠 Если вам лень, то вы можете нажать на кнопку Code, и в выпадающем списке выбрать нужный язык, в нашем случае — Swift.
@iOS Dev
Туториал по custom transitions в iOS. Прокачиваем стандартные push, pop и modal
📖 В этом руководстве вы узнаете, как заменить push, pop и modal анимации пользовательскими переходами.
🛠Примеры кода находится в репозитории, в нем вы найдете возможности замены стандартных анимаций навигации push & pop на собственные.
Также автор реализовал кастомную модальную анимацию, в которой используются интерактивные переходы.
😉 Очевидно, что есть много разных возможностей, но в этой статье даётся понимание, с чего начать.
@iOS Dev
📖 В этом руководстве вы узнаете, как заменить push, pop и modal анимации пользовательскими переходами.
🛠Примеры кода находится в репозитории, в нем вы найдете возможности замены стандартных анимаций навигации push & pop на собственные.
Также автор реализовал кастомную модальную анимацию, в которой используются интерактивные переходы.
😉 Очевидно, что есть много разных возможностей, но в этой статье даётся понимание, с чего начать.
@iOS Dev
Полное руководство по архитектуре VIPER
📖 В материале с таким названием предлагается узнать, как писать масштабируемый код с использованием VIPER и некоторыми приемами из других архитектур.
Я согласен с автором по многим пунктам.
🧐 Во-первых, НЕ стоит думать, что VIPER — это плохо потому, что кто-то неправильно им воспользовался. MVP хорош для приложения с небольшим объёмом экранов, и я согласен с тем, что не следует использовать VIPER для таких приложений.
🤔 Проблемы могут начаться, когда в приложение попадает все больше компонентов. И вот тут стоит задуматься, а точно ли всё хорошо?
Если в ваших планах небольшое приложение, можно начать с MVC. Позже можно решить проблему массивных контроллеров с помощью MVVM, также подойдет MVP или паттерн координатора.
Автор заверяет, что плохой архитектуры не бывает. Есть плохой выбор, который приводит нас к сложной кодовой базе.
🛠Чтобы писать по-настоящему масштабируемые приложения, можно познакомиться с VIPER с конструктором модулей = VIPER(B).
@iOS Dev
📖 В материале с таким названием предлагается узнать, как писать масштабируемый код с использованием VIPER и некоторыми приемами из других архитектур.
Я согласен с автором по многим пунктам.
🧐 Во-первых, НЕ стоит думать, что VIPER — это плохо потому, что кто-то неправильно им воспользовался. MVP хорош для приложения с небольшим объёмом экранов, и я согласен с тем, что не следует использовать VIPER для таких приложений.
🤔 Проблемы могут начаться, когда в приложение попадает все больше компонентов. И вот тут стоит задуматься, а точно ли всё хорошо?
Если в ваших планах небольшое приложение, можно начать с MVC. Позже можно решить проблему массивных контроллеров с помощью MVVM, также подойдет MVP или паттерн координатора.
Автор заверяет, что плохой архитектуры не бывает. Есть плохой выбор, который приводит нас к сложной кодовой базе.
🛠Чтобы писать по-настоящему масштабируемые приложения, можно познакомиться с VIPER с конструктором модулей = VIPER(B).
@iOS Dev
This media is not supported in your browser
VIEW IN TELEGRAM
Wave — опенсорсное решение для анимаций
Wave — это анимационный движок для iOS и iPadOS. С его помощью легко создавать плавные, интерактивные и прерываемые анимации, которые приятно выглядят.
Согласно заявлениям разработчиков, Wave не имеет внешних зависимостей и может быть легко внедрен в существующие проекты и приложения на базе UIKit.
😉 Основная особенность Wave заключается в том, что все анимации являются ретаргетируемыми. Например, вы можете изменить конечную точку в процессе, и анимация будет изящно перенаправлена на это новое значение.
🛠 Код и пример приложения доступен на Github.
#opensource
@iOS Dev
Wave — это анимационный движок для iOS и iPadOS. С его помощью легко создавать плавные, интерактивные и прерываемые анимации, которые приятно выглядят.
Согласно заявлениям разработчиков, Wave не имеет внешних зависимостей и может быть легко внедрен в существующие проекты и приложения на базе UIKit.
😉 Основная особенность Wave заключается в том, что все анимации являются ретаргетируемыми. Например, вы можете изменить конечную точку в процессе, и анимация будет изящно перенаправлена на это новое значение.
🛠 Код и пример приложения доступен на Github.
#opensource
@iOS Dev
Live Text будет улучшен!
Можно юзать в видосах также, как и в фото! Ну кайфово, что ж.
Можно прям во время звонка засканить ценник в магазине, например, и скинуть своим собеседникам.
Ещё и апгрейд в Visual Look Up.
Можно прям с фоток выделять объекты и пересылать их как аттачи куда угодно. Спасибо за машин лёнин в 2022! Всем по Core ML!
Можно юзать в видосах также, как и в фото! Ну кайфово, что ж.
Можно прям во время звонка засканить ценник в магазине, например, и скинуть своим собеседникам.
Ещё и апгрейд в Visual Look Up.
Можно прям с фоток выделять объекты и пересылать их как аттачи куда угодно. Спасибо за машин лёнин в 2022! Всем по Core ML!
Новости из других миров, прокачивают Wallet
Можно шарить ток определённую информацию. Напоминает процесс авторизации через Apple Sign In (ну, что почту можно скрывать), так и тут можно шарить ключи по стандарту индустрии.
☺️Apple могут и в безопасность (а мы и не сомневались), ну, кроме того слива в iCloud пару лет назад.
Можно шарить ток определённую информацию. Напоминает процесс авторизации через Apple Sign In (ну, что почту можно скрывать), так и тут можно шарить ключи по стандарту индустрии.
☺️Apple могут и в безопасность (а мы и не сомневались), ну, кроме того слива в iCloud пару лет назад.