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

Реклама: @new_repository

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

Бусти: boosty.to/dimov_ios
Download Telegram
Что такое замыкания и как их использовать?

Сегодня хотел бы поделиться с вами информацией о замыканиях (closures). И подготовили видео доклад на нашем ютуб канале.

🔎 Что такое замыкания?

Замыкание - это блок кода, который можно передать и использовать в качестве аргумента или возвращаемого значения в функциях. Оно может захватывать и хранить ссылки на переменные и константы из контекста, в котором оно было создано. Замыкания в Swift могут быть написаны в сжатой и лаконичной форме, что делает код более читабельным и понятным.

🎯 Зачем нужны замыкания?

Замыкания в Swift предоставляют множество возможностей и преимуществ:

1️⃣ Передача кода в качестве аргументов: замыкания позволяют передавать и использовать куски кода внутри других функций. Это особенно полезно при работе с асинхронными операциями или при необходимости выполнить определенные действия после завершения задачи.

2️⃣ Хранение кода в переменных: замыкания можно присваивать переменным или константам и использовать их в любом месте кода. Это позволяет создавать гибкие и масштабируемые архитектуры приложений.

3️⃣ Захват значений из окружения: замыкания могут захватывать и использовать значения из внешнего контекста. Это позволяет создавать более гибкие и мощные функции, которые могут адаптироваться к различным сценариям использования.

💡 Если вы хотите узнать больше о замыканиях в Swift, рекомендую посмотреть технический доклад на нашем канале iOS. Он содержит объяснение концепции замыканий и примеры их использования.

#iOS #digest #замыкания
🔥20👍84🤮1
500 подписчиков💥

Спасибо всем, я очень рад и счастлив. Постараюсь выпускать качественный и годный контент чаще.

Ближайшие выпуски:
1️⃣ Важность проведение one to one в компании.

2️⃣ Переход от классического UIKit+VIPER на SwiftUI по шагам.

3️⃣ Мок-собеседование на должность iOS разработчика.
🎉355🔥5👍3🥰1👏1💩1
MVVM на практике UIKit

Когда iOS впервые появилась, Apple предложила использовать MVC (Model-View-Controller) в качестве шаблона проектирования. Они показали это во всех своих примерах, и все первые разработчики были счастливы использовать его, потому что он прекрасно разделял проблемы между бизнес-логикой и пользовательским интерфейсом. По мере того, как приложения становились больше и сложнее, возникла новая проблема, получившая соответствующее название Massive View Controllers (MVC).

Поскольку вся бизнес-логика была добавлена в ViewController, со временем они обычно становились слишком большими и сложными. Чтобы избежать проблем с MVC, в мире iOS был введен новый шаблон проектирования - шаблон Model-View-ViewModel (MVVM).

Как выглядит MVVM. У вас есть стандартный ViewController + View (в storyboard, XIB или Code), который действует как представление MVVM (в дальнейшем text - View будет ссылаться на представление MVVM). Представление имеет ссылку на ViewModel, где находится наша бизнес-логика. Важно заметить, что ViewModel ничего не знает о представлении и никогда не имеет ссылки на представление. ViewModel содержит ссылку на модель.

Одна из основных проблем с MVVM заключается в том, как обновить View с помощью ViewModel, когда ViewModel не имеет никаких ссылок и даже ничего не знает о View.

Смотреть видео про архитектурный паттрен MVVM

#swift #mvvm
👍10🔥75🤮2
А У ВАС ЕСТЬ ONE TO ONE?

В мире информационных технологий, где командная работа становится все более распространенной практикой, не следует забывать о важности проведения индивидуальных встреч "one to one". Это поистине магическое время, когда руководитель и сотрудник имеют возможность погрузиться в мир личных достижений, амбиций и целей.

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

Но важность one to one не ограничивается только гармонией в команде. Это также отличная возможность для руководителя понять, что мотивирует каждого сотрудника, какие цели он преследует и как можно помочь ему достичь этих целей. Ведь только истинно мотивированный сотрудник способен добиться высоких результатов.

iOS Такой пригласил гостя - Анатолия Кнутарева, который подготовил доклад и рассказал о важности проведение one to one в компаниях.

#digest #доклад
👍8🔥73💩2
Гибкость интерфейса с Backend-Driven UI

