iOS Такой 🍏
3.39K subscribers
420 photos
10 videos
2 files
301 links
IT | Подкасты | Apple | iOS Материалы | Swift

Реклама: @new_repository

Тёплый чат: https://t.me/+tzWmsOMTPpFjMzAy

Бусти: boosty.to/dimov_ios
Download Telegram
📢 Дорогие подписчики канала IT такой,

🤔 Хватит думать, сомневаться и спрашивать неудобный вопрос: "А сколько зарабатывает джун?" шепотом у коллеги! У вас есть прекрасная возможность получить ответы на ваши вопросы из первых рук!

👥 Мы готовим для вас интересный эфир с IT HR и хотим задать как можно больше вопросов, которые интересны и волнуют именно вас

🗓️ Чтобы воспользоваться этой уникальной возможностью, просто оставьте свои вопросы в комментариях под этим постом.

Ждем ваши вопросы до 10 ноября! ➡️

👉 #ITHR #Вопросы #Карьера
10 советов для лучшего кода на IOS

Создание идеального кода — это процесс непрерывного совершенствования.

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

Так что, если вы стремитесь постоянно повышать качество своего кода, вот несколько простых советов, которые помогут вам на этом пути.

#ios #swift #оптимизация
Offline-First Mobile App Design

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

🔴 Отличие кеша от персистентного реляционного хранилища
🔴 Сохранение консистентности состояния приложения
🔴 Способы мержить конфликты незаметно для пользователя
🔴 CRDT - Бесконфликтные реплицированные типы данных

#digest #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Отображение панели выбора фотографий в SwiftUI

Знаете ли вы, что Apple создала способ для SwiftUI получить доступ к фотографиям пользователя, не запрашивая разрешения и при этом сохраняя конфиденциальность? Статья расскажет о том, как это работает и как это можно использовать в собственных проектах c примером кода.

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

#digest #swiftui
SwiftUI: от сомнений к успешному внедрению

Интересная статья от Фарида Хусаинова, о принятии решения завести SwiftUI. На тот момент это была смелая и рискованная идея, так как SwiftUI был новой технологией. Маленькое комьюнити, много багов и нехватка опытных разработчиков, работающих на этой платформе, делали этот шаг непростым.

Эту статью хотелось бы адресовать разработчикам, интересующимся SwiftUI, а также тим-лидам и представителям бизнеса. Она в меньшей степени посвящена разработке, а в большей – опыту взаимодействия с новой технологией в продакшене. Мы подробно рассмотрим, почему мы выбрали SwiftUI и как справлялись с различными вызовами на этом пути.

Спустя два с половиной года наше приложение на SwiftUI успешно функционирует и продолжает развиваться. Оно стало более удобным в поддержке. В целом, можно сказать, что переход на SwiftUI оказался успешным для нашей компании.

#digest
Самые частые вопросы к IT HR или как попасть в ИТ без регистрации и СМС

Всем привет! Мы вновь в эфире :)

Сегодня у нас в гостях HR из Тинькофф - Юлия Савченко и iOS Lead из РНКБ, наш старый друг - Сергей Ирбеткин.
Мы подготовили для ребят внушительный список вопросов, часть из которых, кстати, прислали вы :)
Присаживайтесь поудобнее, сегодня у нас не побоюсь этого слова - эксклюзивный выпуск. Ценная инфа из первых уст.

Приятного просмотра!
Друзья! Нас очень мотивирует ваша обратная связь! С вас лайк и комментарий, а с нас всё более качественный и полезный контент. Хорошего вам для и до новых встреч!

#digest #доклад
В процессе готовится выпуск "Мок собеседование на Middle iOS разработчика". Проводить собес будет Василий Усов
А пока можем накидать в комментариях, какие бы темы вам было бы интересно послушать? Возможно какого-то бы из гостей хотели бы видеть.

Пишем, не стесняемся🙂

#digest #полезное
Отладка представлений SwiftUI: что вызывает изменения?

Представления SwiftUI с большим количеством триггеров перерисовки могут стать проблемой. Отладка представлений SwiftUI является необходимым навыком при написании динамических представлений с несколькими триггерами перерисовки. Такие обертки свойств, как @State и @ObservedObject, перерисуют ваше представление на основе измененного значения.

