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

Шкаф с материалами
https://t.me/cat_with_mobile_cabinet
Download Telegram
⚠️ Шрифт для 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%
У меня нет бизнеса и бизнес-логики тоже.
Подготовил справочку по Property wrappers в вашем SwiftUI-проекте.

Кратко о выборе и использование популярных оберток.

🔗 https://swiftme.ru/swiftui-property-wrappers-9540

#инструменты

P.S. Список доступных @Environment-объектов пополняется.

P.S.S. Исходник схемы на англ. тут.
📚 Книга Swift. Разработка приложений под iOS на основе фреймворка UIKit (вторая книга серии) поступила из типографии.

Все предзаказанные экземпляры будут разосланы в ближайшие дни.

Оформить заказ бумажной или электронной (PDF, EPUB) версии можно тут

P.S. Книг, с учетом предзаказа, как обычно, не то, чтобы очень много в наличии 😉
📄Джунам и «неключевым» специалистам стало тяжело, остальных будут выбирать: что случилось с наймом в ИТ весной 2022 года

Основательница агентства NEWHR и сервиса анонимного поиска работы Geekjob, а также кофаундер образовательной площадки docrecruiting.ru Кира Кузьменко рассказала vc.ru, куда двинулись специалисты и зачем занижают грейды, где готовы нанимать русских и для чего всё-таки надо было учиться говорить на английском.

Перейти к статье

Отдельного внимания заслуживает вот эта табличка с текущей ситуацией найма в различных компаниях
📚Книга "Типы в языках программирования"
✍️Автор Бенджамин Пирс

#книга

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

Личное мнение: Многое в книге и правда оказалось ОЧЕНЬ интересным! Понятие системы типов теперь для меня не пустой звук. Но давно я не встречал книги с такими требованиями к математической базе читателя. Институт окончен уже давно, поэтому приходилось постоянно возвращаться к матанализу, матлогике и другим сферам знаний, перечитывать их, пытаться воскресить знания в памяти👨‍🎓, нередко безуспешно 🙊. Не читайте книгу полностью, об этом говорит и сам автор, рассматривайте те главы, которые нужны и интересны конкретно вам.

Для меня причиной покупки стала глава про Экзистенциальные типы, очень хотелось глубже понять, что это за зверь и зачем нам слово any в новом свифте. Оказалось, что в качестве подготовки перед этой главой нужно изучить еще шесть)) и началось веселье.
This media is not supported in your browser
VIEW IN TELEGRAM
😁Интересно, как Apple выбирает, что добавить на панель автозаполнения текста

Использовал новый «чистый» симулятор, выбрал TextEditor, прощелкал среднюю кнопку, перевел, пошел в зал на ночь в девченками 😱 ужинать
📽Fig - бесплатный автокомплит для популярных терминалов и IDE

#инструменты

Fig занял почетное место в моем списке утилит, которыми я пользуюсь практически каждый рабочий день. 😍

Красивый, удобный, кастомизируемый интерфейс автокомплита, прекрасно работает как с Терминалом, iTerm 2, VS Code, IDE от Jatbrains, так и с bash/szh/fish. Поддержка автокомплита для git, ssh, files, docker, kubernetes, heroku, npm и многого другого. Ну и возможность писать собственные спецификации автокомплита является вишенкой на торте.

Установка через brew или просто скачайте с сайта разработчика.
🕊Как оплатить доступ/книгу в условиях санкций?

Меня очень радует, что наше сообщество объединяет русскоязычных разработчиков по всему миру. И довольно часто я получаю вопросы по поводу оплаты доступа или книги из-за рубежа.

💳Ни для кого не секрет, что VISA и MASTECARD ушли👋, и прием международных платажей сейчас приостановлен. Я работаю над решением проблемы, и уже сейчас есть первый рабочий вариант оплаты, даже если вы проживаете за рубежом.

Почитать можно тут

P.S. Прорабатываем и более удобные человечьи варианты оплаты, как это было раньше. Но процесс тяжелый и долгий и для малого бизнеса не всегда подъемный.
🎁 Стоит ли сейчас изучать Swift?

#новости

Всего полтора года ожидания и вот Европарламент обязал Apple и Google разрешать установку приложений из сторонних магазинов.

Пруфы и пруфы

