Xcode 15
Наглядно для тех, кто пропустил про новинки и изменения в Xcode 15. Очень жаль, что AI инструментов анализа и исправления кода так и не завезли 😢
Наглядно для тех, кто пропустил про новинки и изменения в Xcode 15. Очень жаль, что AI инструментов анализа и исправления кода так и не завезли 😢
YouTube
What's New in Xcode 15
Learn how to download and maintain multiple versions of Xcode and learn about the new features available in Xcode 15 so you can start taking advantage of new workflows and features introduced for iOS and iPadOS 17, WatchOS 10 and macOS 14
If you want to…
If you want to…
👍4
Работа в крупных корпорациях
В предыдущем посте в комментариях прозвучала мысль, что крупным компаниям часто присуще наличие:
➖ бюрократии
➖ технического долга
➖ устаревших технологий и отсутствия возможности внедрения и использования новых технологий
Я думаю, что этот список можно еще бесконечно дополнять всем тем, за что "хейтят" большие компании. Но я не сторонник таких рассуждений, потому что считаю, что эти проблемы скорее характерны отдельным командам, которых в корпорациях может быть сотни и тысячи, и от команды к команде процессы, инструменты и стек технологий могут отличаться.
В больших корпорациях почти всегда есть отделы, которые тестируют новые технологии, новые подходы и проводят исследования инструментов рынка, чтобы не отставать от него. И в этих же корпорациях есть возможность перед принятием предложения о работе познакомиться с командой — узнать о их стеке, достижениях и понять, насколько комфортно будет работать в ней.
С другой стороны, в маленьких стартапах часто есть отделы разработки ключевого функционала, который должен быть стабилен, и любые изменения в нем должны пройти множество кругов согласования, прежде чем попасть в прод. В аутсорс-компаниях, где важна скорость работы, сомневаюсь, что часто занимаются рефакторингом, написанием тестов и избавлением от устаревших решений. По крайней мере, я встречал только таких, кто делает все, чтобы быстрее сдать заказчику.
То есть важно выбирать и искать команду, а не рассуждать категориями — тут плохо, потому что это корпорация, а тут хорошо, потому что это стартап.
P.S. А на картинке то, как видит работу в корпорации генеративная модель одной всем известной компании. Чем дольше смотришь, тем больше странного замечаешь 😬
В предыдущем посте в комментариях прозвучала мысль, что крупным компаниям часто присуще наличие:
Я думаю, что этот список можно еще бесконечно дополнять всем тем, за что "хейтят" большие компании. Но я не сторонник таких рассуждений, потому что считаю, что эти проблемы скорее характерны отдельным командам, которых в корпорациях может быть сотни и тысячи, и от команды к команде процессы, инструменты и стек технологий могут отличаться.
В больших корпорациях почти всегда есть отделы, которые тестируют новые технологии, новые подходы и проводят исследования инструментов рынка, чтобы не отставать от него. И в этих же корпорациях есть возможность перед принятием предложения о работе познакомиться с командой — узнать о их стеке, достижениях и понять, насколько комфортно будет работать в ней.
С другой стороны, в маленьких стартапах часто есть отделы разработки ключевого функционала, который должен быть стабилен, и любые изменения в нем должны пройти множество кругов согласования, прежде чем попасть в прод. В аутсорс-компаниях, где важна скорость работы, сомневаюсь, что часто занимаются рефакторингом, написанием тестов и избавлением от устаревших решений. По крайней мере, я встречал только таких, кто делает все, чтобы быстрее сдать заказчику.
То есть важно выбирать и искать команду, а не рассуждать категориями — тут плохо, потому что это корпорация, а тут хорошо, потому что это стартап.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8❤🔥1👍1🔥1
Как не забросить свой pet-проект
Готов многократно повторять о важности pet-проектов — это одна из лучших возможностей для роста как T-shaped специалиста, то есть роста не в глубину, а в ширину в мобильной разработке: разобраться в специфике работы сторов — ревью и отправкой на проверку, релизом и раскаткой на пользователей, продвижением, разобраться с маркетингом, дизайном, возможно, наймом сторонних людей. Все это позволяет становиться более ценным сотрудником для бизнеса.
В статье автор рассказывает о том, сколько заняла разработка, с какими сложностями он столкнулся и как их решал, какой стек и какие инструменты использовал и как нашел помощников, которые помогли довести проект до релиза. Отдельного лайка заслуживает использование chatGPT.
Из интересного — проект находится в open source, и вы можете принять участие в его развитии. А это хороший способ прокачаться новичку и получить дополнительную строчку в резюме.
Готов многократно повторять о важности pet-проектов — это одна из лучших возможностей для роста как T-shaped специалиста, то есть роста не в глубину, а в ширину в мобильной разработке: разобраться в специфике работы сторов — ревью и отправкой на проверку, релизом и раскаткой на пользователей, продвижением, разобраться с маркетингом, дизайном, возможно, наймом сторонних людей. Все это позволяет становиться более ценным сотрудником для бизнеса.
В статье автор рассказывает о том, сколько заняла разработка, с какими сложностями он столкнулся и как их решал, какой стек и какие инструменты использовал и как нашел помощников, которые помогли довести проект до релиза. Отдельного лайка заслуживает использование chatGPT.
Из интересного — проект находится в open source, и вы можете принять участие в его развитии. А это хороший способ прокачаться новичку и получить дополнительную строчку в резюме.
👍11❤🔥1🔥1
Подходы к навигации в iOS
iOS навигация всегда вызывает боль, особенно когда необходимо поддерживать переходы из разных экранов, диплинки, сохранение состояния, present поверх present'а со своим навигационным стеком и кастомные анимации.
Андрей Зонов из Тинькофф Бухгалтерии рассказывает как они строили навигацию у себя, какие решения рассматривали и к чему в итоге пришли.
iOS навигация всегда вызывает боль, особенно когда необходимо поддерживать переходы из разных экранов, диплинки, сохранение состояния, present поверх present'а со своим навигационным стеком и кастомные анимации.
Андрей Зонов из Тинькофф Бухгалтерии рассказывает как они строили навигацию у себя, какие решения рассматривали и к чему в итоге пришли.
YouTube
Декларативная навигация в iOS-приложении — Андрей Зонов, Тинькофф
Андрей поделился практическим опытом из текущего проекта интеграции диплинков для модулей, использующихся в разных приложениях. Рассказал о проблемах, с которыми они столкнулись, и решениях, к которым пришли в итоге.
0:00 Вступление
0:59 Для кого это видео…
0:00 Вступление
0:59 Для кого это видео…
👍16🔥5❤🔥3❤1
Очень удивился увидев пост про поиски джуна с опытом работы с Objective-C. Но закинул его другу, который сейчас в поисках работы, чтобы он откликнулся. Подумал, что скорее всего это не такие уж и жесткие требования, а скорее рекомендации. Но моего друга развернули с формулировкой: "опыт с objc очень критичен, так как предстоит много всего переписывать на Swift".
Попробую объяснить почему считаю это не очень рациональным:
- Количество джунов знающих objc скорее всего достаточно низкое
- Код на objc рано или поздно будет переписан, а хорошие кандидаты могут быть пропущены из-за этого требования
- Джун вряд справится лучше с переписыванием чем сервисы конвертации из одного языка в другой. Или того же chatGPT. А выбирая между джуном и автоматизацией, кажется, выгоднее выбрать второе, ведь сервис не заболеет, не выйдет на работу или откажется работать за еду.
А выводы такие, что не стоит слушать, говорящих: "этот этот язык, технология или инструмент точно никому не нужны".Но это точно не тот случай 😅
Попробую объяснить почему считаю это не очень рациональным:
- Количество джунов знающих objc скорее всего достаточно низкое
- Код на objc рано или поздно будет переписан, а хорошие кандидаты могут быть пропущены из-за этого требования
- Джун вряд справится лучше с переписыванием чем сервисы конвертации из одного языка в другой. Или того же chatGPT. А выбирая между джуном и автоматизацией, кажется, выгоднее выбрать второе
А выводы такие, что не стоит слушать, говорящих: "этот этот язык, технология или инструмент точно никому не нужны".
😁11🤬5
Код – это продукт?
По мотивам обсуждения в комментариях к предыдущему посту. Многие думают, что код – это и есть продукт, и получив код любого проекта, можно легко и просто скопировать его и начать зарабатывать. Но, к сожалению, это абсолютно не так.
Вы сможете повторить UI, но не сможете "откусить" часть пользователей. Почему только первая Flappy Bird была популярна? Хотя ее кодовую базу в первые дни можно было купить. Да можно и не покупать, а сделать все самому, ведь кода там не так много, а вытащить ресурсы из APK-файла не очень сложно.
Продукт и его ценность определяют не его код и даже не его качество (отдельный привет тем, кто думает, что только на основе хорошей кодовой базы можно построить серьезный продукт), а множество разных вещей, вовсе не связанных с разработкой. Сделать приложение / сайт / игру почти всегда проще, чем начать на нем зарабатывать.
По мотивам обсуждения в комментариях к предыдущему посту. Многие думают, что код – это и есть продукт, и получив код любого проекта, можно легко и просто скопировать его и начать зарабатывать. Но, к сожалению, это абсолютно не так.
Вы сможете повторить UI, но не сможете "откусить" часть пользователей. Почему только первая Flappy Bird была популярна? Хотя ее кодовую базу в первые дни можно было купить. Да можно и не покупать, а сделать все самому, ведь кода там не так много, а вытащить ресурсы из APK-файла не очень сложно.
Продукт и его ценность определяют не его код и даже не его качество (отдельный привет тем, кто думает, что только на основе хорошей кодовой базы можно построить серьезный продукт), а множество разных вещей, вовсе не связанных с разработкой. Сделать приложение / сайт / игру почти всегда проще, чем начать на нем зарабатывать.
👍14
А11 аудит в Xcode 15
В новый Xcode добавили возможность провести аудит доступности интерфейсов с помощью UI тестов и метода performAccessibilityAudit(for:_:).
Какие проблемы позволяет найти:
- низкую контрастность
- отсутствие UI идентификаторов для Voice Over
- маленькую область нажатия
- отсутствие динамических размеров шрифтов
- неправильное обрезание текста
Хороший шаг вперед по улучшению доступности 🔥
В новый Xcode добавили возможность провести аудит доступности интерфейсов с помощью UI тестов и метода performAccessibilityAudit(for:_:).
Какие проблемы позволяет найти:
- низкую контрастность
- отсутствие UI идентификаторов для Voice Over
- маленькую область нажатия
- отсутствие динамических размеров шрифтов
- неправильное обрезание текста
Хороший шаг вперед по улучшению доступности 🔥
🔥20
Поиск информации из 3к23
Уже многие слышали про ChatGPT и Copilot, но не многие дошли до ежедневного использования, и еще меньше поняли, как использовать в своей работе. Попробую это немного исправить и приобщить больше людей к использованию генеративных моделей в своей работе. Причем можно взять на вооружение не только разработчикам и работникам IT-сферы. Этот инструмент в целом меняет подход к поиску информации.
Что нужно сделать:
1️⃣ Зайти на perplexity.ai
2️⃣ Если хотите получить ответ с кодом, залогиньтесь и включите тоггл Copilot
3️⃣ Сформируйте и напишите свой вопрос
4️⃣ Восхищайтесь ответом и начинайте пользоваться на регулярной основе ✨ .
А если серьезно, попробуйте в следующий раз пойти не в гугл, а попробовать найти ответ с помощью perplexity.
Я думаю, что это MVP того, как будут выглядеть все поисковые сервисы в будущем. Вы текстом формируете запрос, а не включаете кучу тумблеров, включаете миллион галочек (привет, поиск в Циане) и получаете релевантный ответ. А ссылки уже идут дополнительной частью и указаны как источник, откуда код или ответ был взят.
В примере, я попробовалзагуглить "спросить": "как создать и показать камеру на Swift'е" и помоему получилось очень круто! Посмотреть на весь ответ и запрос можно тут.
Уже многие слышали про ChatGPT и Copilot, но не многие дошли до ежедневного использования, и еще меньше поняли, как использовать в своей работе. Попробую это немного исправить и приобщить больше людей к использованию генеративных моделей в своей работе. Причем можно взять на вооружение не только разработчикам и работникам IT-сферы. Этот инструмент в целом меняет подход к поиску информации.
Что нужно сделать:
А если серьезно, попробуйте в следующий раз пойти не в гугл, а попробовать найти ответ с помощью perplexity.
Я думаю, что это MVP того, как будут выглядеть все поисковые сервисы в будущем. Вы текстом формируете запрос, а не включаете кучу тумблеров, включаете миллион галочек (привет, поиск в Циане) и получаете релевантный ответ. А ссылки уже идут дополнительной частью и указаны как источник, откуда код или ответ был взят.
В примере, я попробовал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥1
Universal Links
В мобильных приложениях есть технология Universal Links (в Android App Links) – обычные веб-ссылки, которые могут перехватываться системой и открываться в приложении. Если же приложение не способно обработать такую ссылку или не установлено, то система просто откроет веб-страницу в браузере.
Очень крутая технология, если не используете в своих проектах, то самое время задуматься. Не так давно Apple выпустила Technote про эти ссылки, где подробно рассказали:
➖ про их работу
➖ как их дебажить и тестировать
➖ как настраивать и конфигурировать
➖ раскрыли как долго хранится кеш AASA файла
Раньше по универсальным ссылкам было не так много документации и возникало много вопросов и проблем при тестировании. Хорошо, что Apple понимает, что их документация не исчерпывающая и стараются это исправить. Плохо, что далеко не по всем технологиям и фреймворкам 🌚
В мобильных приложениях есть технология Universal Links (в Android App Links) – обычные веб-ссылки, которые могут перехватываться системой и открываться в приложении. Если же приложение не способно обработать такую ссылку или не установлено, то система просто откроет веб-страницу в браузере.
Очень крутая технология, если не используете в своих проектах, то самое время задуматься. Не так давно Apple выпустила Technote про эти ссылки, где подробно рассказали:
Раньше по универсальным ссылкам было не так много документации и возникало много вопросов и проблем при тестировании. Хорошо, что Apple понимает, что их документация не исчерпывающая и стараются это исправить. Плохо, что далеко не по всем технологиям и фреймворкам 🌚
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple Developer Documentation
TN3155: Debugging universal links | Apple Developer Documentation
Investigate why your universal links are opening in a web browser instead of your app.
🔥12
Презентация Apple
Я уже привык не ожидать "вау" эффекта от весенних презентаций Apple. Но вчерашняя была большим разочарованием.
Почти вся презентация была посвящена экологии, и хотя мне понравился ролик с Mother Nature, делать такой акцент на неё на главной продуктовой презентации было явно лишним. Кажется, что Apple просто пыталась заполнить "эфирное" время экологией, так как новые устройства остались практически без изменений, и о них особо нечего было рассказывать.
Из того, что понравилось: акцент на играх и USB-C. Хотя последний и не заслуга Apple, а требование ЕС, это всё равно большой шаг к единому интерфейсу для всех устройств. А игры, мне кажется, это следующий рынок, куда попытается зайти Apple. Так было с музыкой, так происходит с сериалами и фильмами, и думаю, что так будет и с играми. Особенно интересно наблюдать за этим с учетом скорого выхода Vision Pro.
Ну и о грустном: никаких новостей про альтернативные сторы 😕
Я уже привык не ожидать "вау" эффекта от весенних презентаций Apple. Но вчерашняя была большим разочарованием.
Почти вся презентация была посвящена экологии, и хотя мне понравился ролик с Mother Nature, делать такой акцент на неё на главной продуктовой презентации было явно лишним. Кажется, что Apple просто пыталась заполнить "эфирное" время экологией, так как новые устройства остались практически без изменений, и о них особо нечего было рассказывать.
Из того, что понравилось: акцент на играх и USB-C. Хотя последний и не заслуга Apple, а требование ЕС, это всё равно большой шаг к единому интерфейсу для всех устройств. А игры, мне кажется, это следующий рынок, куда попытается зайти Apple. Так было с музыкой, так происходит с сериалами и фильмами, и думаю, что так будет и с играми. Особенно интересно наблюдать за этим с учетом скорого выхода Vision Pro.
Ну и о грустном: никаких новостей про альтернативные сторы 😕
😢19👍4😁3❤2
Поддержка старых версий iOS
Сегодня выходит iOS 17, а значит это повод пересмотреть минимально поддерживаемые версии.
Как известно, пользователи Apple достаточно активно обновляются, и список устройств, поддерживающих новую операционную систему всегда большой. По статистике AppStore:
➖ 90% iPhone уже используют iOS 16, а 8% используют iOS 15.
➖ 76% iPad используют iPadOS 16, в то время как 18% остались на iPadOS 15.
Таким образом, судя по данным, поддерживать iOS 14 и тем более iOS 13 становится все менее целесообразным. Отказ от старых версий позволит сэкономить время на тестировании и использовать новые функции и фреймворки. Например, начиная с iOS 15, стал доступен StoreKit 2, который значительно упрощает работу с покупками в приложении. Полный список изменений, доступных с iOS 15, можно найти здесь.
Поэтому обсудите с бизнесом возможность отказа от поддержки старых версий, если этого еще не сделали.
Сегодня выходит iOS 17, а значит это повод пересмотреть минимально поддерживаемые версии.
Как известно, пользователи Apple достаточно активно обновляются, и список устройств, поддерживающих новую операционную систему всегда большой. По статистике AppStore:
Таким образом, судя по данным, поддерживать iOS 14 и тем более iOS 13 становится все менее целесообразным. Отказ от старых версий позволит сэкономить время на тестировании и использовать новые функции и фреймворки. Например, начиная с iOS 15, стал доступен StoreKit 2, который значительно упрощает работу с покупками в приложении. Полный список изменений, доступных с iOS 15, можно найти здесь.
Поэтому обсудите с бизнесом возможность отказа от поддержки старых версий, если этого еще не сделали.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple
App Store - Support - Apple Developer
The App Store makes it simple for users to discover, purchase, and download apps for iPhone, iPad, Mac, Apple TV, and Apple Watch. Enroll in the Apple Developer Program to distribute your apps worldwide on the App Store.
👍13
Скругляй углы правильно
К счастью, мне всегда попадались UI-дизайнеры, которые придирались, как мне тогда казалось, к мелочам:
➖ теням: их плотности, расположению и направлению
➖ шрифтам: их начертанию, размеру и количеству
➖ скруглениям углов: пришлось узнать чем квадрокруг (squircle) отличается от скругленного квадрата (rounded squares)
➖ отступам: наверное, этому было уделено больше всего времени, и я усвоил зачем и какие отступы где нужны
И я отчетливо стал понимать, что пользователям не важно, насколько крутая архитектура под капотом, если у вас "грязный" UI. Причем, раньше я просто ощущал, что что-то не так, а теперь начал понимать и замечать, что именно не так.
В статье простым языком про правила скругления. Она точно будет полезна как инди-разработчикам, которые смогут прокачать свои интерфейсы, так и обычным разработчикам, чтобы начать лучше понимать дизайнеров.
К счастью, мне всегда попадались UI-дизайнеры, которые придирались, как мне тогда казалось, к мелочам:
И я отчетливо стал понимать, что пользователям не важно, насколько крутая архитектура под капотом, если у вас "грязный" UI. Причем, раньше я просто ощущал, что что-то не так, а теперь начал понимать и замечать, что именно не так.
В статье простым языком про правила скругления. Она точно будет полезна как инди-разработчикам, которые смогут прокачать свои интерфейсы, так и обычным разработчикам, чтобы начать лучше понимать дизайнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥2
Случайно зашел в раздел "Пульс в покое" в приложении "Здоровье" и заметил резкие спады в январе и июне. В июне я ушел в большой отпуск, а январь полон праздничных дней. А между этими месяцами заметен линейный рост.
Напоминаю, что существует связь между стрессом и продолжительностью жизни. Такая же связь есть между пульсом в покое и стрессом. Я не менял свои жизненные привычки в эти месяцы, так что можно сказать, что это график нарастающей усталости и стресса.
Что произошло в сентябре, я попробую еще разгадать. И почему средний пульс так резко поднялся после июня, тоже загадка. Возможно, стоило более плавно возвращаться в рабочий режим.
P.S. Начал считать Apple Watch чуть менее бесполезными. Нужна фича: "вам пора в отпуск, иначе вы умрете".
Напоминаю, что существует связь между стрессом и продолжительностью жизни. Такая же связь есть между пульсом в покое и стрессом. Я не менял свои жизненные привычки в эти месяцы, так что можно сказать, что это график нарастающей усталости и стресса.
Что произошло в сентябре, я попробую еще разгадать. И почему средний пульс так резко поднялся после июня, тоже загадка. Возможно, стоило более плавно возвращаться в рабочий режим.
❤20👍6👎1
Сторисы доступы каналам 🔥
Телеграм выкатил сторисы для каналов, но чтобы они стали доступы, вы должны закинуть лайк, имея премиум подписку.
Поэтому поддержите мой канал - закиньте свой буст. А от меня больше постов про разбработку, развитие и топ лайфхаки.
Нажимам сюда и бустим🫶 (если кнопка не доступна, вам нужно обновить телеграм)
Телеграм выкатил сторисы для каналов, но чтобы они стали доступы, вы должны закинуть лайк, имея премиум подписку.
Поэтому поддержите мой канал - закиньте свой буст. А от меня больше постов про разбработку, развитие и топ лайфхаки.
Нажимам сюда и бустим
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
EasySwift iOS🍏
Проголосуйте за канал, чтобы он получил больше возможностей.
❤2
Mobile SRE
Забыл поделиться супер крутой статьей о том, как мы следим за производительностью и надежностью наших мобильных приложений от техно менеджера Даниэля Халиулина.
В статье про:
➖ что такое SRE в мобильной разработке и чем оно отличается от SRE в бэкенде
➖ как у нас появилась мобильная SRE команда и чем она занимается
➖ что такое observability и какие данные мы собираем
➖ и поучительная история про то, как мы положили наше главное приложение простой ошибкой.
Если вы до сих пор не собираете метрики доступности, то лучше задуматься об этом сейчас, а не когда у вас будет лежать приложение, а вы об этом узнаете от топ менеджмента😬
Забыл поделиться супер крутой статьей о том, как мы следим за производительностью и надежностью наших мобильных приложений от техно менеджера Даниэля Халиулина.
В статье про:
Если вы до сих пор не собираете метрики доступности, то лучше задуматься об этом сейчас, а не когда у вас будет лежать приложение, а вы об этом узнаете от топ менеджмента
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Дебаг меню
Интересная статья от ребят из Альфы про их дебаг меню, его возможности и инструменты, которые они в нем реализовали.
Иерархия UIView вообще 🔥
Интересная статья от ребят из Альфы про их дебаг меню, его возможности и инструменты, которые они в нем реализовали.
Иерархия UIView вообще 🔥
🔥44👍1🤔1
SwiftUI и snapshot-тесты
Неочевидное использование SwiftUI Preview, упростившее разработку и интеграцию snapshot тестов.
Еще один, пусть и небольшой, плюсик в копилку использования SwiftUI и современных фрейморков в проде.
Неочевидное использование SwiftUI Preview, упростившее разработку и интеграцию snapshot тестов.
Еще один, пусть и небольшой, плюсик в копилку использования SwiftUI и современных фрейморков в проде.
👍12❤2🔥2🤔1