Комментарии 19
Мы решили написать пользовательский интерфейс на ReactJS с использованием фреймворка Capacitor.
А потратили бы чуть больше времени и сделали бы хорошо, а не «за 9 дней».
Проект собирается в оптимизированный и сжатый набор файлов, который выгружается на удаленный сервер. Capacitor имеет доступ к нативным функциям, приложение запускается через WebView, где указан URL с собранным на ReactJS проектом.
В итоге получился RAT. Круто.
Решение на ReactJS получилось гораздо более оптимальным: во-первых, полный функционал получилось сделать за 67 часов, во вторых с точки зрения гайдлайнов и логики все получилось вполне рабочим
А, то есть «оптимальный» это теперь значит «мы смогли сделать его очень быстро», а не «оно работает очень быстро».
Господа, ну хватит, пожалуйста, прекратите уже тащить веб туда, где ему не место, и греть процессоры пользователей. Ну пожалуйста. Очень прошу.
+7
Не понимаю нападок. Да, на процессоре Mediatek Helio G90T я вижу явные лаги в анимации в выпадающих пунктах в приложении вкусвила, да, заметно, что гибрид (думал что раз автор написал что нет разницы, нет она все таки есть). Но обвинять в нагреве процессоров разработчиков гибридных приложений, забыв что сами сайты по другому на телефоне не отображаются кроме как в браузере. Так какая разница? У вас есть предложения по кроссплатформе? Где аплейты можно накатывать хоть 3 раза на дню на огромную аудиторию?
Вот отказ от реакта с его бандлом, кстати, olesyatsareva15 какой размер бандла? Был бы интересен.
Вот отказ от реакта с его бандлом, кстати, olesyatsareva15 какой размер бандла? Был бы интересен.
+2
Все эти лаги и макрофризы порядком уже поднадоели. React и JS позволяют, если не мотивируют, делать разработчиков наотвали. Зачем тогда вообще нужно приложение, если есть сайт? Коль уж сделали приложение — будьте добры, не лезьте со своим уставом в чужой монастырь и сделайте его нативно, чтобы вашим приложением было приятно пользоваться, а не приходилось надевать сварочные краги дабы уберечь пальцы от ожогов о металлические кнопки смартфона. Сайты и браузеры, кстати, не так порой греют CPU, как вот эти вот гибриды.
Предложений по кроссплатформе нет, потому что кроссплатформ в мире мобильной разработки это всегда какой-то адский компромисс в ущерб производительности. Подскажите пожалуйста, а что за неистовая необходимость так часто накатывать обновления? Не хранит же Вкусвилл свой контент в приложениях, по-любому он отдаётся через API. А чтобы не приходилось выкатывать обновления три раза в день, приложение нужно тестировать перед релизом.
Дорого? Да. Но и ВкусВилл, мной уважаемый и любимый, кстати, магазин не из дешёвых. И я не говорю что-то в духе «вы же там зарабатываете бешеные деньги», нет, просто если я захожу в магазин и мне приятно там находиться, очень не хочется разочаровываться при скачивании приложения.
Предложений по кроссплатформе нет, потому что кроссплатформ в мире мобильной разработки это всегда какой-то адский компромисс в ущерб производительности. Подскажите пожалуйста, а что за неистовая необходимость так часто накатывать обновления? Не хранит же Вкусвилл свой контент в приложениях, по-любому он отдаётся через API. А чтобы не приходилось выкатывать обновления три раза в день, приложение нужно тестировать перед релизом.
Дорого? Да. Но и ВкусВилл, мной уважаемый и любимый, кстати, магазин не из дешёвых. И я не говорю что-то в духе «вы же там зарабатываете бешеные деньги», нет, просто если я захожу в магазин и мне приятно там находиться, очень не хочется разочаровываться при скачивании приложения.
+5
Ну, если вы не планируете работать курьером в ВкусВилл, то при скачивании приложения — не разочаруетесь. Статья в большей степень для менеджеров, чем разработчиков и этот стек я рекомендую для очень небольших и внутренних корпоративных проектов. Клиентское приложение я бы так делать не стал. Разве что если клиентов — буквально несколько тысяч.
+2
Долгое время придерживался таких же взглядов, как и Вы насчет кроссплатформенной разработки. Мне тоже не нравятся вечно лагающие поделки на React Native, но год назад с командой начали пробовать Flutter. Это далеко не так плохо. Если у Вас есть работа с камерой, любая сложная графика и тд это вариант не для Вас, но в случае ВкусВилла это прям идеальный кейс для Flutter. Он собирается в нативный код + под капотом рендеринг хромиум, который порезали и прокачали. Оно действительно работает хорошо на определенных задачах. Оно никогда не заменит натив, но сэкономить время и силы в некоторых случаях вполне может.
Не всегда кроссплатформа это плохо, ее надо применять с умом и тогда это будет вполне юзабильно, пользователи даже разницы не заметят
Не всегда кроссплатформа это плохо, ее надо применять с умом и тогда это будет вполне юзабильно, пользователи даже разницы не заметят
0
Работа с камерой у флатера через официальный плагин заявлена с доступом к видео потоку. Но я не ковырял его. Если так то ocr можно будет реализовывать сишными либами прямо из Дарта. А пока только через подключение нативной части к проекту.
Юнити подключается. А со второй версии есть мультидвижковость. То есть движком флаттера можно ещё проще жанглировать. Там кнопками слайдишь а на экране то активити андройда, то флаттер, а то и оба на одном экране. Дата шарится между ними в реалтайме.
Юнити подключается. А со второй версии есть мультидвижковость. То есть движком флаттера можно ещё проще жанглировать. Там кнопками слайдишь а на экране то активити андройда, то флаттер, а то и оба на одном экране. Дата шарится между ними в реалтайме.
0
Что я понял будучи Android разработчиком и поработав долгое время с камерой, так это то, что в android в принципе нельзя сделать камеру так, чтобы она работала везде и хорошо. Даже у гигантов по типу инстаграмма несколько раз ловил полное зависание картинки.
Если Вы хотите просто камеру, чтобы видеопоток и фоткать, то да, возможно Вам подойдет флаттеровский плагин. Если Вы захотите наложить фильтр к примеру, или поискать QR Code в риалтайме (оба реальные кейсы), это не к flutter, Вы идете в native код и используете opengl или что Вам нужно. Если Вы попробуете в принципе во flutter получать кадр, то Вы удивитесь, но Вы увидеть 4-5 fps, так как Dart по своей природе однопоточный и стандартный плагин камеры передает все эти огромные массивы в ui потоке и сделать, что либо с ними Вы уже не сможете.
Flutter надо использовать там, где ему место. Для некоторых задач, к сожалению, подходит только нативная разработка
Если Вы хотите просто камеру, чтобы видеопоток и фоткать, то да, возможно Вам подойдет флаттеровский плагин. Если Вы захотите наложить фильтр к примеру, или поискать QR Code в риалтайме (оба реальные кейсы), это не к flutter, Вы идете в native код и используете opengl или что Вам нужно. Если Вы попробуете в принципе во flutter получать кадр, то Вы удивитесь, но Вы увидеть 4-5 fps, так как Dart по своей природе однопоточный и стандартный плагин камеры передает все эти огромные массивы в ui потоке и сделать, что либо с ними Вы уже не сможете.
Flutter надо использовать там, где ему место. Для некоторых задач, к сожалению, подходит только нативная разработка
0
Спасибо за информацию. Нет большой проблемы вызывать активити с камерой из Дарта. Натив и флаттер сейчас могут существовать вместе в любых вариациях. Его все равно можно пихать по всюду даже в этом случае. Кроссплатформу с доступом к камере вообще сложно представить.
-3
Что на счет этого скажете?
pub.dev/packages/qr_code_scanner
Прямо в описании отказ от перехода в активити
pub.dev/packages/qr_code_scanner
Прямо в описании отказ от перехода в активити
+2
Яндекс.Такси Go — отличный пример, когда флюттер прикрутили там, где ему не место. Открываем приложение и страдаем.
+1
Я может ошибаюсь, но Яндекс.Go написан не на flutter, а нативно. Вы путаете с таксометром, это приложение для таксистов. Его как раз переписали на flutter, но это то чем пользуются таксисты, а не обычные юзеры.
Опять же надо отметить, что их приложение на flutter для таксистов имеет достаточно урезанный функционал и flutter на него хорошо ложится, так как к примеру карты, сделанные нативно другой командой, просто используются как плагины.
Не знаю про качество этого приложения, может кто-то поправит, но не думаю, что там проблемы именно из-за flutter
Опять же надо отметить, что их приложение на flutter для таксистов имеет достаточно урезанный функционал и flutter на него хорошо ложится, так как к примеру карты, сделанные нативно другой командой, просто используются как плагины.
Не знаю про качество этого приложения, может кто-то поправит, но не думаю, что там проблемы именно из-за flutter
0
libflutter.so в APK-файле кое на что намекает.
Однако стоит сказать что последние версии этого самого Go работают пошустрее, видимо, что-то подкрутили.
Однако стоит сказать что последние версии этого самого Go работают пошустрее, видимо, что-то подкрутили.
0
React и JS позволяют, если не мотивируют, делать разработчиков наотвали. Зачем тогда вообще нужно приложение, если есть сайт?
У нас капитальзм. Пипл не понимает и кушает — а Абрамов счастлив и поет
сделайте его нативно, чтобы вашим приложением было приятно пользоваться,
Не пользуйтесь, как я!)
Предложений по кроссплатформе нет, потому что кроссплатформ в мире мобильной разработки это всегда какой-то адский компромисс в ущерб производительности.
Вся производительность в отклике интерфейса, да и вон 3 метра скриптов гоняют не замечают разницы, говорят.
Подскажите пожалуйста, а что за неистовая необходимость так часто накатывать обновления?
Алкоголь, женщины, предательства, недостаточный вкусный кофе. Очередное падение от какого нибудь роскомподзора, а у тебя быстрый релиз. Не говоря уже о баге, который вчера.
Дорого? Да.
А представь, что браузер сделают такой же быстрый как и натив и будет дешево и возмущаться будет незачем. Куда девать целую армию нативных разрабов? Никому не выгодно кроме нищебродов. А рынок, куда либо с мешком денег заходи или работай в офлайн довольно наглый — это приводит к монополизации отрасли. Все друг друга должны хватать за яйца, самое выгодное для всех
-2
Уточню, что гибрид только приложение для курьеров, клиентское (на котором вы видите эти лаги) — нативное. Бандл — 4 мб, но там 1,5 — шрифты.
+2
Гибридное приложение — только приложение курьера, клиентское — нативное =) Бандл = 4 мб, из них 1,5 — шрифты.
+2
Отличное приложение, судя по бизнес результатам:
"«Полгода назад доля онлайн-продаж в нашей компании составляла не более 1% от общего оборота. Был грандиозный план нарастить ее к концу года до 3%. Но уже в мае эта доля составила 15%», — рассказывает управляющая электронной коммерцией «ВкусВилла» Лариса Романовская. В мае «ВкусВилл» оказался на пятом месте среди российских игроков e-grocery: число онлайн-заказов за месяц выросло втрое, до 604 000, месячный оборот удвоился, до 1,25 млрд рублей."
"«Полгода назад доля онлайн-продаж в нашей компании составляла не более 1% от общего оборота. Был грандиозный план нарастить ее к концу года до 3%. Но уже в мае эта доля составила 15%», — рассказывает управляющая электронной коммерцией «ВкусВилла» Лариса Романовская. В мае «ВкусВилл» оказался на пятом месте среди российских игроков e-grocery: число онлайн-заказов за месяц выросло втрое, до 604 000, месячный оборот удвоился, до 1,25 млрд рублей."
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как мы сделали мобильное приложение для курьеров «ВкусВилл» за 9 дней