Мобильный кот
2.72K subscribers
88 photos
3 videos
2 files
87 links
Все, что считаю важным про жизнь мобильного разработчика

Шкаф с материалами
https://t.me/cat_with_mobile_cabinet
Download Telegram
🛠 Что там с Xcode 13?

После первой недели работы с обновленной средой, свифтом и китом, могу сказать, что…

😊 Понравилось
- Обновление интерфейса.
- Автоимпорт библиотек в swift-файлы. Стоит только упомянуть UILabel, и среда автоматом добавляет import UIKit. Но какого это не работает с либами, загруженными из SPM и CocoaPods?
- Button Configuration. Прямо кайф

🙃 Не понравилось
- Увеличившееся время сборки проектов.
- Странно работающий автокомплит. Может он и крутой, но я пока его не понял.
- Баги, баги, способные привести к потере части кода, что у меня и произошло. Каким-то неведомым образом Xcode начал сохранять часть файлов не в папку проекта, а вообще в другие папки… Но при этом пока еще не было ни одного внезапного краша.

🧐 Вывод
- Если начал проект на предыдущей версии, то лучше заверши версию там же. Избегай мажорных обновлений до выпуска в прод.
- Новые проекты начинай на Xcode 13, особенно если хочешь пощупать новые возможности языка и iOS SDK.
- Храни и используй 2 версии среды, 12.5.1 для стабильной работы со старыми проектами, и 13 (примерно так делаю я всегда).

Вот вам пару программ, которые помогут в этом
- XcLauncher
- Xcodes

Ну или просто качай одну версию со стора, а другую с портала разработчиков.
👮🏼‍♂️О безопасности iOS 🔐

Общаясь с коллегами и знакомыми, пользователями устройств Apple, я стал замечать интересную тенденцию: многие считают, что «Раз я пользуюсь iPhone и mac, то с точки зрения конфиденциальности данных я в полной безопасности. Утечка невозможна, так как система не взламываема, а все устанавливаемые из AppStore приложения проходят жестокую модерацию». Особенно это заметно видно на фоне последней яблочной рекламной компании “Конфиденциальность. Это про iPhone”.

Но iOS и macOS небезупречны. Прекрасным доказательством этому служит расследование организации Amnesty International, получившее название «Проект Пегас» (почитать можно тут | ENG) или в августовском номере журнала Хакер. Если кратко, то на июль 2021 года даже последняя версия iOS (14.6) может быть взломана без необходимости пользователя совершать какие-либо действия.

Это конечно не значит, что за вами охотятся израильские шпионы 🕵🏻, но это говорит о том, что уязвимости существуют, а с выходом новых версий ПО - появляются новые. При этом неумелые действия пользователей делают ситуацию еще хуже, так как большинству из нас не нужно иметь дыры в защите: мы сами устанавливаем приложения из недоверенных источников и переходим по сомнительным ссылкам. Мы же уверены, что «продукцию Apple невозможно взломать».

В результате ваш компьютер становится частью бот-нета, а ваши близкие подвергаются опасности, так как ваши личные данные сливаются в сеть, объединяются в базы, многократно продаются и в итоге маме вашей подруге тёте Нюре звонят из «полиции», так как ее сын задержан после драки и нужно срочно перевести деньги.

Подобная ситуация была и с моими родителями, и это для людей в возрасте настоящее испытание.

К чему это я.

🥸 Будьте бдительны, минимизируйте количество пиратского ПО, не переходите по сомнительным ссылкам, всегда проверяйте домен, на котором вводите пароль или данные банковской карты.

Ну и будьте просто хорошими людьми 😌. Всем отличного воскресенья
🎨 Релиз SF Symbols 3

В конце сентября вышла финальная версия яблочного «каталога и конструктора символов» SF Symbols 3.

Нововведения доступны для iOS 15, iPadOS 15, macOS Monterey (пока что находится в бете), tvOS 15, и watchOS 8.

- 600+ новых символов.
- Расширенные возможности цветовой кастомизации.
- Прокачанный импорт собственных символов.
- Местами обновленный интерфейс.

Скачиваем тут

👨‍🔬Мое мнение: программа обязательно к ознакомлению и употреблению.

Другие полезные #инструменты
💬Текстовое поле для ввода кода подтверждения из смс или email

В ходе работы над небольшой социалкой Swyzzy потребовалось реализовать поле для ввода кода подтверждения. Посмотрел рынок и нашел простую и симпатичную реализацию в мессенджере Signal.