Backend‑Driven UI (или Server‑Driven UI) — это концепция в разработке приложений с интерфейсом, при котором бэкенд управляет как данными приложения, так и его внешним видом. Например, для фронтенд‑приложения BDUI будет управлять вёрсткой.

В этой статье на практических примерах разбираются преимущества переноса логики интерфейса приложения на backend.

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

#idgest
👍82🔥2🤮2
Привет всем!

Хочу поделиться с вами некоторыми мыслями о нашем контенте и предложить вам возможность поддержать наш канал на бусти. Если вам нравятся наши видео, вы можете сделать свой вклад, который будет не только огромной поддержкой для меня, но и для всего канала!
☕️199 рублей - цена чашки кофе, но большой вклад в развитие контента!

Я очень стараюсь выпускать новые ролики и хочу поделиться с вами планами на будущее:
🔴Скоро выходит выпуск свой игры, над которой мы усердно работаем.
🔴Расскажем о переходе с VIPER UIKit на SwiftUI подробно
🔴Возвращаем рубрику публичных моковых собеседований! Следующий выпуск будет очень интересным🔫

Для подписчиков бусти создадим специальный локальный чат, помогать друг другу в развитии, делиться приватной полезной информацией! Но главное - это мок собеседования внутри этого чата и ваша возможность принять участие в них!

Огромное спасибо всем за вашу поддержку и интерес к нашему контенту. Вы делаете нас лучше! Люблю!🎯

#digest #поддержка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🎉4🏆3💩2🤮1🤡1
Swift Runtime в деталях

Это написанная на C++ библиотека, которая занимается обслуживанием встроенных в сам язык Swift функций. В частности, тут можно выделить как минимум две больших категории: работа с памятью (ARC), и работа с типами данных.

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

#digest
🔥14👍84💩2😡1
Полезные материалы

Много ссылок об iOS и Swift — эти материалы очень полезны в решении многих вопросов. Сохраняй, пользуйся, делись 👇

Xcode
➡️ Подробнее про сам Xcode
➡️ Подробнее про Interface Builder

Структура приложения
➡️ Жизненный цикл iOS-приложения
➡️ Туториал по iOS Storyboard
➡️ UIApplicationDelegate
➡️ UIScene

Работа с Git
➡️ Документация по Git
➡️ Вводная по работе с Git

UI/UX
➡️ Документация Apple UIViewController
➡️ Хабр: жизненный цикл UIViewController
➡️ Документация Apple UINavigationController
➡️ Документация Apple UITabBarController
➡️ VC: основы мобильной навигации
➡️ UX/UI Design Glossary. Navigation Elements

Архитектура
➡️ Документация по MVC
➡️ Хабр: про MVC
➡️ Medium: отличия MVP от MVC
➡️ Хабр: различные архитектуры

UICollectionView
➡️ Документация от Apple
➡️ Туториал
➡️ CollectionView with NSHipster

Тестирование
➡️ Практический видео материал
➡️ Написание своего первого теста

UITableView
➡️ Документация
➡️ Подробный разбор на Medium
➡️ Туториал для начинающих

Layout
➡️ Статья про Update Cycle и все его методы
➡️ Туториал про CALayer
➡️ Документация от Apple по layoutSubviews()
➡️ Подробный гайд AutoLayout от Apple
➡️ Хабр: концепция, строение, применение AutoLayout
➡️ От Apple про адаптивный дизайн
➡️ Хабр: математические основы AutoLayout

Работа с сетью
➡️ Официальная документация URLSession от Apple
➡️ Networking in iOS от Swift by Sundell
➡️ Хабр: взаимодействие с сетью в iOS
➡️ Документация URLSession + Combine
➡️ Medium: REST простым языком

Decoding
➡️ Туториал по декодингу данных от Apple
➡️ Гайд по Codable
➡️ Хабр: парсинг данных в iOS

Temporary
➡️ Официальная документация URLCache от Apple
➡️ Официальная документация NSCache от Apple
➡️ Cache with NSCache from Swift by Sundell

Databases
➡️ Официальная документация Core Data от Apple
➡️ Core Data + Swift для самых маленьких
➡️ Medium: синхронизация API с Core Data

