Галоўная / Артыкулы

Shipping Feyz: аплікацыя для размышленняў пра веру на базе React Native, якая перайшла з падпроекта ў магазіны.

Як база коду TypeScript React Native пераканала Tawakkul на Feyz за дапамою керавання магазінамі, пасляўдкі гэтага для старыях прыстроёў, а таксама за дапамою UX, якая не пераскрадвае увагу.

Выдавец: REACTAPP.TOP4 хв чытання926 слоў

Крыніцы: **My Best Mobile App Built with React Native: The Story of Feyz**

Багато інжынераў ставяць сабе таямны цель — прынясіць незалежную ідэю з порожнья базы дадзеных да публічных магазінаў. Гэта досягненне можа здавацца далекай метай прыгожа часу. Дзякуючы крос-платформенаму мобільнаму продукту пад назвай Feyz — які спачатку называўся Tawakkul — гэтая цель стала рэальнаю у віглядзе дапрацаванага бінарнага файлу для App Store і Play Store. Серэд праектаў на React Native гэты прыклад выдзеляецца як особліва значны, таму што ён спрыяў прыняцчы практычных рашэнняў, а не проста навучальным практыкам.

Паходжэнне продукту і болей ясны направлення UI

Feyz не з’явіўся з нізкі. Развіцца прышлось быстрэй пасля саавтарства з іншым распрацоўшчыкам, які пазнакоміў з крос-платформенымі фрэймворкамі і адказваў за наставніцтва пры першых кроках у навучэнні.

Візыя продукту — гэта відшліфаваная прастора без зайвых відволікаючых фактараў, якая дапамагае людзям адчуваць духоўную свядомасць і рэфлексіявацыя над ўпаважненням у повсякдзенны жыццё праз насыцаны графік. Аналіз існуючых дапрыямоў у той жа катэгорыі паказаў значны прывод. Большасць з іх альбо хавала корыстнае адчуванне пад перасоранымі, застарэлымі інтэрфейсамі, альбо відвлекала увагу праз медленную, пасляпэльна оптымізаваную структуру. Тое, што спачатку было простым эскізам маленькага інструменту, ператворылася на сфокусаваны праект вышэйшай якосці.

Выбор React Native для обох платформ

Планаванне розгортання выклікала звычны выбар: аддзельныя кодавыя базы на Swift і Kotlin, чы ўжо спільны падход для кантролю разных платформ. React Native перамогла з точкі зору логістыкі. Адна кодавая база на TypeScript, якая стварае бінары UI для Android і iOS, скорачыла час распрацоўкі і усунула дублікацыю логікі продукту.

Праект таксама стаў мясцам практычнага навучэння React Native. Работа выйшла за межы структураваных відэокурсаў і загальных прыкладных рэпазітарыёў. Узамест стварэння стайляў для статычных экранаў увага была сфокусавана на асінхронной прыемле стану, дынамічных канцах і компонентах лейауту, якія павінны правільна працаваць у розных значэннях ўплотнення пікселей.

Архітэктура росту і кераванне пасля запуску

Пераклад працоўнае аплікацыю для кантролю разных платформ з локальнага эмулятора ў офіцыяны магазін прыводзіць да іншых труднасцей. Выявілася, што стварэння чыстага коду компонентаў ёсць простыяй задачай. Зроўнасць у розвіце аплікацыі была досягнута праз рашэнне проблем з развяртанням.

Паўначальна патрабавання было такое: восьбаваць прыемнасць апыту выкарыстоўвання — усунуць зайвыя элементы меню, застаўці мінімалістычны лейяут, а да духоўных размышленняў было можна дасягнуць проста праз адну лёгкую для спраўлення кнопку. Друга патрабавання — адносна тэлеметрыі і прайму дадзеных было неабходна рэтэльна налаштаўваць, каб стан сістэмы заставаўся стабільным без блакавання галоўнага потока на старэйшай апаратыце. Трэцяя патрабавання — налаштаванні самай платформы значылі, што права Android, дрэвы залежнасцяў CocoaPods і локальныя настройкі пакетаў трэба было скорэктаваць, каб ужо пад час працы не выйшлі крахі.

