Від KMP до чистого нативу: як я писав ігровий трекер на Compose та SwiftUІ

💡 Усі статті, обговорення, новини про Mobile — в одному місці. Приєднуйтесь до Mobile спільноти!

Привіт усім. Релізнув нещодавно в play store свій пет проект Games Library X і вирішив трохи поділитись досвідом розробки. Давно хотів написали власний трекер ігор саме так як я його бачу, з своєю статистикою та потрібними фічами, тому сів і почав робити. Основну базу ігор беру з IGDB, а от для додаткових функцій використовуються Cloudflare Workers. Через них тягну з Steam Api відгуки, досягнення, онлайн гравців. Там же прикрутив Ші, щоб перекладати ці відгуки на льоту та генерувати підказки до досягнень, також використовую Firebase для комертарів, синхронізації списків, паблік списків, профілів гравців, підписок. Щоб пошук по іграх та фільтри, працювали швидко довелось зробити кастомну базу даних з індексами.

По розміру вирішив розвести платформи, на Android апка важить всього лиш 6мб при завантаженні, а сама база докачується як бандл. На IOS підхід інший сам бандл йде одразу в збірці без докачок, розмір виходить 40-50мб± (ще триває розробка), саму версію для Android писав на Kotlin+Jetpack Compose, розробка швидка але коли пішли складні екрани з купою динамікм, інтерактивними графіками і фільтрами, трохи були проблеми з рекомпозиціями, довелося нормально так посидіти над стейтами і дебажити UI, щоб він не перемальовувався по десять разів від одного скролу.

Звісно на старті була думка зекономити час і написати все на кросплатформі, я дивився Flutter та Kotlin Multiplatform, хотів загальну логіку зробити. Досить довго з цим розберався, намагався налаштувати але в результаті так і не зміг повноцінно та нормально все це реалізувати під свої потреби, зрозумів що витратив багато часу, тому вирішив робити чистий натив. Зараз активно пишу IOS версію на Swift+SwiftUI, це взагалі інший свій для мене після Android, розробка йде важко. Окремо працюю над версією для Ipad, бо не хочу просто розтягувати екран з телефону, тому повністю переробляю ui під великі екрани, до релізу яблучної версії додатку ще далеко.

Ось назва в play store на Android версію, якщо комусь цікаво глянути як працює Compose на складному Ui з докачуванням бандлу, в плей сторі Games Library X додаток.

Хто мав схожі проблеми зі стейтами в Compose або теж переходив на натив х кросплатформи? Пишіть цікаво обговорити.

Одразу скажу що не претендую на звання супер розробника, ще багато чому вчуся і по суті тільки на початку свого шляху, тому буду радий конструктивній критиці.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а шо можна тут конструктивно критикувати ?

А ви гуглили назву додатку перед тим як опублікувати? Є незрозумілі дописи вконтакте з рекламою цього ж додатку.

пост взятий взагалі з мого тг каналу і перекладений і запощений..
t.me/gameswinlator/360

Що я зараз прочитав? А головне навіщо?

Підписатись на коментарі