Pull to refresh

Comments 9

Вечные влажные фантазии бизнеса - потратить меньше, продать больше. Признаюсь, я в этом вопросе предвзят, есть лютая ненависть к JavaScript, но был период в карьере, когда был вынужден реализовать проект на RN как раз по причине того, что работодатель продал заказчику идею приложения на две платформы по цене одной. Более того, результат окупился и успешно вывел приложение на Android рынок (на iOS приложение уже было, и мы на его основе реализовали гибридный проект). Однако в кулуарах разработки творился образцовый звиздец. Во-первых, идея нанять одну команду JS разработчиков полностью провалилась - либо JS-у приходилось доучивать тонкости мобильной разработки, либо нативному доучивать Реакт, JSX и JS. Все это лечилось лютыми овертаймами и закрытием экспертизы с помощью небиллабл позиций (чтобы не ударить в грязь лицом перед заказчиком, и не признавать что рекламная оферта оказалась обманом). Т.е. хороший RN разработчик - это такой единорог, который и за Android пояснит и за iOS, да ещё и JS экспертизой не побрезгает. Другой вариант - втягивать в проект экспертов сразу из всех трёх областей. В любом случае сэкономить тут не получится (и скорее всего даже наоборот). Во-вторых, RN не сильно приветствует платформо-зависимый интерфейс и верстка делается единообразно что для Android, что для iOS. Для меня, как для человека который курил спеки Apple Human Interface Guidelines и Google Material Design с момента их появления, консистентный UX - первый признак качественного приложения, чего нельзя достичь без раздельной верстки и паттернов навигации (а в Android и iOS консистентный навигация часто работает по разным правилам). Справедливости ради, RN позволяет делать разную вёрстку под разные платформы, но во-первых вам никогда не объяснить бизнесу зачем это надо, а во-вторых проблемы с нарушением консистентной навигации это не решает.

В общем, RN видится мне как дорогой способ сделать некачественное приложение.

В контексте вашего опыта и точки зрения, кажется очень ценным услышать ваш опыт/мнение насчёт flutter в схожей плоскости относительно бизнеса.

Если ответите, буду признателен 😊

С Flutter я не работал, поэтому не могу по поводу этого фреймворка сказать что-либо достоверно. В свое время, если бы меня попросили порекомендовать технологию гибридной разработки, я бы порекомендовал Xamarin, поскольку Microsoft предлагает почти эталонный подход с платформозависмым UI, но общей бизнес-логикой. Однако на сегодняшний день это неактуально, т.к. поддержка Xamarin уже прекратилась (а с новым фреймворком MAUI я опять же не работал, чтобы его рекомендовать)

Имел опыт разрабатывать backend для Xamarin приложения - лютейшее тормозное нечно.

Есть в этом комментарии что-то истинное, но в целом Xamarin и MAUI имеют очень низкий порог вхождения, на них очень просто написать приложение, и оно будет просто работать, но да, с перформансом будут проблемы.

Это не есть проблема для "легковесных" приложений, но что-то корпоративное требует другого подхода.

Чтобы фреймворк себя проявил, работал плавно и эффективно с ним надо работать глубже, в том числе и на нативном уровне.

У меня из недавнего опыта с React Native, это использование Купер, когда листал большую выдачу товаров в маркетплейс и увидел натурально слайдшоу, и буквально недавно попалось интервью с React Native лидом Купера, не хочется думать что в Купер слабые разработчики все таки алгоритмы и все такое знают, а значит это сам RN вставил палки в колеса, и хорошо если решат на уровне RN, а если не получится то придется нативные заплатки видимо писать, так что тут каждый должен думать сам, возможно для небольших приложений RN и норм, а так с использованием ИИ, не вижу проблемы Senior IOS/Android разработчику писать 2 нативных модуля с утвержденной архитектурой, языки +- похожи, есть моменты с SDK, но тоже нет такого слома сознания как с Kotlin/Swift начинать писать на Haskell.

Это очень неразумно мигрировать с Kotlin на React. Я бы предложил наоборот использовать Kotlin Multiplatform. Наиболее адекватный фреймворк Jetbrains Compose Multiplatform.

Sign up to leave a comment.

Articles