Статистика JetBrains по Swift и Objective-C
Например статистика по UI фреймворкам и менеджерам зависимостей. По ссылке больше;)
Эти вопросы были заданы только разработчикам, которые выбрали Swift или Objective-C в качестве одного из трех своих основных языков программирования.
*Примечательно, если переводить статью с английского через Яндекс, название технологии Swift Package Manager он сохраняет. А переводчик по-умолчанию на сайте JetBrains от Google по-умолчанию переводит что может, у него получается "Менеджер зависимостей Swift".
#digest
Например статистика по 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
Мы не сидели сложа руки, а готовили для вас новую рубрику - "Как мы стали джунами"
Наши гости Азат и Данила из Сбера расскажут про свой первый опыт трудоустройства и сложности, с которыми пришлось столкнуться. Приятного просмотра!
Ребят, нас очень мотивирует ваша обратная связь!
С вас лайки и комментарии, а с нас всё более качественный и полезный контент :)
Увидимся!
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 #собеседование
Что такое Mock Interview? Mock Interview - это практическое тренировочное собеседование, которое отлично подготовит вас к реальному собеседованию на работу. Его основная цель - смоделировать приближенную к реальности ситуацию job interview и отработать возможные ответы на трудные вопросы.
Привет! В сегодняшнем выпуске у нас в гостях Миша и Вова, вы уже знакомы. Миша проведет собес, а Вова попытается защитить свой пояс UFC, ой, свое звание сеньора. Будет жарко! Будет много лайфкодинга! Приятного просмотра!
Не скупитесь на обратную связь! Это важно. Вместе мы сделаем мир ИТ чуть более доступным для всех 😊
#digest #собеседование
Требуется стажёр в стартап из 35 стажёров
Время для очередного выпуска о вакансиях мечты. В IT-стартап под названием ИП «Гаврыш» потребовался стажёр — React-разработчик.
Кандидатам предлагают поучаствовать в разработке перспективного web-приложения — планировщика задач. Проект создаётся силами 35 стажёров на протяжении 1 года. К сожалению, прибыли он пока не приносит, поэтому ИП «Гаврыш» просит войти в положение и работать без зарплаты.
Требование к стажёрам лишь одно: пройденный или самостоятельно изученный курс по Frontend-разработке.
Условия работы:
- Удалённая работа от 4 часов в день.
- Работа без трудового договора.
- Зарплаты нет.
- Менторов нет.
- Подписать соглашение о том, что права на код принадлежат ИП «Гаврыш».
В вакансии об этом не сказано, но что-то нам подсказывает, что технику для работы тоже не предоставят.
Взамен ИП «Гаврыш» обещает опыт коммерческой разработки. Откуда появится опыт коммерческой разработки на проекте, который не приносит прибыли, в вакансии не объяснили. Чему может научиться стажёр в компании, где нет опытных старших специалистов, тоже неясно. С таким же успехом 35 стажёров могли собраться, создать репозиторий с открытым исходным кодом и разрабатывать тот же самый продукт. При этом никакой ИП «Гаврыш» не смог бы завладеть результатами труда.
Не работайте с Гаврышами.
Это просто пример вакансии. Таких вакансий и на iOS полным полно.
#вакансиямечты
Время для очередного выпуска о вакансиях мечты. В IT-стартап под названием ИП «Гаврыш» потребовался стажёр — React-разработчик.
Кандидатам предлагают поучаствовать в разработке перспективного web-приложения — планировщика задач. Проект создаётся силами 35 стажёров на протяжении 1 года. К сожалению, прибыли он пока не приносит, поэтому ИП «Гаврыш» просит войти в положение и работать без зарплаты.
Требование к стажёрам лишь одно: пройденный или самостоятельно изученный курс по Frontend-разработке.
Условия работы:
- Удалённая работа от 4 часов в день.
- Работа без трудового договора.
- Зарплаты нет.
- Менторов нет.
- Подписать соглашение о том, что права на код принадлежат ИП «Гаврыш».
В вакансии об этом не сказано, но что-то нам подсказывает, что технику для работы тоже не предоставят.
Взамен ИП «Гаврыш» обещает опыт коммерческой разработки. Откуда появится опыт коммерческой разработки на проекте, который не приносит прибыли, в вакансии не объяснили. Чему может научиться стажёр в компании, где нет опытных старших специалистов, тоже неясно. С таким же успехом 35 стажёров могли собраться, создать репозиторий с открытым исходным кодом и разрабатывать тот же самый продукт. При этом никакой ИП «Гаврыш» не смог бы завладеть результатами труда.
Не работайте с Гаврышами.
Это просто пример вакансии. Таких вакансий и на iOS полным полно.
#вакансиямечты
Telegram
войди в наше положение
Узнали своего работодателя?
Как использовать дженерики в Swift
Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д.
Одна из наших основных обязанностей как разработчиков — максимально упрощать код и избегать повторений. Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д. Поэтому я считаю важным, чтобы каждый разработчик знал о них.
Статья в которой разбирается принцип работы дженериков с примерами кода, а так же видеоматериал.
#digest
Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д.
Одна из наших основных обязанностей как разработчиков — максимально упрощать код и избегать повторений. Дженерики — это один из подходов, который обеспечивает множество преимуществ, таких как более высокая производительность, меньшее количество кода, повторно используемый код и т.д. Поэтому я считаю важным, чтобы каждый разработчик знал о них.
Статья в которой разбирается принцип работы дженериков с примерами кода, а так же видеоматериал.
#digest
Всех с наступающим 🎄 Любви и хороших проектов, пусть все получится и приносит радость.
Следите за нами, в новом году мы будем радовать вас только лучшим и качественным контентом.
Обнял ☺️
Следите за нами, в новом году мы будем радовать вас только лучшим и качественным контентом.
Обнял ☺️
Разговоры про Apple
Друзья, всем привет!
Сегодня у нас лайтовый эфир на поговорить.
А побеседуем мы о новинках, похоливарим насчет ИИ и порассуждаем о высоком. Приятного просмотра!
#digest
Друзья, всем привет!
Сегодня у нас лайтовый эфир на поговорить.
А побеседуем мы о новинках, похоливарим насчет ИИ и порассуждаем о высоком. Приятного просмотра!
#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
Инсайдерские советы и приемы для оптимизации производительности приложений.
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
😱 AnyView — зло SwiftUI
Автор статьи провел несколько тестов, чтобы сравнить скорость отрисовки и использование памяти при использовании AnyView и других альтернативных подходов.
Он пришел к выводу, что AnyView может существенно замедлять работу SwiftUI, особенно при большом количестве элементов в иерархии представлений. Также дал несколько советов, как избежать AnyView и использовать более эффективные способы работы с разными типами представлений.
#digest
Автор статьи провел несколько тестов, чтобы сравнить скорость отрисовки и использование памяти при использовании AnyView и других альтернативных подходов.
Он пришел к выводу, что AnyView может существенно замедлять работу SwiftUI, особенно при большом количестве элементов в иерархии представлений. Также дал несколько советов, как избежать AnyView и использовать более эффективные способы работы с разными типами представлений.
#digest
SwiftUI Interview Questions.pdf
27.8 KB
Вопросы по SUI
Если вы готовитесь к собеседованию на SwiftUI проект или просто работаете с SwiftUI, но хотите расширить свои знания, вот список хороших вопросов, которые помогут вам подготовиться
#digest #собеседование
Автор: @eleev
Если вы готовитесь к собеседованию на SwiftUI проект или просто работаете с SwiftUI, но хотите расширить свои знания, вот список хороших вопросов, которые помогут вам подготовиться
#digest #собеседование
Автор: @eleev
Как снять логи при краше мобильного приложения?
При тестировании приложений в большинстве случаев, мы сталкиваемся со сбоем приложения. И в таких ситуациях очень важно уметь собирать логи с устройства, чтобы максимально быстро пофиксить ошибки.
Подробная статья как снимать логи крешей приложений разными способами в iOS/Android.
Как получить логи с iOS?
- Непосредственно на самом девайсе.
- Через Xcode.
#digest
При тестировании приложений в большинстве случаев, мы сталкиваемся со сбоем приложения. И в таких ситуациях очень важно уметь собирать логи с устройства, чтобы максимально быстро пофиксить ошибки.
Подробная статья как снимать логи крешей приложений разными способами в iOS/Android.
Как получить логи с iOS?
- Непосредственно на самом девайсе.
- Через Xcode.
#digest
Как массив хранит ссылки? Сильно или слабо?
Правильный ответ — сильно.
А как сделать слабо? Использовать NSPointerArray
#digest
Правильный ответ — сильно.
А как сделать слабо? Использовать NSPointerArray
#digest
This media is not supported in your browser
VIEW IN TELEGRAM
Конфигурация поведения отскока ScrollView в SwiftUI
Конфигурация поведения отскока ScrollView позволяет определить, отскакивает ли прокручиваемое представление при достижении конца его содержимого. Независимо от того, идет ли речь о горизонтальной или вертикальной прокрутке списка, вы можете настроить оба направления с помощью модификаторов вида в SwiftUI.
В данной статье приводятся различные примеры кода и подробно рассказывается как достичь такого состояния.
#digest
Конфигурация поведения отскока ScrollView позволяет определить, отскакивает ли прокручиваемое представление при достижении конца его содержимого. Независимо от того, идет ли речь о горизонтальной или вертикальной прокрутке списка, вы можете настроить оба направления с помощью модификаторов вида в SwiftUI.
В данной статье приводятся различные примеры кода и подробно рассказывается как достичь такого состояния.
#digest
Forwarded from Воробей
Альтернативные сторы умерли сразу как их анонсировали. Их тупо невыгодно делать:
– Владелец платит за каждую установку магазина 0.5€ в год
– У разработчика бесплатно 1 млн установок, но дальше платит за каждую установку приложения 0.5€ в год
– Владелец платит за каждую установку магазина 0.5€ в год
– У разработчика бесплатно 1 млн установок, но дальше платит за каждую установку приложения 0.5€ в год
Как через Push-уведомления на iPhone утекают данные пользователей
Исследователь безопасности Томми Мыск (Tommy Mysk) продемонстрировал, как push-уведомления на iPhone могут использоваться популярными приложениями для скрытой отправки данных о пользователе.
В новом ролике, рассказывающем об этой практике, Мыск рассказал о том, как некоторые приложения для iOS используют функцию, представленную в iOS 10, которая позволяет приложениям настраивать push-уведомления. Эта функция, изначально предназначенная для того, чтобы приложения могли обогащать уведомления дополнительным контентом или расшифровывать зашифрованные сообщения, похоже, была использована некоторыми разработчиками для других действий. Согласно выводам Мыска, различные популярные приложения, включая TikTok, Facebook, Twitter, LinkedIn и Bing, используют короткое время фонового исполнения, предоставленное для такой настройки уведомлений, для отправки аналитической информации.
#digest
Исследователь безопасности Томми Мыск (Tommy Mysk) продемонстрировал, как push-уведомления на iPhone могут использоваться популярными приложениями для скрытой отправки данных о пользователе.
В новом ролике, рассказывающем об этой практике, Мыск рассказал о том, как некоторые приложения для iOS используют функцию, представленную в iOS 10, которая позволяет приложениям настраивать push-уведомления. Эта функция, изначально предназначенная для того, чтобы приложения могли обогащать уведомления дополнительным контентом или расшифровывать зашифрованные сообщения, похоже, была использована некоторыми разработчиками для других действий. Согласно выводам Мыска, различные популярные приложения, включая TikTok, Facebook, Twitter, LinkedIn и Bing, используют короткое время фонового исполнения, предоставленное для такой настройки уведомлений, для отправки аналитической информации.
#digest
Что лучше: бесконечная прокрутка, пагинация или дополнительная загрузка?
Сначала контент в интернете разбивали по страницам — это называется пагинация. Затем появился бесконечный скролл, когда контент подгружается по мере прокрутки страницы, и его вариация — подгрузка по нажатию кнопки. Разбираемся в статье, какие у них плюсы и минусы и когда что лучше использовать.
А что лучше?
Как обычно, всё зависит от задач:
- если нужна структурность, очевидная навигация и разбивка на одинаковые порции — то пагинация;
- если нужно максимально долго удержать читателя на сайте — то бесконечная прокрутка (именно так делают все соцсети);
- если хочется бесконечности, но нужен подвал (или нужно измерить, насколько глубоко читатель хочет изучить сайт) — то дополнительная загрузка.
Сначала контент в интернете разбивали по страницам — это называется пагинация. Затем появился бесконечный скролл, когда контент подгружается по мере прокрутки страницы, и его вариация — подгрузка по нажатию кнопки. Разбираемся в статье, какие у них плюсы и минусы и когда что лучше использовать.
А что лучше?
Как обычно, всё зависит от задач:
- если нужна структурность, очевидная навигация и разбивка на одинаковые порции — то пагинация;
- если нужно максимально долго удержать читателя на сайте — то бесконечная прокрутка (именно так делают все соцсети);
- если хочется бесконечности, но нужен подвал (или нужно измерить, насколько глубоко читатель хочет изучить сайт) — то дополнительная загрузка.
Эффекты перехода с прокруткой в iOS 17 в SwiftUI
Apple добавила в iOS 17 эффекты перехода прокрутки, которые позволяют анимировать поведение объектов при их появлении в поле зрения и за его пределами. Существует ряд атрибутов, которые можно изменять, таких как размер, видимость, а также поворот объекта.
Небольшая статья с примерами кода и различной реализцией. Так же в статье вы найдете исходный код.
Apple добавила в iOS 17 эффекты перехода прокрутки, которые позволяют анимировать поведение объектов при их появлении в поле зрения и за его пределами. Существует ряд атрибутов, которые можно изменять, таких как размер, видимость, а также поворот объекта.
Небольшая статья с примерами кода и различной реализцией. Так же в статье вы найдете исходный код.