Сомневаюсь, что функция будет доступна только на территории Евросоюза, скорее всего ждем ruStore, nashStore iOS Edition. А это в некоторой степени защита iOS-разработчиков от влияния санкций. Изучайте Swift и не переживайте))
☀️ Всем доброй и продуктивной недели 😌
🕊 Вышел Xcode 14 beta 4.

🦧 Вышли новые бетки iOS, iPadOS, macOS, watchOS, tvOS и HomePod Software. Что нового, можно почитать в официальных Release Notes или тут. Самое интересно - это возможность попробовать новые Live Activities API.

🐸 И вот вам свежие мануалы, как вернуться с macOS Venture обратно на Monterey и с iOS 16 на 15. Если вдруг разочаруетесь.

😱 Кстати больше не подписываются iOS и iPadOS 15.5. Даунгрейт на эту версию не возможен.

🙉 Swift Evolution дополнен «стремным» предложением по добавлению в ядро языка функции move. Частично возвращаем возможность ручного управления памятью =)
Senior Android Developer, я тебя ищу🕵️‍♂️

Говорят, что сеньоры притягиваются 😅
Я iOS-разработчик, и в мой дружный коллектив VK Карты нужен Android-разработчик.

Если ты или один из твоих знакомых
🟢 Чувствуешь себя сеньором-помидором и желаешь реализовать весь свой потенциал и не останавливаться в развитии.
🟡 В поисках реально интересной работы. Мы создаем новый и перспективный продукт экосистемы VK
🔵 Хочешь полный пакет ништяков и конкурентную зарплату

👨🏻‍💻 От себя
Проект и команда реально отличные, большое количество технологий и действительно умных и интересных людей! Нам нужен человек, который хочет и может развиваться ☺️

Пиши мне @dobbywankenoby и я расскажу подробнее.

P.S. И заметь, я не HR, а разработчик в команде, я расскажу, как у нас обстоят дела на самом деле.
📕 Принципы разработки программных пакетов
Маттиас Нобак


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

«Принципы разработки» - это тот самый пример годной книги, в которой говорится о SOLID в преломление создания пакетов/библиотек. Пишите и распространяете что-то подобное? Тогда эта книга точно не будет лишней.

Очень важным плюсом являются примеры кода, написанные на псевдокоде (ой, простите, это же PHP 😂), который позволяет избавиться от всего ненужного, вроде работы с типами данных и сконцентрироваться только на классах/объектах и их взаимосвязях.

⭐️В общем, хоть не со всем я согласен, но книга - мой вам рекомендасьон.⭐️

#книга
Семантическое версионирование - человечья нумерация версий пакетов

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

Версия указывается в формате X.Y.Z-STATE.

🔸 X - мажорная/старшая версия пакета. Увеличиваем ее когда в пакете происходят изменения без обратной совместимости, при этом удаляем все deprecate-методы. Изменение X ведет за собой обнуление Y и Z.

🔸 Y - минорная/младшая версия пакета. Увеличиваем, когда в пакете появляется новая функциональность. Придержите коней, и не удаляйте старевшие методы, помечайте их как deprecated, тем самым вы подготовите пользователей к их удалению.

🔸 Z - версия патча. Увеличивайте, выпуская каждый патч, исправляющий ошибки или улучшающий функциональность.

🔸 STATE - опциональная мета-информация о состоянии пакета: alpha, beta, rc и т.д.

Более подробно почитать можно тут и на хабре.

#пишемхорошийкод
Proxyman - дебаггер/снифер запросов, который делает вашу профессию интереснее.

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

Вот ты изучил API сервера, написал прекрасный код, создал нужные структуры, подписанные на протокол Codable, далее пульнул все это в URLSession и наслаждаешься результатом. Но внезапно что-то пошло не так: то ли запрос неверный, то ли ответ кривой (что более вероятно, твой код конечно же идеален).

И на этом этапе вступает в дело дебаггер сетевых запросов Proxyman, или один из его аналогов: Postman и Charles. Ты смотришь тело запроса и ответа и определяешь, что идет не так, где твой код неверно кодирует JSON. Это очень полезная тулза, которая должна быть наготове у каждого разработчика. Установка и настройка с установкой сертификатов, занимает всего пару минут, а удовольствие от использования не проходит никогда.

Кстати в последнем опросе от Devcrowd Proxyman вошел в топ инструментов разработчика. А узнал о нем в свое время от основателя Coffee&Code Сергея и моего питерского коллеги по VK - Артема. За что им огромное спасибо.

#инструменты