Перайменаванне Tawakkul у Feyz было не проста косметычным заходам. Калі накаплялася тэлеметрыя з робочай сістэмы і профілі аўдытарыі стабілізаваліся, назва Feyz лепей адпавядала зрэламу, інклюзыўнаму і шырэйшаму продукту. Гэта перайменаванне відбівала пакрашчэння ў якосці коду і масштабах продукту, так і прыбліжэнне да брэнду.

Што навучыла практыка розповсюджэння пра інжынерную майстэрнасць

Стварэнне і выпуск прыложэння падзяйліла уявленне, што элітна інжынерыя адпавядае сабой самай хітрой сінтаксы. Чыраганне рэальнага продукту вымагае адкінуць эго і думаць як той, хто стварае продукты. Тэрпенне да зламаных налашчэнняў асяроддзя, адносна стабільнасць праз цыклы адхоўлення ў магазінах і скромнасць пад час аналізу рэальных адгукатаў корыстувачаў маюць большое значэнне, чым проста показваць алгорытмы. Завершэнне прыложэння і яго падтрымка ў рэжыме працы вымагаюць дысцыпліны, якой няма можна навучыцца, проста стварыўшы новы рэпазітарый. Feyz больш не ёсць проста папкай у GitHub; гэта доказ таго, што сфокусаваная ідэя можа перайсці межу прамышленнага выпуску.

Прабуйце жывыя версіі

Інжынеры, дзяржаўцы дызайну і чытальнікі, якія заінтэрэсаваны ў аўдытэ разлічных інтэрфейсаў, тэставанні рэндарынгу на разных платформах чыта абстракцыйнай архітэктуры, могу запусціць готовыя бінарныя файлы з публічных каталагаў Apple App Store і Google Play для прылады Feyz.

Шлях ад абстрактнай ідэі да публікацыі ў магазіне застаецца тым жа для будзь-яго падобнага практычнага праекту: выберыце тэхналогічную структуру, якая дазволіць працаваць на розных платформах, спроектуйце раштунакі так, каб усё было проста і зрозумела, а не перасыпана додатковымі функцыямі, і ставіцеся да правіл магазіна і аналізу дадзеных пасля выпуску як да важных інжынерных задач, а не да дробных праблем. React Native спрыяў стварэнню версій для двух платформ, а практычныя абмежэння зробілі ўсё гэта рэальнасцю. Функцыяны, якія не блакуе старэйшыя прылады, разрэшэнняя, якія перазнаходзяцца пасля перагледу, і структуры CocoaPods, якія застаюцца цэлесообразнымі, можа і не выглядаюць прыгожа, але самэ гэта вярнайша, чы будуць корыстувальнікі вообшча магчымыя паблікуваць абстрактныя раштунакі.

Аплікэцыя для духоўнага розвітку без адвалерсіяў таксама вымагае жорсткага скарочэння функцый. Кожны дапамоглівы пункт меню конкуруе з можнасцю быстрага выканання практыкі, калі чалавек ачынае прыстройку. Абсалютная чытаемасць тэксту, прагнозаваныя змены стана і сінхронізацыя на фоне, якая не стварае перакантрацій, — гэта не просто додатковыя элементы дызайну, а сама сутнасць продукту. Самэй ты Фейз прадалаў просты і без перакантраційны спосаб уведзення ў ўседневныя размышленні працоўна ўсуперак насычанай панелі керування з дапамоглівымі інструментамі.

Для команд, які адаптуюць React Native для стварэння спецыялізаваных додатакаў, урок ёсць практычны. Спяльны TypeScript можа пераносіць інтэрфейс і бізнес-логіку між рынкамі выдавання, але проблемы, связаныя з натыўным кодам, застаюцца: патрабаванні Android, графы залежнасцяў iOS і разлікі ў характэрыстыках апаратуры. Загадзя выдзеляйце час на рашэнне такіх проблем. Розглядвайце версіі, створаныя на эмуляторах, як проміжны рэзультат, а не канець працэсу. Працэсы зберагчэння, прыметкі па адхіленням і перагляд карыстоўнасці на старэйшых прыстроях — гэта тое, што ператварае падпрыект на адтульны бінарны файл.

Додаткі, якія належаць аднособам, таксама навучаюць контролю над усім цыклам — ад ідэі, па UX, модулях TypeScript, настаўкам натыўнага коду, падачы на рынак і стану працы ў часе експлуатацыі. Самэ гэты цыкл ператварае абстрактны этап у ўсё, што корыстувачы можаць завантажыць вечарам.