Key-Value
➡️ Storing Keys in the Keychain от Apple
➡️ Хабр: Keychain в API
➡️ Официальная документация UserDefaults от Apple
➡️ Medium: пример использования UserDefaults
➡️ Официальная документация FileManager от Apple

Многопоточность и асинхронность
➡️ Немного о RunLoop
➡️ Medium: Swift Mutex benchmark
➡️ Параллелизм, многопоточность и асинхронное программирование
➡️ Хабр: Multithreading
➡️ YouTube: Multithreading в Swift с нуля
➡️ Medium: Deadlocks, Livelocks и Starvation
➡️ Medium: параллельное программирование на Swift
➡️ Устройство многопоточности в iOS

Книги по iOS
➡️ Swift подробно
➡️ Мет Ньюберг ios 14 programming (кому нужен перевод книги, пишите мне - я скину)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥277👍5💩21🎉1
Туториал для начинаюших по Bezier Paths и Shape Layers

Существуют разные способы и разные подходы к тому, как нарисовать "экран" приложения:

— Использовать полученную графику от дизайнеров.
— Реализовать UI в коде.
— Использовать Interface Builder.
Комбинации способов выше и другие варианты.

Но иногда, нам необходимо нарисовать сложный графический UI, который зачастую делается с помощью Bezier Paths и Shape Layers.

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

#digest #UI
12👍6🔥4💩2🤷‍♂1❤‍🔥1
Привет, друзья!
У нас на YouTube канале вышла викторина по iOS
💡

В ней соревнуются четыре опытных разработчика, и каждый из них показывает свои знания и навыки.

Викторина состоит из пяти секций, которые охватывают различные аспекты разработки на iOS. Мы покрываем такие темы, как:

🔴 SwiftUI
🔴 Сеть
🔴 Многопоточность
🔴 Рандомные вопросы
🔴 Основы Swift.

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

Кроме того, мы также выпустили моковое собеседование с одним из наших подписчиков на платформе Boosty.

Удачи в развитии ваших навыков разработки на iOS! 🚀📚

#digest #свояигра #викторина
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🎉52🔥2🤮2💯1🙉1
🔥 На канале iOS Такой вышел новый выпуск командной викторины, посвященный теме Apple и разработке

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

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

Каждая команда демонстрировала свою экспертность в мире Apple, стараясь ответить на вопросы как можно точнее и быстрее. Атмосфера в студии была наполнена энергией и соперничеством


Если вы хотите провести время с пользой, узнать что-то новое о компании Apple и разработке для iOS, обязательно посмотрите этот выпуск на канале iOS Такой

#digest #викторина
19🔥12👍4👎3
В скором времени мы подготовим и выпустим для вас выпуск на тему «Переход c VIPER UIKit на SwiftUI, пошагово» от опытного разработчика.

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

Мы рады любой обратной связи. Большое спасибо Вам ❤️
🔥345🖕3❤‍🔥2👍2
Все по SwiftUI

➡️ SwiftUI Tutorials — серьезный материал от Apple, который сформирует базовые знания

➡️ Лекции Стенфорда. Бесспорно, не требующий представления ресурс, который содержит изменения за 2023 год

➡️ SwiftUI by Example — куча страниц с кодом под любую задачу

➡️ Awesome SwiftUI — список статей, обучающих программ, руководств и видосов

➡️ SwiftUI Weekly — обновляемый список ссылок на материалы

#digest #swiftui
🔥247👍3🤮2🤩1
Готовим в ближайший релиз два выпуска

Технический доклад о переходе с VIPER UIKit на SwiftU подробно. От Senior iOS Разработчика

Подкаст на тему "Развитие и продвижение своего продукта и бренда" от опытного маркетолога с большим опытом

Ставь лайк, если интересно. Пишите в комментариях, чтобы вы хотели бы видеть.
👍15🔥4🤡43🤮1💩1
Состояние рынка труда и зарплат в IT

В опросе поучаствовали айтишники, проживающие в 39 странах мира. «Страна проживания» — это страна, которую респондент указал в ответ на вопрос «Ваша локация», т.е он может быть как гражданином этой страны, так и релокантом.

82% респондентов, проживающих в России, и 92% респондентов, проживающих в других странах, соответствуют уровням Middle, Senior и Lead.

#digest #рынок
👍13💩74🔥2👎1🤮1