Запилил и вспомнил, что недавно в чате спрашивали про реализацию такого поля. Вся сложность была в том, как именно делать это: одним или несколькими текстовыми полями, а так же как реализовать переход между ними при вставке и удалении символов.

В итоге оформил в качестве SPM-пакета.

📒 Кратко о возможностях:

- Настройка количества блоков и элементов в этих блоках (видите в середине разрыв между блоками?);
- использование как в коде, так и с помощью Interface Builder;

🛠 В общем, если кому потребуется:

- пользуйтесь в качестве готового решения;
- используйте в качестве основы для собственной реализации;
- говорите, что еще требуется, я допилю.

В следующем релизе расширю возможности кастомизации и доступное API. Далее добавлю конфигуратор элементов, с помощью которого можно будет формировать поле любого вида (текстовые префиксы, постфиксы, сепараторы между блоками).

Смотреть тут

#библиотека
📱 Apple Tech Talks 2021

Если вы участвуете в Apple Developer Program, то уже получили соответствующий mail. Продублирую: 25 октября - 17 декабря - даты проведения Tech Talks 2021, на котором его участники смогут задать вопросы спикерам и узнать, как использовать последние нововведения.

📣 Программа выступлений очень большая и будет пополняться вплоть за завершения. Вот несколько интересных лично мне тем:

- A conversation with SwiftUI Engineering
- Meet with Technology Evangelism
- Meet with App Review
- Meet with the App Store Connect team

Обратите внимание, что встречи проводятся в ограниченном формате по предварительной записи. Но начиная с 1 ноября их можно будет найти в приложении Apple Developer.

Все информация, включая расписание, доступна по этой ссылке.

#мероприятия
Минута до старта 🚀
👩‍💻ONLINE
📆31 октября (воскресенье)
19:00 по Москве


Coffee&Code в новом формате аудиочата. Как и всегда, пообщаемся на актуальные темы:

- обсудим как можно совмещать работу и прохождение собеседований с путешествием автостопом;
- как переквалифицироваться за пол года и залететь в хорошую компанию на интересный проект (траектория для начинающих);
- похоливарим за новые маки.

Встречаемся в 19:00 в этом телеграм-канале.
📚Книга "Карьера программиста"
✍️Автор Гэйл Лакман Макдауэлл

Праздники - это отличное время, для того, чтобы провести время с близкими, но так же это прекрасная возможность начать подготовку к смене работы или чтобы просто узнать что-то новое и интересное.

Книга "Карьера программиста" содержит бесценный материал, который поможет вам при собеседовании как в таких крупных гигантах, вроде Goolgle, Microsoft, Яндекс, так и в небольших компаниях. Помимо сотен вопросов по самым разных темам, от структур данных и алгоритмов, до многопоточности и баз данных. в ней содержатся бесценные рекомендации по составлению резюме, созданию правильного настроя, разговоре с HR и интервьювером.

Личное мнение: Я еще не дочитал книгу до конца, да и врядли сделаю это в обозримом будущем, потому что стараюсь разбирать каждый вопрос, если в нем встречается что-то непонятное. Эта книга может стать для вас прекрасным хобби, или просто возможностью отвлечься от других дел.

Оценка: 10 нанятых программистов из 10.
Основная проблема разработчика на UIKit в том, что ему нужно найти ответ на вопрос

Как продолжать писать приложения на UIKit, после того, как он попробовал SwiftUI в деле

Пост конечно шуточный, но со здравой долей истины. Попробуй SwiftUI и то, что возможно создать на нем за пол часа, и ты захочешь переписать остальные проекты, над которыми сидели предыдущие месяцы) Это как Combine, да и реактивное программирование в общем: получив в руки этот молоток все вокруг стало казаться гвоздем.

Ну а если по делу, то вот вам не особо известный, но очень крутой бесплатный курс по SwiftUI. В нем все, что требуется для старта, от основ до более продвинутого использования.

За наводку спасибо @g01dt00th

Как смотреть с плохим знанием английского

🤖Ни для кого не секрет, что не так давно Яндекс открыл возможность синхронного перевода видео. Пользуйтесь! Работает довольно достойно. Но лучше все же изучайте английский, он вам потребуется, когда будете устраиваться на работу с иностранную компанию.
🖖Друзья, сегодня (13 ноября) с 13:00 до 16:00 Яндекс проводит Yet another Mobile Party — онлайн митап для iOS- и Android-разработчиков.