Часто это ожидаемое поведение, и все выглядит так, как должно быть. Однако в так называемых массивных представлениях SwiftUI (MSV) может существовать множество различных триггеров, вызывающих неожиданную перерисовку представлени
Из этой статьи вы узнаете, почему при написании динамических представлений SwiftUI необходимо предотвращать подобное.

#digest #swiftui
Как взять идею для пет проекта?

Есть такая проблема - нет идей для своего приложения. Простейший фреймворк для поиска перспективных направлений, без смс, но с регистрацией:

🔴 Регистрируетесь на AppMagic
🔴 Проходитесь по основным категориям приложений, смотрите Top Grossing.
🔴 Выбираете приложения на проверку
🔴 Открываете сайт SensorTower, регистрируетесь
🔴 Смотрите доходы и установки выбранных приложений

На выходе получаете список приложений с работающими In-app покупками, которые хоть что-то зарабатывают, планку отсечения по доходам выбирайте сами.

Автор поста @iosenjoyer

#digest
Please open Telegram to view this post
VIEW IN TELEGRAM
С днём рождения, Катя!🔥

Тебе, как администратору телеграмм канала про iOS разработку, посвящается этот особенный день! 🥂

Пусть этот год будет полон вдохновения и новых идей для разработки. Твоя страсть к мобильной разработке и твой вклад в сообщество приносят невероятную ценность.🌟

Пусть твоя креативность и талант помогут тебе постигнуть новые высоты. С днём рождения, настоящая звезда мобильной разработки!📱📱
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопросы с собеседований: в чем разница Weak и Unowned в Swift

В Swift weak и unowned — это два различных типа ссылок, которые позволяют избежать циклических зависимостей между объектами и предотвратить утечки памяти.

Weak (Слабая ссылка):

🔴weak используется, когда ссылка на объект не должна увеличивать счетчик ссылок объекта.
🔴Если объект, на который указывает weak ссылка, был освобожден, weak ссылка автоматически становится nil.
🔴Опциональный тип используется для weak ссылок, так как они могут быть автоматически устанавливаемыми в nil.

Unowned (Неудерживаемая ссылка):

🔴unowned также не увеличивает счетчик ссылок объекта, но предполагается, что объект, на который указывает unowned ссылка, всегда существует (не может быть nil).
🔴Если объект, на который указывает unowned ссылка, был освобожден, попытка доступа к этой ссылке приведет к краху приложения.
🔴Используется, когда можно гарантировать, что объект, на который указывает ссылка, будет существовать до тех пор, пока существует unowned ссылка.

Выбор между weak и unowned зависит от сценария использования. Если объект, на который указывает ссылка, может быть освобожден и ссылка может стать nil, то используйте weak. Если вы уверены, что объект всегда будет существовать, используйте unowned. Ошибочное использование unowned в случае, когда объект может быть освобожден, приведет к краху приложения из-за доступа к освобожденной памяти.

#digest
Please open Telegram to view this post
VIEW IN TELEGRAM
Статистика JetBrains по Swift и Objective-C

Например
статистика по UI фреймворкам и менеджерам зависимостей. По ссылке больше;)

Эти вопросы были заданы только разработчикам, которые выбрали Swift или Objective-C в качестве одного из трех своих основных языков программирования.

*Примечательно, если переводить статью с английского через Яндекс, название технологии Swift Package Manager он сохраняет. А переводчик по-умолчанию на сайте JetBrains от Google по-умолчанию переводит что может, у него получается "Менеджер зависимостей Swift".

#digest
Всем привет! Давно не виделись :)

Мы не сидели сложа руки, а готовили для вас новую рубрику - "Как мы стали джунами"

Наши гости Азат и Данила из Сбера расскажут про свой первый опыт трудоустройства и сложности, с которыми пришлось столкнуться. Приятного просмотра! 

Ребят, нас очень мотивирует ваша обратная связь! 
С вас лайки и комментарии, а с нас всё более качественный и полезный контент :) 
Увидимся!

00:44 Гости
01:34 Почему iOS/Android?
03:58 Как учились?
07:42 Обучающие материалы бесполезны на реальных проектах?
13:52 В какой момент поняли, что пора искать работу?
16:00 Про поиск работы
18:44 Про вранье в резюме
24:56 Ожидания/реальность
26:33 Про менторов
29:00 Про синдром самозванца
34:28 Советы самому себе в прошлом
35:52 Мифы про покраску кнопок
37:43 Про индивидуальный план развития
42:43 Про сожаления о прошлом
43:49 Советы от ребят по поиску работы
47:10 Про самые важные навыки


