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

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

З побажаннями, ідеями чи скаргами пишіть – maria@dou.ua 👈
Щодо розміщення реклами — events@dou.ua
Download Telegram
🔍 Нові iOS-вакансії

Senior iOS Developer / Bird в ЛУН
Київ
👉 https://dou.ua/goto/AEwM

Junior iOS Developer в Weelorum, $800–1200
Дніпро, віддалено
👉 https://dou.ua/goto/akC3

iOS Developer в Stairway Soft, $2500–3000
віддалено
👉 https://dou.ua/goto/4xBI

iOS Developer в Axon, $2300–2800
Краків (Польща), віддалено
👉 https://dou.ua/goto/NmRa

Middle iOS Developer в Futurra Group
Київ
👉 https://dou.ua/goto/qNc4
🖕3🗿1
#iOSКомпас 🧭
7️⃣1️⃣ Завдання 71

Які види диспетчеризації існують у Swift?


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

🤔 У Swift існує кілька видів диспетчеризації, які визначають, як і коли викликаються методи або функції. Основні види диспетчеризації включають:

1️⃣ Статична диспетчеризація (Static Dispatch)
Виклик функції або методу визначається на етапі компіляції. Використовується для структур, перерахувань і final класів.

struct MyStruct {
func printMessage() {
print("Hello from MyStruct")
}
}

let instance = MyStruct()
instance.printMessage() // Виклик визначається на етапі компіляції


2️⃣ Диспетчеризація за таблицею віртуальних функцій (Vtable Dispatch)
Використовується для виклику методів класу, які можуть бути перевизначені в підкласах. Віртуальна таблиця (vtable) визначає, який метод викликати.

class BaseClass {
func printMessage() {
print("Hello from BaseClass")
}
}

class SubClass: BaseClass {
override func printMessage() {
print("Hello from SubClass")
}
}

let instance: BaseClass = SubClass()
instance.printMessage() // Виклик визначається в runtime за допомогою vtable


3️⃣ Диспетчеризація за свідком (Witness Table Dispatch)
Використовується для виклику методів протоколів, реалізованих типами.

protocol MyProtocol {
func printMessage()
}

struct MyStruct: MyProtocol {
func printMessage() {
print("Hello from MyStruct")
}
}

let instance: MyProtocol = MyStruct()
instance.printMessage() // Виклик визначається в runtime за допомогою witness table


4️⃣ Динамічна диспетчеризація (Dynamic Dispatch)
Використовується для методів, позначених як dynamic, або методів Objective-C. Метод визначається в runtime за допомогою Objective-C runtime.

import Foundation

class MyClass: NSObject {
@objc dynamic func printMessage() {
print("Hello from MyClass")
}
}

let instance = MyClass()
instance.printMessage() // Виклик визначається в runtime за допомогою Objective-C runtime


#️⃣ У Swift існують різні види диспетчеризації: статична, диспетчеризація за таблицею віртуальних функцій, диспетчеризація за свідком і динамічна диспетчеризація. Кожен вид використовується в залежності від структури та вимог коду.

@Zatishna_Galera
Please open Telegram to view this post
VIEW IN TELEGRAM
👌4👍2🖕21
Last Call: цього тижня ми закриваємо дослідження бренду роботодавця і розігруємо мерч серед тих, хто заповнить анкету 🔥

Тому заповнюйте 👉 https://jobs.dou.ua/questionary/
Ми чекаємо саме на вашу відповідь 🤟
🖕5😁3👍2
Артем Герасимов, Senior React Native Engineer, розглядає використання компонентів списків у React Native.

Він ділиться власним досвідом оптимізації продуктивності, проблемами, з якими стикаються розробники, та рекомендаціями щодо вибору найкращого компонента для різних сценаріїв 👉🏻 https://dou.ua/goto/qiPy

#ReactNative
👍7👎42❤‍🔥1🌚1🖕1😭1
💥 Вриваємось у новий збір — 3,5 млн грн на FPV-дрони від Social Drone UA!

Добре відома вам спільнота збирає на плати ініціації та батареї для доукомплектування 1000 "пташок", що будуть нищити окупантів.

Тож просимо підтримати донатами, а подяки — не забаряться!

Деталі: https://dou.ua/goto/twPU
Банка: https://dou.ua/goto/JQn8
👍5🖕4
Діана Домославська, iOS Developer, ділиться своїм досвідом використання інструментів для оптимізації процесу розробки програмного забезпечення.

Вона розглядає сучасні рішення, які допомагають автоматизувати рутинні завдання та покращити якість коду 👉 https://dou.ua/goto/8c7m
8🖕4😁2🔥1🤨1
Спільното, пам'ятаєте навчання у виші? А може, навчаєтесь досі? Підготували аналітку щодо вступної кампанії на IT-спеціалізації 🔥

📌 Три ІТ-спеціальності входять у десятку найпопулярніших спеціальностей в Україні.
📌 Цього року на ІТ-спеціальності подали на 25% менше заявок, ніж торік.
📌 Кількість першокурсників на ІТ-спеціальностях зменшилась на 30%.


Деталі в статті 👉🏻 https://dou.ua/goto/JdJt
🖕2
😎 Рейтинг ІТ-роботодавців 2024: оцініть свою компанію

Настав час подивитися, як цього року працювалося розробникам, а ще – визначити найкращих ІТ-роботодавців. Запрошуємо узяти участь та оцінити свою компанію!

Рейтинг є безкоштовним і відкритим для всіх компаній. Приділіть 5 хвилин вашого часу 👉 https://dou.ua/goto/o09d
3🖕1🎄1
Як ми інтегрували React Native у наявний Android застосунок. Розглядаємо реальний кейс

