DOU | Mobile
1.72K subscribers
940 photos
37 videos
2 files
954 links
Все про Mobile-розробку та продукти від спільноти DOU:

• технічні статті та блоги
• войсчати
• професійні обговорення
• події
• вакансії

З побажаннями, ідеями чи скаргами пишіть – maria@dou.ua 👈
Щодо розміщення реклами — events@dou.ua
Download Telegram
#iOSКомпас 🧭
2️⃣2️⃣ Завдання 22

Що таке Optionals?


Доброго дня шановні пасажири. З вами Сергій з @badlinkschannel. Не забувайте підписатися на мій канал, а сьогодні поговоримо більш практично.

Swift, потужна та дружня мова програмування від Apple, відома своїми функціями безпеки та надійним дизайном. Однією з ключових концепцій у Swift, яка сприяє його безпеці та надійності, є використання Optionals. У цій статті ми дослідимо, що таке optionals, чому вони важливі, як початківці можуть використовувати їх ефективно у своєму коді, та розглянемо спільні помилки, які слід уникати.

У Swift optional - це тип, який може представляти або значення, або відсутність значення. Він дозволяє розробникам працювати зі значеннями, які можуть бути відсутніми або невідомими, що є поширеним сценарієм в розробці програмного забезпечення.
Optionals визначаються за допомогою простого синтаксису: додавання знака питання (?) до типу.

🔣 Навіщо потрібні optionals:
1️⃣ Безпека: optionals допомагають запобігти помилкам під час виконання. При роботі з не опціональними типами ви не можете призначити їм nil. У відмінності від цього, optionals дозволяють явно виразити можливість відсутності значень. Це призводить до більш надійного та передбачуваного коду.
2️⃣ Чіткість: optionals роблять ваш код більш зрозумілим, явно показуючи, які значення можуть бути відсутніми. Це особливо корисно при роботі над великими проєктами або співпраці з іншими розробниками.
3️⃣ Сильна типізація: Swift відомий своєю сильною системою типів, і optionals є її важливою частиною. Вони забезпечують чіткість і визначеність типів, зменшуючи ймовірність помилок, пов'язаних з типами.

🔣 Щоб оголосити optional змінну або константу, просто додайте “?” до типу:

var age: Int? // Optional Int


🔣 Для доступу до основного значення optional вам потрібно розгорнути його:
1️⃣ Примусове розгортання:
Ви можете використовувати “!”, щоб примусово розгорнути optional. Однак це слід робити з обережністю, оскільки це може призвести до crach, якщо optional є nil

let unwrappedName = name!


2️⃣ Умовне розгортання:
Умовне розгортання, за допомогою if let або if var, є більш безпечним способом розгортання optional і умовного присвоєння його значення новій змінній.