Все профессии имеют свою темную сторону, о которой не принято говорить. В необычном формате видеоподкаста мы обсудим какие страхи испытывают тимлиды, поделимся самыми страшными историями про свои факапы и FOMO в разработке, обсудим Code review «здорового человека». В завершение встречи вместе с психологом поговорим про страхи разработчиков.

Митап БЕСПЛАТНЫЙ, для ВСЕХ ЖЕЛАЮЩИХ, пройдет онлайн.

☕️ Так что, если вы сегодня не пошли на нашу встречу Coffee&Code, то вот вам другой хороший вариант.

📨 Ссылка на трансляцию придет после регистрации → https://clck.ru/YniqX
👨‍🏫 Конференция про Анимации в iOS

Сезон конференций продолжается.

Нужно ли использовать анимации в интерфейсе своих приложений? Я думаю, что нужно, так как при умелом использовании это позволяет оживить интерфейс, сделать его более интересным.

Если тебе интересна эта тема, то с 22 ноября стартует онлайн-конференция 🚢 iOS Podlodka Crew, целиком и полностью посвященная анимациям при разработке на Swift.

За 3500 денег ты получишь 5 дней утренних и вечерних сессий на темы:
- анимационного стека от UIView до Metal;
- CoreAnimation под капотом;
- как легко анимировать таблички;
- основы анимаций в SwiftUI;
и другое.

Всем интересующимся переходить сюда.
⚠️ Шрифт для True-разработчиков

Программисты всегда стремятся создать вокруг себя комфортные условиях, в которых и код будет писаться быстрее, и интерфейс рисоваться красивее. И этот комфорт выражается не только в стуле/столе/комнате, но и в порядке в операционке и удобстве среды разработки. Очень важно, чтобы и программный код читался, писался и воспринимался легко и просто. И хоть San Francisco с этим справляется на твердую 5, есть кое-что, чему я поставлю 5+.

FiraCode - мой фаворит среди шрифтов для Xcode (но я использую его и в Visual Studio Code, Coda2, Sublime Text). Прекрасный моноширный шрифт, созданный специально для разработчиков. Все ровно, красиво, как нужно. Я на нем всего несколько дней, но мне он, как говорится, "зашёл".

Одной из особенностей является то, что он подменяет некоторые комбинации символов(!=, -> и др.), делая код действительно более читабельным.

За наводку спасибо @ivalkou

#здоровьеразработчика #инструменты

Перейти в репозиторий FiraCode на GitHub
📱Официальные PNG, PSD шаблоны яблочной техники

Больше можно не гуглить "Шаблон айфон прозрачный фон", все есть красиво, удобно и на одном ресурсе. А что самое важно - официально от Apple. Это значит, что шаблоны всех актуальных устройств от TV до Watch всегда будут доступны.

Посмотреть и скачать.

#инструменты
2022 год. Рынок переполнен? iOS-разработчики уже не нужны?

🤤 Или на рынке голод? И перпективного девелопера "оторвут с руками"?

На этот и многие другие вопросы найдете ответы в отличном выпуске подкаста "Запуск завтра" - Как нанять айтишника в 2022 году и почему это стало почти невозможно.

ℹ️Обязательно к ознакомлению всем, кто хочет быть в курсе ситуации на рынке IT-специалистов, и это не только про iOS-разработку.

☝🏼Если кратко, то:
- В 2021 спрос на разработчиков рос быстрее предложения. В 2022 будет еще сложнее.
- Зарплаты растут вместе со спросом.
- Аппетиты разработчиков растут вместе с зарплатами.
- Зарубежные компании поглощают русские таланты.

И самое важное, на мой взгляд.
Сегодня разработчик выбирает работу, ориентируясь не только на зарплату, но и "сердцем". Поэтому фирмы стараются создавать максимально комфортные условия.

Очередной раз убедился, что перспективы у IT-специалистов потрясающие.

Ссылка на выпуск: Apple Подкасты
Внимание: выпуск по платной подписке, но есть бесплатный пробный период.

P.S. За иконки на картинке спасибо Flaticon
Поговорим о том, как вы используете паттерн MVVM, а точнее, как вы распределяете обязанности между Model и ViewModel.

Где вы размещяете бизнес-логику? Если подходящего варианта ответа нет - пишите в комментариях.
Anonymous Poll
55%
Во ViewModel. Стараюсь, чтобы Model была максимально "тупой" и статичной.
18%
В Model, точно так, как это было в MVC/P.
4%
Не парюсь и размазываю логику между ними, как получится.
28%
У меня нет бизнеса и бизнес-логики тоже.