#digest
Мок-собеседование iOS разработчика

Что такое Mock Interview? Mock Interview - это практическое тренировочное собеседование, которое отлично подготовит вас к реальному собеседованию на работу. Его основная цель - смоделировать приближенную к реальности ситуацию job interview и отработать возможные ответы на трудные вопросы.

Привет! В сегодняшнем выпуске у нас в гостях Миша и Вова, вы уже знакомы. Миша проведет собес, а Вова попытается защитить свой пояс UFC, ой, свое звание сеньора. Будет жарко! Будет много лайфкодинга! Приятного просмотра!

Не скупитесь на обратную связь! Это важно. Вместе мы сделаем мир ИТ чуть более доступным для всех 😊

#digest #собеседование
Требуется стажёр в стартап из 35 стажёров

Время для очередного выпуска о вакансиях мечты. В IT-стартап под названием ИП «Гаврыш» потребовался стажёр — React-разработчик.

Кандидатам предлагают поучаствовать в разработке перспективного web-приложения — планировщика задач. Проект создаётся силами 35 стажёров на протяжении 1 года. К сожалению, прибыли он пока не приносит, поэтому ИП «Гаврыш» просит войти в положение и работать без зарплаты.

Требование к стажёрам лишь одно: пройденный или самостоятельно изученный курс по Frontend-разработке.

Условия работы:

- Удалённая работа от 4 часов в день.
- Работа без трудового договора.
- Зарплаты нет.
- Менторов нет.
- Подписать соглашение о том, что права на код принадлежат ИП «Гаврыш».

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

Взамен ИП «Гаврыш» обещает опыт коммерческой разработки. Откуда появится опыт коммерческой разработки на проекте, который не приносит прибыли, в вакансии не объяснили. Чему может научиться стажёр в компании, где нет опытных старших специалистов, тоже неясно. С таким же успехом 35 стажёров могли собраться, создать репозиторий с открытым исходным кодом и разрабатывать тот же самый продукт. При этом никакой ИП «Гаврыш» не смог бы завладеть результатами труда.

Не работайте с Гаврышами.
Это просто пример вакансии. Таких вакансий и на iOS полным полно.

#вакансиямечты
Как использовать дженерики в Swift

Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д.

Одна из наших основных обязанностей как разработчиков — максимально упрощать код и избегать повторений. Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д. Поэтому я считаю важным, чтобы каждый разработчик знал о них.

Статья в которой разбирается принцип работы дженериков с примерами кода, а так же видеоматериал.

#digest
Всех с наступающим 🎄 Любви и хороших проектов, пусть все получится и приносит радость.

Следите за нами, в новом году мы будем радовать вас только лучшим и качественным контентом.
Обнял ☺️
Спасибо всем Вам❤️
Разговоры про Apple

Друзья, всем привет!
Сегодня у нас лайтовый эфир на поговорить.

А побеседуем мы о новинках, похоливарим насчет ИИ и порассуждаем о высоком. Приятного просмотра!

#digest
Мастерство работы в SwiftUI

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

Содержание статьи

- Redux или MVVM?
- Используйте
@StateObject и @ObservableObject
- Создавайте
@Published переменные с осторожностью
- Разбивайте содержимое body на более мелкие части для минимизации времени компиляции
- Предпочтите
@State для анимации вместо @Published
- Объявляйте объекты Observable в определенном месте, чтобы избежать ненужного обновления UI
- Найдите, какое изменение данных вызывает обновление представления SwiftUI
- Используйте LazyHStack и LazyVStack, если у вас длинный список
- Есть ли что-нибудь похожее на viewDidLoad()?
- Используйте UIKit компоненты непосредственно в SwiftUI
- Модификатор с условиями
- Избегайте совместного использования .padding и .frame
- Используйте GeometryReader с умом
- Эпизодическое использование AnyView
- Обязательное используйте ID в Foreach и List
- Предпочитайте использовать текст, а не метку
- Используйте Group для возврата нескольких экземпляров представления
- Используйте .fixedSize(), чтобы указать, что фрейм не изменяется
- Напутственные слова


#digest