if let unwrappedName = name {
    print(“Name: \(unwrappedName)")
} else {
    print(“Name is missing.”)
}


3️⃣ Оператор об'єднання з нулем:
Оператор об'єднання з нулем (??) дозволяє вказати значення за замовчуванням, якщо optional є nil. Це корисно, коли ви хочете надати резервне значення, якщо optional є порожнім:

let displayName = name ?? “Guest


🔣 Optional Chaining:
У Swift ви можете об'єднувати кілька опціональних значень, використовуючи optional chaning (?). Це дозволяє отримувати доступ до властивостей, методів та індексів опціональних значень, не розгортаючи їх явно. Якщо будь-який ланок в ланцюгу є nil, весь вираз обчислюється як nil.

let address = user?.address?.street


У цьому прикладі, якщо user є nil або address є nil, змінна street також буде nil.

🔣 Розповсюджені помилки:
1️⃣ Примусове розгортання Optionals за допомогою ! слід уникати, оскільки це може призвести до аварійного виконання, якщо значення дійсно є nil. Краще використовувати умовне розгортання за допомогою if let або оператор об'єднання з нулем (??), де це можливо.
2️⃣ При роботі з optional слід завжди перевіряти на nil перед тим, як намагатися отримати доступ до їх значень. В іншому випадку, можуть виникнути crash.
3️⃣ Хоча optional chaning корисне, занадто глибоке вкладення може зробити код складним для розуміння. Важливо знайти баланс між безпекою та зрозумілістю.
4️⃣ При використанні оператора об'єднання з нулем (??), обирайте значення за замовчуванням обдумано. Воно повинно логічно відповідати контексту.

Optionals - це основна концепція, яка забезпечує безпеку, чіткість та передбачуваність в вашому коді. Вони незамінні для обробки сценаріїв, де значення можуть бути відсутніми. Розуміння як працювати з optional та уникнення поширених помилок допоможе вам писати надійний і стійкий код.

@Zatishna_Galera
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍7
Привіт, спільното!
На форумі питають поради щодо вибору девайса для iOS-розробника:

Вибір між MacBook Pro 13 2017-2018 (i5/16/256) / MacMini 2018 (i5/16/256). Скільки ще років ці девайси будуть отримувати останню версію xcode?

Діліться думками в обговоренні 👉🏻 https://dou.ua/goto/knTe
І Spring JDBC, і Spring Data JPA служать одній меті — доступу до даних. Але роблять вони це, виходячи з різних філософій і можливостей. Обидва підходи мають свої переваги та недоліки, і вибір між ними може суттєво вплинути на архітектуру сервісу, швидкість розробки та легкість підтримки коду.

Як саме — читайте в цій статті 👉🏻 https://dou.ua/goto/Km2d
👍4👎3
😁18🤣1
У цій статті розробники мають змогу разом з автором заглибитись в технічні нюанси роботи з Kotlin та Gradle і розібратись, як правильно конфігурувати елементи в проєкті.

А також трішки понаступати на граблі початківців та побачити, як виправляти ці помилки 👉 https://dou.ua/goto/CgWH
👍5
Привіт, спільното! На форумі з'явилось обговорення щодо пошуку ідей для розвитку iOS-проєктів 🔥

"Ви не хочете, щоби проєкт стояв на місці (як і ваша сіньорність) та хотіли б дослідити вектори потенційного покращення. Як би ви шукали можливості покращення, чим би ви надихалися, що б моніторили?"

Коментуйте та спілкуйтесь за лінком 👉 https://dou.ua/goto/kYfa
9🤔3
🔍 42% тих, хто зараз працює, бояться втратити роботу

Ситуація з роботою в ІТ помітно ускладнилася на другому році повномасштабної війни. Тож читаймо та коментуймо актуальну аналітику 👉 https://dou.ua/goto/TMR3
🤯10
🔍 Нові Android-вакансії

Android Engineer в BetterMe, Київ
👉 https://dou.ua/goto/iGDD

Android Developer в SKELAR, Київ
👉 https://dou.ua/goto/89qj

Android developer в Nova Digital, Київ, віддалено
👉 https://dou.ua/goto/tB7S

Android middle в WOG, від $2500, Луцьк
👉 https://dou.ua/goto/dIWD

Android Engineer (Outstaff Project) в MEGOGO, Київ, за кордоном, віддалено
👉 https://dou.ua/goto/M1V0
Стаття для тих, хто сумнівається, чи варто обирати нові технології для проєктів, з якими менше досвіду, але які можуть виявитися перспективнішими.

Сергій Неруш з команди мобільної розробки стартапу AlphaNovel від venture builder SKELAR ділиться досвідом, як вони «з нуля» обирали Jetpack Compose та SwiftUI, та чи виправдали ці технології очікування розробників 👉 https://dou.ua/goto/YtHU
11
Які аспекти роблять Kotlin невід’ємною частиною розробки Android-застосунків? Розбиратимемось на войсчаті! 🚀😎

23 листопада о 19:00 у цьому телеграм-каналі поговоримо про функціональні можливості Kotlin, асинхронне програмування з корутинами, інтеграцію з Android KTX та співпрацю з Java-кодом.

Деталі за лінком 👉 https://dou.ua/goto/MdmH
🔥151
Важко не помітити популярність, якою користується Flutter останніми роками. Він став привабливим для багатьох спеціалістів і вже завоював звання найкращого фреймворку для кросплатформенної розробки.

Тож у цій статті Ігор Козар пропонує поговорити про нього як про технологію, що відкриває нові можливості й для програмістів, і для бізнесу загалом 👉 https://dou.ua/goto/c5Dc

#Flutter
👍24👎16🤡6💩3🤮21🔥1🥱1
👋 Шукаємо авторів для статей на DOU! 📝 

Хочете спробувати? 
Дивіться та обирайте доступні теми 
👉 https://dou.ua/goto/Do2k

Якщо знайдете для себе цікаву тему — пишіть editors@dou.ua 💌

P.S. І не бійтеся пробувати! Писати статті — круто. На собі перевіряли 😉
5
DOU | Mobile
Які аспекти роблять Kotlin невід’ємною частиною розробки Android-застосунків? Розбиратимемось на войсчаті! 🚀😎 23 листопада о 19:00 у цьому телеграм-каналі поговоримо про функціональні можливості Kotlin, асинхронне програмування з корутинами, інтеграцію з Android…
Цього тижня ми анонсували войсчат для Mobile-розробників про Kotlin! Готуйте ваші запитання — очікуємо палку дискусію 😉

🗣 Спікери:
- Євген Трощій, Senior Android Developer
- Олександр Матвійчук, Senior Android Developer в AUTO.RIA
- Михайло Пустовіт, Mobile Team Lead в WiX

Чекатимемо всіх! 🚀
👍12
🔍 Нові iOS-вакансії

IOS developer (SwiftUI) в Project Ukraine, віддалено
👉 https://dou.ua/goto/2fkQ

Team Lead/Senior iOS Developer в SharkSource, від $2500, Київ
👉 https://dou.ua/goto/hEwh

iOS developer в Nova Digital, Київ, віддалено
👉 https://dou.ua/goto/LgEA

iOS Senior Developer в Applica Agency, від $4500, Львів, віддалено
👉 https://dou.ua/goto/oOqo

Junior+ iOS Engineer в Universe, Київ, Варшава (Польща)
👉 https://dou.ua/goto/78mI
👍2
Історія iOS-розробниці, яка залишила біологію та отримала офер після трьох днів пошуку роботи

👉 https://dou.ua/goto/eNNH

Поліна Портова — світчерка. До того як стати iOS Developer, вона працювала у вірусологічному відділенні лабораторії та створювала кастомні імпланти для пацієнтів з усього світу. В інтерв’ю DOU фахівчиня розповіла, чим відрізняються робота і зарплата в біологічній сфері та IT, яку роль в її переході відіграла менторка та чому не всі можуть зважитися на зміну професії.
👍42
Гайд з локалізації iOS та macOS застосунків в Xcode. Власний досвід і поради

Володимир Нуждін з команди розробки iOS і macOS програм в Nektony згадує про те, як проводили локалізацію застосунків на інші мови. У цій статті коротко описані інструменти, за допомогою яких реалізовували поставлені задачі. До кожного пункту автор додав посилання, якими користувався, і де ви зможете отримати більше інформації 👉 https://dou.ua/goto/Udc8

#iOS
11👍6
Live stream scheduled for
Live stream started
DOU | Mobile
Які аспекти роблять Kotlin невід’ємною частиною розробки Android-застосунків? Розбиратимемось на войсчаті! 🚀😎 23 листопада о 19:00 у цьому телеграм-каналі поговоримо про функціональні можливості Kotlin, асинхронне програмування з корутинами, інтеграцію з Android…
Ми починаємо войсчат!
Говоримо про Kotlin у контексті мобільної розробки. 
Приєднуйтесь 👉 https://t.me/mobile_dou?livestream

🗣 Спікери:
Євген Трощій, Senior Android Developer
Олександр Матвійчук, Senior Android Developer в AUTO.RIA
Михайло Пустовіт, Mobile Team Lead в WiX


Ви можете поставити ваше питання тут в чаті або ж задати голосом в прямому етері! 

Запис буде, опублікуємо згодом.
10
Live stream finished (1 hour)
Kotlin в мобільній розробці .ogg
28.7 MB
Вчора в цьому телеграм каналі провели войсчат про Kotlin в мобільній розробці.

Розглянули функціональні можливості Kotlin, асинхронне програмування з корутинами, інтеграцію з Android KTX та співпрацю з Java-кодом.

Слухайте тут або на Soundcloud 👉🏻https://dou.ua/goto/94U5
👍7