Задача: потрібно реалізувати частину мобільного застосунку нативною мовою, а частину — на React Native. Може здатися, що це жарт, але це реальний кейс із практики команди Андрія Черниша, Engineering Manager та Android Engineer в Uptech. 

У статті він розповідає про рішення, які вони ухвалювали під час інтеграції React Native в наявний Android-застосунок, як фіксили технічні проблеми та про підхід, що оптимізував бізнес-процеси 👉 https://dou.ua/goto/JUPQ
🥴144👎4👍3🔥1
Розробники, які тільки починають працювати з Flutter, часто мають складнощі у виборі пакетів.

Тож Ігор Козарь вирішив розповісти про пакети, які сам використовує на практиці в роботі та вважає їх обовʼязковими для ознайомлення. Автор розділив їх на категорії, а також пропонує альтернативи й запрошує доповнювати список! 👉🏻 https://dou.ua/goto/pnoz
👎11🥴4👍32😁2🖕2🔥1
🥴21💯15😁3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Геннадій Міщевський — тестувальник і автор найпопулярнішого топіка на DOU (1,6 млн переглядів!) — ще й активний збирач і тестер FPV в Social Drone UA.

Він дякує за підтримку і донати, а ми все ще збираємо 3,5 млн грн на доукомплектування 1000 FPV. Долучайтесь, адже Геннадій особисто гарантує найвищу якість дронів 😉

Деталі збору: https://dou.ua/goto/twPU
Банка: https://dou.ua/goto/JQn8
👍1
В новому топіку Володимир Леонов, Android Technical Lead в Uklon, розповідає про свій досвід переходу з науки в IT.

Він почав кар'єру в теоретичній фізиці, досліджував молекулярні фотодіоди, але через обмежені можливості розвитку науки в Україні вирішив змінити сферу. Зацікавившись розробкою, він вивчив Java та почав займатися мобільною розробкою.

Автор відзначає, що науковий бекграунд допоміг у програмуванні завдяки вмінню моделювати задачі та мислити аналітично. Він також згадує про виклики, пов'язані з самодисципліною та адаптацією до швидшого робочого темпу в IT 👉🏻 https://dou.ua/goto/VRq1
👍10👎21🥴1🤣1🤪1
Цікаві події для мобайл-розробників 🔥

21.10, онлайн React Native Internship в Stormotion
29.10, Київ & онлайн CocoaTalks #1 by CocoaHeads Ukraine
21.11, Київ Офлайн DOU Mobile Meetup, Київ

Ви також можете додавати свої події в Календар 
👉🏻  https://dou.ua/calendar/add/

#DOU_Календар
🔥6🖕4
🔍 Нові Android-вакансії

Middle Android Kotlin Developer в APPVALES, до $2700
Remote
👉 https://dou.ua/goto/UBa6

Android Developer (Middle/Senior) в RIA.com
Київ, Вінниця, віддалено
👉 https://dou.ua/goto/4ko9

Senior Android Engineer в StartupSoft
Львів, Тернопіль
👉 https://dou.ua/goto/cjP7

Middle Android Developer в Quarks
за кордоном, віддалено
👉 https://dou.ua/goto/3Cim

Android Software Engineer в Дія
Київ
👉 https://dou.ua/goto/5t5s
😢5🤣3👻1
На зв’язку Андрій Провізіон, CEO агенції мобільного маркетингу ASO.Marketing. У цій статті ми обговоримо базові кроки в оптимізації сторінки для успішного просування застосунка 👉 https://dou.ua/goto/PVT3
🔥5🖕3👍1
Привіт, спільното!

Ми знаємо, що ви довго чекали на цю новину — офлайн DOU Mobile Meetup повертається після майже року перерви! 🔥
Це чудова нагода зустрітися з однодумцями, обговорити новинки мобільної розробки та познайомитися з новими людьми.

🗓️ Коли: 21 листопада о 18:00
📍 Де: Київ, UNIT.City

Незабаром оголосимо спікерів. Тим часом ознайомтеся з програмою і не забудьте зареєструватися за посиланням 👉🏻 https://dou.ua/goto/7B1m
3🖕3👍1
Користувач Форуму DOU запитує поради щодо роботи з Apple Enterprise Developer Program Account. Якщо маєте досвід і бажання допомогти — пишіть: https://dou.ua/goto/of77
🖕42
Сергій, iOS Developer, ділиться досвідом оптимізації роботи з відео у застосунку для соціальних мереж.

Він розповідає про використання AVFoundation, асинхронне завантаження ресурсів, а також впровадження AsyncDisplayKit для покращення продуктивності при роботі з UICollectionView 👉🏻 https://dou.ua/goto/mnRI
🔥11👍1🤨1🖕1
Анонсуємо першого спікера, який виступить на DOU Mobile Meetup 21 листопада в Києві! 

🔴 Юрій Сенета — iOS Developer, BetterMe. Має 7 років досвіду в індустрії. Починав кар’єру, використовуючи Objective-C, згодом перейшов на Swift. Юрій брав участь у розробці та підтримці CRM систем, чатів, IPTV та фітнес додатків.

Тема доповіді Юрія — «SwiftUI і UIKit: Спільна робота на основі Redux». 

Щоб дізнатись більше про подію, переходьте за посиланням 👉🏻 https://dou.ua/goto/7B1m
🔥31🖕1🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Новий випуск Mobile-розсилки вже чекає у вас на пошті! 💌

Як отримувати такі листи? Дуже просто – потрібно підписатись на спільноти DOU на сайті 😎

А якщо хочете попасти в наступний лист – присилайте блоги, техстатті й топіки сюди.
5👍1🖕1