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

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

З побажаннями, ідеями чи скаргами пишіть – maria@dou.ua 👈
Щодо розміщення реклами — events@dou.ua
Download Telegram
Вночі відбувся івент від Apple під назвою «Scary Fast», а активний учасник спільноти Андрій Сильчук вже підготував саммарі в стилі «подивився за вас», щоб ви не марнували час вранці 😉

Читайте та обговорюйте 👉 https://dou.ua/goto/eowk

#Apple #iOS #M3
17👍2😁1
🔍 Нові Android-вакансії

Flutter Android developer (iGaming) в Improve Team, $1500–3000, Київ, віддалено
👉 https://dou.ua/goto/khMp

Skilled Android Launcher Developer (Android Studio, Java, Kotlin) в New Wave Devs, $1000–3000, віддалено
👉 https://dou.ua/goto/E9XX

Middle/Senior Android Developer (POS термінали) в ПриватБанк, віддалено
👉 https://dou.ua/goto/vQls

Flutter Engineer (Hospitality industry) в ISsoft Ukraine, за кордоном, віддалено
👉 https://dou.ua/goto/jjjS

Middle Android Developer в Fintech Band, Дніпро
👉 https://dou.ua/goto/USCV
🗿10👍1💩1
Незабутні відчуття 😏
І ви спробуйте 👉 https://jobs.dou.ua/poll/
😁8👎1
Цікаве та нове зі світу iOS та macOS від Сергія Бутенка з MacPaw: новий Observation-фреймворк, перехід Airbnb на SwiftUI, інструмент для тестування макросів на основі снепшот-тестів та багато іншого! Як завжди, є текстовий та відеоформати 👉 https://dou.ua/goto/T40K

#iOS
👍142
У жовтні на jobs.dou.ua була розміщена поки що найбільша за цей рік кількість вакансій — 4237. Це лише на 228 вакансій менше, ніж у жовтні торік 🙏🏻

На картинці зібрали дані для Android-розробників, а всю аналітику запрошуємо прочитати за лінком 👉 https://dou.ua/goto/Q0fr

#Android
👍7😢6👎1
Обговорюємо блог про використання Flutter та Golang в стоматології 💊

Приєднуйтесь 👉 https://dou.ua/goto/GBad
😁27💩6🤡5👍3
Нативні застосунки для iOS та Android: 14 відео про розробку та тестування 📺

Зібрали для вас добірку з 14 вебінарів та лекцій щодо mobile-розробки. Приємного перегляду!

https://dou.ua/goto/XEC8
14🔥3👍2
Минулого тижня ми подивились ситуацію з ринком праці для Android-розробників, а сьогодні повертаємось з актуальними даними для iOS-девелоперів.

Ключові дані на зображенні, а повна аналітика за лінком 👉 https://dou.ua/goto/Q0fr

#iOS
👍10😢82
Forwarded from DOU
Media is too big
VIEW IN TELEGRAM
Красунчик Macbook Air, кастомізований гравіюванням з Шарками, вже чекає на свого власника 🥹

Не пропустіть можливість позмагатись за нього — приєднуйтесь донатами до збору 5 млн грн 4 Mini Shark для ЦСО «А» СБУ («Альфа»)!

Правила прості:
😎 Задонатити від 500 грн.
😎 Більше донатів — більше шансів!

Донати можна надсилати двома способами:
🚀 на монобанку KOLO;
🚀 на сторінку цільового збору KOLO.

Не відкладайте! Розіграш наступного тижня.
10😢1🤮1
🔍 Нові iOS-вакансії

Project manager (Mobile iOS) в MEGOGO, Київ
👉 https://dou.ua/goto/OXeG

Junior Strong iOS Developer в Volpis, Львів
👉 https://dou.ua/goto/TjiV

Senior iOS Developer в Lift: Stories Editor, віддалено
👉 https://dou.ua/goto/KtXD

Junior+ iOS Developer в Teamvoy, Львів, віддалено
👉 https://dou.ua/goto/DqQ8

iOS Developer в JatApp, Київ, за кордоном, віддалено
👉 https://dou.ua/goto/uz8V
5💩1🤡1
#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