Новый инструмент для создания анимаций: Lottielab
Можно импортировать или создать свои нуля. Экспорт доступен в формате Lottie, Gif или MP4 на любую платформу.
🤩 Их проект на ProductHunt (к слову, занявший первое место по итогам дня).
🔗 Ссылка на сам продукт (пока он в бете — бесплатно, дальше пока неизвестно).
😃 iOS Dev
Можно импортировать или создать свои нуля. Экспорт доступен в формате Lottie, Gif или MP4 на любую платформу.
🔗 Ссылка на сам продукт (пока он в бете — бесплатно, дальше пока неизвестно).
Please open Telegram to view this post
VIEW IN TELEGRAM
Что для вас определяющий фактор при выборе работы?
Anonymous Poll
82%
Размер зарплаты
36%
Задачи (сложность, разнообразие)
47%
Возможность роста
45%
Команда, коллектив
30%
Репутация компании и продуктов
53%
График работы (наличие удаленки и т.д.)
33%
Стек, инструменты, технологии
20%
Прозрачность процессов внутри
16%
Опция релокации (внутри страны и за пределы)
Как сейчас выглядят собеседования изнутри?
На хабре вышел интересный обзор процесса собеседований.
И пусть речь в этой статье о .Net, но посмотреть на взаимодействие автора и техлида любопытно.
В обзоре рассмотрены причины, почему рекрутинг такой как есть, почему сложно преодолеть порог входа для новичков и вновь сделан упор на небходимость базы.
Тема оказалась острой, чему есть подтверждение в количестве комментариев под статьёй.
📖 Процесс собеседований сейчас.
😃 iOS Dev
На хабре вышел интересный обзор процесса собеседований.
И пусть речь в этой статье о .Net, но посмотреть на взаимодействие автора и техлида любопытно.
В обзоре рассмотрены причины, почему рекрутинг такой как есть, почему сложно преодолеть порог входа для новичков и вновь сделан упор на небходимость базы.
Тема оказалась острой, чему есть подтверждение в количестве комментариев под статьёй.
📖 Процесс собеседований сейчас.
Please open Telegram to view this post
VIEW IN TELEGRAM
Макрос #Predicate в Swift 5.9: фильтрация и поиск
Это новый макрос, появившийся в Swift 5.9 и Xcode 15 и позволяющий фильтровать или искать данные в коллекции.
🧑💻 Его можно рассматривать как замену старомодному
Хотя многие из нас будут использовать макросы, не заботясь о том, какой год генерируется внутри, но полезно узнать и о деталях.
📖 Вот тут хороший разбор того, как можно использовать #Predicate и взгляд на базовую реализацию.
📖 А здесь я писал о ключевых словах в предикатах и логических операциях.
😃 iOS Dev
Это новый макрос, появившийся в Swift 5.9 и Xcode 15 и позволяющий фильтровать или искать данные в коллекции.
NSPredicate
, к которому мы привыкли со времен Objective-C.Хотя многие из нас будут использовать макросы, не заботясь о том, какой год генерируется внутри, но полезно узнать и о деталях.
📖 Вот тут хороший разбор того, как можно использовать #Predicate и взгляд на базовую реализацию.
📖 А здесь я писал о ключевых словах в предикатах и логических операциях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как выйти из внешнего цикла?
Чтобы выйти из нужного цикла, можно добавить любую специальную метку к такому циклу и использовать
Как показывает практика, о таких вещах можно не знать и спустя 5 лет разработки (я тоже не использовал такой способ).
Все совпадения с реальными разработчиками в именах случайны (или нет 😎 ).
😃 iOS Dev
Чтобы выйти из нужного цикла, можно добавить любую специальную метку к такому циклу и использовать
break
с этой меткой. Как показывает практика, о таких вещах можно не знать и спустя 5 лет разработки (я тоже не использовал такой способ).
Please open Telegram to view this post
VIEW IN TELEGRAM
Продвинутые трюки lldb для Swift: внедрение и изменение кода на лету
Хотя в Xcode мы можем добавлять брейкпоинты кликом по строке с кодом, у
Они могут варьироваться от создания методов «на лету» до изменения регистров процессора без необходимости его перекомпиляции, и знание этих команд может значительно улучшить ваш опыт отладки.
И пусть дизассемблирование и запись в память крайне редкое занятие, для повышения производительности можно использовать некоторые более сложные приемы работы с lldb.
📖 Хороший разбор возможностей, вспомогательных методов и их сочетания с брейкпоинтами можно прочесть здесь.
Кстати, если вы захотите создать собственную команду lldb, обратите свой взор сюда😎 .
😃 iOS Dev
Хотя в Xcode мы можем добавлять брейкпоинты кликом по строке с кодом, у
lldb
есть несколько фишек, не представленных в пользовательском интерфейсе. Они могут варьироваться от создания методов «на лету» до изменения регистров процессора без необходимости его перекомпиляции, и знание этих команд может значительно улучшить ваш опыт отладки.
И пусть дизассемблирование и запись в память крайне редкое занятие, для повышения производительности можно использовать некоторые более сложные приемы работы с lldb.
📖 Хороший разбор возможностей, вспомогательных методов и их сочетания с брейкпоинтами можно прочесть здесь.
Кстати, если вы захотите создать собственную команду lldb, обратите свой взор сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
Исследование анимационных кривых в Swift: графики и примеры
Независимо от того, являетесь ли вы дизайнером или разработчиком, понимание принципов формирования анимаций может помочь в работе при создании интерфейса.
Найти точную формулу может быть непросто, поскольку не существует универсального уравнения или стандарта.
Анимация — это сочетание математики и мастерства.
📺 Например, в этом ролике Лукас Гаррон строит свою собственную "идеальную" функцию.
📖 В этом материале рассматриваются основы создания анимаций.
🔗 Кстати, на этом ресурсе можно посмотреть не только на формулы, но и на примеры реализованных анимаций, авторы — Андрей Ситник и Иван Соловьёв.
😃 iOS Dev
Независимо от того, являетесь ли вы дизайнером или разработчиком, понимание принципов формирования анимаций может помочь в работе при создании интерфейса.
Найти точную формулу может быть непросто, поскольку не существует универсального уравнения или стандарта.
Анимация — это сочетание математики и мастерства.
📺 Например, в этом ролике Лукас Гаррон строит свою собственную "идеальную" функцию.
📖 В этом материале рассматриваются основы создания анимаций.
🔗 Кстати, на этом ресурсе можно посмотреть не только на формулы, но и на примеры реализованных анимаций, авторы — Андрей Ситник и Иван Соловьёв.
Please open Telegram to view this post
VIEW IN TELEGRAM
ETTrace — опенсорсный инструмент для измерения производительности
Это фреймворк для iOS, разработанный компанией Emerge.
Хотя Time Profiler технически предоставляет всю необходимую информацию, добиться ее появления может быть очень непросто, даже если вы точно знаете, что делаете.
Например, с этим инструментом не нужно компилировать специальную сборку Profile, как это делается при использовании Xcode и Time Profiler.
📖 Пост с основной информацией от Emerge Tools.
📖 Разбор основных фич с примерами.
🛠 Репозиторий проекта и инструкции по установке.
😃 iOS Dev
Это фреймворк для iOS, разработанный компанией Emerge.
Хотя Time Profiler технически предоставляет всю необходимую информацию, добиться ее появления может быть очень непросто, даже если вы точно знаете, что делаете.
Например, с этим инструментом не нужно компилировать специальную сборку Profile, как это делается при использовании Xcode и Time Profiler.
📖 Пост с основной информацией от Emerge Tools.
📖 Разбор основных фич с примерами.
🛠 Репозиторий проекта и инструкции по установке.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый iPhone
Вчера анонсировали новую линейку яблочных девайсов. Ожидаемо, с переходом на Type-C вместо ставшего едва ли не символом Apple лайтнинга.
Да, конечно это требование ЕС, и вместо того, чтобы вновь ввязываться в многолетние судебные споры, в компании приняли логичное решение.
Особенно учитывая тот факт, что инженеры Apple участвовали в разработке стандарта Type-C, пусть и не так явно и открыто.
Но это и ожидаемо, любые инновации, которые могут принести деньги, в триллионной корпорации находятся под семью печатями, как тот же Thunderbolt до полной передачи прав Intel (подробнее об истории тут). Тогда первым девайсом с поддержкой этого аппаратного интерфейса стал Macbook Pro (в далёком 2011 году).
Конечно, сама презентация получилась без вау-эффекта, но не только по причине недостатка новых фич.
Возможно, причина тому — наше время, когда ещё на стадии производства появляются сливы информации, а к самому анонсу и журналисты, и зрители уже подходят с веером фактов.
Для меня как разработчика в любом случае главное событие года - это WWDC, а не осенний показ, который заставляет проверить ресурсы и подумать, готовы ли вы менять свой телефон прямо сейчас.
Хотя хочется увидеть что-то вроде письма, которое было отправлено Джобсом очень давно.
Там скрыто:Sent from my iPhone .
😃 iOS Dev
Вчера анонсировали новую линейку яблочных девайсов. Ожидаемо, с переходом на Type-C вместо ставшего едва ли не символом Apple лайтнинга.
Да, конечно это требование ЕС, и вместо того, чтобы вновь ввязываться в многолетние судебные споры, в компании приняли логичное решение.
Особенно учитывая тот факт, что инженеры Apple участвовали в разработке стандарта Type-C, пусть и не так явно и открыто.
Но это и ожидаемо, любые инновации, которые могут принести деньги, в триллионной корпорации находятся под семью печатями, как тот же Thunderbolt до полной передачи прав Intel (подробнее об истории тут). Тогда первым девайсом с поддержкой этого аппаратного интерфейса стал Macbook Pro (в далёком 2011 году).
Конечно, сама презентация получилась без вау-эффекта, но не только по причине недостатка новых фич.
Возможно, причина тому — наше время, когда ещё на стадии производства появляются сливы информации, а к самому анонсу и журналисты, и зрители уже подходят с веером фактов.
Для меня как разработчика в любом случае главное событие года - это WWDC, а не осенний показ, который заставляет проверить ресурсы и подумать, готовы ли вы менять свой телефон прямо сейчас.
Хотя хочется увидеть что-то вроде письма, которое было отправлено Джобсом очень давно.
Там скрыто:
Please open Telegram to view this post
VIEW IN TELEGRAM
Оптимизация бинарников: как линкер помогает уменьшить размер приложения?
🧑💻 Обзор функций, а также возможностей линкера никогда не бывает лишним.
Например, полезно знать, какие проблемы могут возникнуть со статической линковкой.
Ответы на эти вопросы можно узнать в этих двух статьях:
➡️ Оптимизация бинарников и принципы работы линкера.
➡️ Типы линковки, таблица статической и динамической линковки.
😃 iOS Dev
Например, полезно знать, какие проблемы могут возникнуть со статической линковкой.
Ответы на эти вопросы можно узнать в этих двух статьях:
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 В Lottie появилась официальная поддержка SwiftUI
В Lottie 4.3.0 добавили новый компонент
Например, он умеет отображать анимацию как синхронно, так и асинхронно, появился
И помимо всего этого в Lottie появилась поддержка рендеринга и анимации эффектов слоя с падающими тенями.
📖 Анонс всех изменений доступен здесь.
😃 iOS Dev
В Lottie 4.3.0 добавили новый компонент
LottieView
, который предоставляет новый декларативный API.Например, он умеет отображать анимацию как синхронно, так и асинхронно, появился
LottiePlaybackMode
, LottieAnimationLayer
, а ещё реализовали поддержку сокращённого (уменьшенного) движения.И помимо всего этого в Lottie появилась поддержка рендеринга и анимации эффектов слоя с падающими тенями.
📖 Анонс всех изменений доступен здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый инструмент для тестирования макросов в Swift
Реализовать макросы непросто, поэтому необходимо написать обширный набор тестов, чтобы убедиться, что были охвачены возможные нюансы.
Авторы PointFree сегодня выкатили новый инструмент
📺 В бесплатном выпуске можно посмотреть (или почитать) возможности либы и узнать, как именно она расширяет инструменты Apple.
🛠 Ссылка на сам инструмент на Github.
😃 iOS Dev
Реализовать макросы непросто, поэтому необходимо написать обширный набор тестов, чтобы убедиться, что были охвачены возможные нюансы.
Авторы PointFree сегодня выкатили новый инструмент
MacroTesting
, простой в использовании и позволяющий проверить все аспекты макросов, включая диагностику, исправления и многое другое.📺 В бесплатном выпуске можно посмотреть (или почитать) возможности либы и узнать, как именно она расширяет инструменты Apple.
🛠 Ссылка на сам инструмент на Github.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉 Swift 5.9 уже доступен!
В мажорной версии появилась система макросов, пакеты параметров, возможность юзать
Но не только это.
В Swift 5.9 появились новые возможности в LLDB и компиляторе.
Команды
А отладочная инфа более точно определяет границы локальных переменных.
Кроме этого, были важные улучшения и в SwiftSyntax (более подробно - тут).
📖 Официальная документация уже содержит обновления для Swift 5.9 и доступна к просмотру.
А сам компилятор Swift 5.9 уже включён в Xcode 15.
😃 iOS Dev
В мажорной версии появилась система макросов, пакеты параметров, возможность юзать
if
и switch
в качестве выражений для возвращаемых значений. Но не только это.
В Swift 5.9 появились новые возможности в LLDB и компиляторе.
Команды
p
и po
теперь выводят локальные переменные и свойства так же быстро, как команды frame variable
или v
.А отладочная инфа более точно определяет границы локальных переменных.
Кроме этого, были важные улучшения и в SwiftSyntax (более подробно - тут).
📖 Официальная документация уже содержит обновления для Swift 5.9 и доступна к просмотру.
А сам компилятор Swift 5.9 уже включён в Xcode 15.
Please open Telegram to view this post
VIEW IN TELEGRAM
Container Background в iOS 17: что это и как использовать в своих проектах
В новой оси появилось понятие
Например, я столкнулся с
Как следует из названия, этот модификатор позволяет определять фоновый вид виджета, тем самым упрощая адаптацию системы к используемому контексту.
📖 В этой статье есть объяснение, как можно адаптировать виджет, или, например, что можно сделать, чтобы система автоматически дропнула этот фон.
😃 iOS Dev
В новой оси появилось понятие
Container Background,
и уже сейчас это приводит к ошибкам в приложениях c использованием WidgetKit. Например, я столкнулся с
Widget needs to adopt container background
, да и в целом c нежелательными поля сбоку.Как следует из названия, этот модификатор позволяет определять фоновый вид виджета, тем самым упрощая адаптацию системы к используемому контексту.
📖 В этой статье есть объяснение, как можно адаптировать виджет, или, например, что можно сделать, чтобы система автоматически дропнула этот фон.
Please open Telegram to view this post
VIEW IN TELEGRAM
Как создать App Clip для вашего приложения
App Clips по факту являются уменьшенными копиями приложений для выполнения определенных задач без необходимости загрузки приложения целиком.
Их размер не превышает 15 МБ, кроме этого они должны быть быстрыми и интуитивно понятными.
🐣 Их также можно запускать из Safari, Карт и даже Messages.
В этом материале есть руководство, как создать App Clip для своего приложения и как генерировать коды, которыми в дальнейшем можно поделиться с пользователями.
😃 iOS Dev
App Clips по факту являются уменьшенными копиями приложений для выполнения определенных задач без необходимости загрузки приложения целиком.
Их размер не превышает 15 МБ, кроме этого они должны быть быстрыми и интуитивно понятными.
В этом материале есть руководство, как создать App Clip для своего приложения и как генерировать коды, которыми в дальнейшем можно поделиться с пользователями.
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли использовать код? Доступный обзор популярных лицензий
🧑💻 Лицензии зачастую содержат огромный объём текста, который не всегда возможно быстро прочесть, а некоторые важные моменты так и остаются расплывчатыми.
📖 На этом ресурсе в справочном виде можно посмотреть краткое описание лицензий в стиле: можно ли использовать код/нужно ли указывать источники и так далее.
😃 iOS Dev
📖 На этом ресурсе в справочном виде можно посмотреть краткое описание лицензий в стиле: можно ли использовать код/нужно ли указывать источники и так далее.
Please open Telegram to view this post
VIEW IN TELEGRAM