Нема за що, тут просто довго її публікували, хоча і була першою зробив 😅
Очі бояться, а руки — роблять.
Насправді дуже круто, що наважилися, оскільки такі підходи концептуально є правильними і допомагають тримати код в чистоті.
Це якщо свідомі дизайнери є, то це прекрасно, бо на нас клали болт, переважно давали якісь огризки і ми крутилися вже як могли, бо в них веб був більш престижним.
Оце десь щось таке і нас було схоже, але через рукожопість адмінів все було дуже складно по інфраструктурі і часто десь та і щось треба було робити руками. Про ліби як такі також думали, наразі такий підхід і використовую, але там трохи було складно з флейворами, тому просто забили і клали ці файли напряму в репо.
І код, як можете глянути в проекті, писався в flavor, щоб було легше бачити, якщо щось витерлося чи де змінилося у файлах при котімі.
Ніяк, це чисто мануальні таски, щоб унеможливити будь-які зміни коду поза IDE.
Суть була в тому, щоб піти від 3rd-party компонентів і генерувати ці файли, як тільки дизайнери релізять нову версію токенів (в нас для цього був скрипт).
А до того був якийсь кошмар із кривих скриптів, що запускалися через ноду, а на вінді пацани взагалі деякі ламалися, коли треба було таке поставити.
+ не всі шарили, як писати JS, якщо іноді треба щось змінити.
Доволі круто звучить, якщо є можливість так організувати роботу і цим дизайнери спрощують життя розробникам. Нам так не повезло, оскільки цілий дизайн департмент не піддавався на шантаж мобайл (і не тільки) команд і вирішив зробити по-тупому, де в них є component-driven токени, а-ля, якщо бачиш тулбар, то в тебе буде Theme.colors.toolbarBackground і тому подібне.
Мені здається, що на початку саме цю лібу і засунули в проект, щоб просто файл кольорів писати. З текстовими стилями там була історія погірше і щось точно що робити вручну. Ну і та — тему автоматично воно не генерувало.
А що з фастлейном не так?
По апках — то насправді не проблема мати сотню додатків, всі вони доволі просто накатуються, оскільки це шаблон.
Це якийсь прикол, як ображена дівка якась, а не гугл.
Так і є, хоча і не завжди це може підійти. В нас на проекті цього не було, оскільки коміти клеїлись і формували реліз ноутси білдів. Також за оптимізацією можна рахувати збереження теки поточної гілки та її оновлення за потреби і видалення всіх файлів, що не у VCS на початку нового білда та і багато інших штук.
Але тут нюанс в іншому — можна на початку робити так, щоб не було проблем, аніж потім костилити якісь рішення.
Тут навіть не тільки версія системи грає роль, як і виробник пристрою.
Дуже часто зустрічаю в коді умову if (isSamsung) { // just die }
Більш всього, що не сам
LiqPay
тут винен, а якась скотина подала скаргу, що ви на зброю збираєте.
8.3 Google does not undertake an obligation to monitor the Products or their content. If Google becomes aware and determines that a Product or any portion thereof (a) violates any applicable law; (b) violates this Agreement, applicable policies, or other terms of service, as may be updated in accordance with their terms; © violates terms of distribution agreements with device manufacturers and Authorized Providers; or (d) creates potential liability for, or may have an adverse impact on, Google or Authorized Providers (for example, if a Product has an adverse economic, reputational or security-related impact); then Google may reject, remove, suspend, limit the visibility of a Product on Google Play, or reclassify the Product from Google Play or from Devices. Google reserves the right to suspend and/or bar any Product and/or Developer from Google Play or from Devices. If Your Product contains elements that could cause serious harm to user devices or data, Google reserves the right to disable the Product or remove it from Devices on which it has been installed. If Your Product is rejected, removed, or suspended from Google Play or from Devices pursuant to this Section 8.3, then Google may withhold payments due to Developer. For information about the appeal process if Your Product is subject to a Legal Takedown or has been removed or suspended, please, see here.
Там був же прикол з їх боротьбою проти ботів, що потрібно було запланувати верифікацію профіля всім розробникам. Ви таке не робили?
І в листі зазвичай має бути більше деталей про це чи в консолі.
Магазини довго індексують дані, іноді це може займати дні, щоб оновити цифру на сторінці. Так само було і з Дією. Можете зараз перевірити, 100К+ на андроїді.
Дуже багато раз пробував взяти флатер до рук (та і не тільки), але відмовився від тої затії.
Обрав для себе шлях KMP, оскільки все одно треба працювати з нативом і в цьому випадку KMP дозволяє то робити зручніше, багато варіантів того, що ти можеш винести в спільну частину, від просто модельок, аж до 99% апки.
Але і з ним не все так добре наразі. Хоча з кожним місяцем стає все краще. Наразі зробив кілька продакшн проектів, включно з маленькими проектами на Compose Multiplatform.
Всі мейнстрімлять на флатер, з ним і роботу найти простіше. Як варіант, можете подумати просто про нативну розробку як таку.
Бібліотека
Compose-destinations
просто біль в проекті. Багато багів, проблеми з навігацією, різні костилі треба було впроваджувати для того, щоб ця хрінь просто працювала. Як показала практика, її часто тягнуть в проект люди, які не вміють працювати з чистою бібліотекою навігації чи appcompanist-варіацією. Якби була можливість, то викинув би її з проекту і забувся б як страшний сон.
Код більше для розуміння картинки взагалом. Та і з телефону зручніше сприймати так. Лінки на гітхаб поки не буде.
В даній школі я маю два курси (UE5. Гра Перша (UEFG) / VFX для ігор (UEVFX)), а скоро стартує третій (3D Artist), і от що я вам скажу.
Йдучи на ці курси, я розумів, що ця школа може не виправдати певні очікування, але мені було ок з тим. Я йшов туди, щоб отримати нові знання та навички. Сказати, що я їх не отримав? Ні. Всі уроки було пройдено, на всі питання я відповіді отримав. Чи є в мене претензії до формату викладання? Так. Ловив себе на тому, що іноді позалекційно могли якісь дрібниці робитися, але вони показувалися на відео і то було зрозуміло.
В школі наразі я маю два формати навчань — запис лекцій і домашка (UEFG) та живі лекції із стрімінгом і записом (UEVFX). В кожного з цих підхотів є свої плюси та мінуси. На живих лекціях (UEVFX) не завжди подобається, що формат може бути розтягнутий, а на відкритих перших двох уроках була людина, яка закумарювала просто лектора і він відволікався від теми заняття. На записах (UEFG) іноді ти ловиш себе на думці, що ти бачиш якесь рішення, але не можеш про нього запитати чи бачиш помилку, яку допустив лектор, роповідаючи про різноманітне використання компонентів в тій чи іншій ситуації, але ту помилку виправляють і все потім працює. Або якщо ти не зрозумів, то перематуєш трохи назад і матеріал засвоюєш.
Самі лектори — хороші спеціалісти та турбуються про те, щоб ти зрозумів матеріал. Наприклад, той лектор (UEFG), якого так невзлюбив автор оригінальної статті, мені о 10 вечора в вихідний був готовий зробити дзвінок, щоб розказати про рішення проблеми, яка в мене виникла при переході із одної анімації в іншу при ударі. А тепер запитайте в себе, коли б ви були готові так вчинити?
Ще відчувається, що лектори дуже стараються спілкуватися українською і за це їм дуже велика повага. І якщо якісь проблеми виникали, то на них спокійно відповідали в дискорді. Навіть на те саме запитання, після якого почалася істерика, відповідь була написана. Ну хіба що є якісь ткрпіли, які не вміють в повідомлення і надвються, що їх думки прочитають і вирішать всі претензії.
Моя особиста думка в тому, що багато хто забув, що таке програмування і що таке навчання. Це те, де тобі треба весь час вчитися. Автор оригінальної статті поламався на першому уроці, де було показано що ти можеш робити, а в домашньому завданні розказано, як треба зробити. Ніхто йому не поклав в рот готове рішення, через що і виникли конфлікти. Але то вже питання філософії. Як виходить краще вчитися, коли тобі все готове кладуть в рот і ти більш нічого не вмієш робити, чи коли тобі розповідають про можливості і вчать думати, даючи трішки складніші завдання на домашку? Чи ніби всі забули, що код без помилок не пишеться, сервера не відкатуються по бекапах на факапи, а люди це машини, що не роблять помилок. Тому перш чим нити, що навчання тут не таке, самі зробіть школу та покажіть, як правильно це робити.
О, а ще спікером бути можна?