Это копия, сохраненная 24 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Flutter — декларативный кроссплатформенный фреймворк для работы с GUI.
Ресурсы:
Решил вкатиться? Хороших книг нет.
Документация: https://dart.dev/guides
Пакеты: https://pub.dev/
Flutter Docs: https://flutter.dev/docs
Где кодить?
Visual Studio Code (Desktop, IOS и всё что ниже)
Android Studio (Android)
WebStorm (Web)
А зачем мне всё это?
Затем, что Dart в некоторых местах обогнал Golang. Затем, что у него простой и понятный синтаксис. Затем, что Flutter удобен для создания адаптивных приложений и его поддерживает Google.
Список VSC-расширений от Анона
Dart:
Pubspec Assist
dart-import
#region folding for VS Code
Flutter:
Awesome Flutter Snippets
ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ
>Позиционируется в качестве замены/альтернативы JavaScript, однако способен на большее.
Пруфы?
Да.
Ты и более популярные языки загибают. Помню когда-то подымал тоже дарт тред, когда они 2.0 и флаттер запилили.
Хочу опробовать сие творение, вот только сразу же запутался в этих архитектурах управления состоянием. Что выбрать если у меня будет ГУИ в полтора экрана? Блок, провайдер или редукс? Или есть что еще попроще?
Посмотри тут, может найдёшь что тебе нужно
https://github.com/flutter/samples/blob/master/INDEX.md
Спасибо, нашел. Правда от этого все стало еще сложнее, но это мелочи. Буду держать вас в курсе.
Уноси свое мертвое говно вслед за гугл+ и гуглридером.
Только вот Google+ практически не развивался, то что сайт работал не означало что сеть живая. Google+ со всем своим потенциалом умер в зачатке
Вы находитесь здесь: #go
Потому что делает их для себя, а не для нормальных людей.
Из Молдовы, где фирма только онлайн зарегана и потому только ремоут работу на себя в пиндостане
>Flutter — декларативный кроссплатформенный фреймворк для работы с GUI.
Нихуя себе
Оно компеклируется?
Компеклируется.
есть, но на синтаксис и функционал старого дарта. Который просто поделка жс с типами.
да гугл как горячи пирожки клепает версии уже 2,7
А зачем тебе книги? У флаттера отличная исчерпывающая документация, да к тому же, он развивается бешеными темпами, так что книги слишком быстро устаревают
Ты доки джавы не видел, зря гонишь
Ты меня с кем-то перепутал
Кроме дс вакансий нет наверное?
Гуглридер был охуенный в отличие от и был принудительно умерщвлен в угоду гугл+. У рсс до сих пор нет альтернативы, либо так, либо скакать по лентам десятка сервисов
жди фуксии для флюгегехаймена
>Затем, что у него простой и понятный синтаксис.
ВАХАХАХАХАХАХ.
>Решил вкатиться? Хороших книг нет.
Ну это как бы показатель коммьюнити.
Уноси, короче, поеботину свою отсюда и чтоб я тебя здесь больше не видел, хуесосина.
Никогда не думал вкатываться в мобилки, один раз прихдилось допиливать аппликуху на реакт нетиве (на него, я думаю, <%25 вакансий требуют натив). К ui мокапу нужно было прикрутить логику с api
Практически разу был вынужден использовать 3rd party либы для нормальной поддержки стоража на кроссплатформе (даже альтернативный asyncstorage + redux-persist)
Хотя приложение было достаточно простым, накормить меня говном смогли даже с обычным анимированным лоадером. Изначально приложение было написано под 24 андроид, дорабатывал я на 27, и эта хуйня уже к этому моменту смогла оказаться поломанной
По итогу впечатления неоднозначные: с одной стороны можно писать на всё том же реакте и не ебать себе мозг какими-то мобильными паттернами, с другой стороны из коробки стабильного нет ровным счётом нихуя и скорее всего всё наебнётся обсолётом в ближайший год
Сейчас решил потыкать Dart и заодно Flutter для себя
Держу в курсе:
Оф. UI бахаче просто в десятки раз. Пока сложилось впечатление, что использовать стороннии либы просто незачем
Заявлена полная совместимость вплоть до пиксель пёрфект разметки между андроид релизами и даже на iOS ебать
Отличано работающая тележка из сторажей, хттп, вс и почих женерик апи/клиентов
Реакт натив разворачивался секунд 30, бенчмарки и прочие профайлинги не пердолил. Анимации не лагали, но апи колл (по прикидкам ~50мс) + разворчаивание дерева в стейте при переходе между вкладками ощущались, прогружаясь по ~секунде (по крайней мере на эмуляторе)
В общем-то я обычный мимокрок и скорее всего где-то там обосрался, но на флаттер собирается за секунду и ни одной субъективно заметной заминки после мутаций не заметил
Синтаксис интуитивный, похож на псевдокод при срещивании жавы с жс, чувствуется заточенность под максимальный прогматизм и продуктивность
Буду ковырять дальше
Вообще ожидал какой-то невнятной хуйни, разочарования, попытки поковырять еще раз реакт, разочарование от реакта и остановку на нативной жабе/коте в свободное время.
Но пока Дарт кажется весьма интересной технологией, просто не вписавшейся в рынок
Искал третьегруппную либу для одного мёртвого псевдопротокола поверх вебсокета, импементаций не много, самая популярная полностью написана на дарте и работает без каких-либо проблем
Пробежался по вебвью, учитывая общее отрекание от JS выглядит не так уж и костыльно, но лишний раз разобраться в пердоленге конкретно под дарт придётся. Что с перформансом - хз, смотрел из интереса, особых юз-кейсов представить не могу
Разработка на флаттере продолжает ощущаться нереально приятной
Хотя бы одну-две апплекухи точно запилю, до этого никак не мог себя заставить сесть опять на реакт натив
Ну и может кота всё-таки потыкаю когда-нибудь
>скорее всего где-то там обосрался
Если пробовал не релизные сборки, то флаттер еще быстрее чем ты думаешь.
Да я про обосрался с реактом
Там всё работает на каком-то святом духе и хуй пойми как что замерять
Флаттер пока поставился в один клик андроид студии и просто летает
Может на днях вговнокожу клон популярной тыколки и вкину в тред
Реакт создает под каждое окно хромиум с веб-отрисовкой.
Флаттер использует быстрый отрисовщик Skia, на андройде >8.0 он дефолтный.
>>667935
>ВАХАХАХАХАХАХ.
Ну если ты и дарт не смог осилить.. возвращайся в скрэтч
>Ну это как бы показатель коммьюнити.
Книги есть для дарта версии 1, когда строгая типизация не была обязательной. Сейчас тебе достаточно документации и если ты зеленый, курса с удеми/тытрубы.
Котлин
Единственным минусом, который может быть это то, что если тебе вдруг надо поменять приватность переменной то это меняется не в одном месте, а нужно пройтись еще во всех местах, где используется переменная и поменять название. Но нормальная IDE поидее должна сама все правильно отрефакторить.
В остальном мне такой вариант нравится, единственно что я пока писал простые хелловорды и возможно на больших проектах только 2 модификатора будут ставить палки в колеса. Либа как я помню это файл, и тут по сути _ это fileprivate в swift, а если нужно делать доступными какие-то вещи внутри проекта, но недоступными для "клиента" проекта, который будет использовать его как модуль? Как это делают в dart?
>Note: You may have heard of the part directive, which allows you to split a library into multiple Dart files. We recommend that you avoid using part and create mini libraries instead.
Даже не знал об этой директиве, видимо кроме спеков и пары статей нигде о ней не упоминают. Советуют использовать mini libraries, но это шляпа, перечислять все сущности, которые хочешь сделать публичными два раза, вместо спецификаторов доступа тот еще гемор времен плюсоебства.
Говорят же все приложения придуманы, Фейсбук, телеграм, тикток, Ютуб, что искать в мобильной разработке?
Улучшай существующее. Телеграм и тикток придуманы относительно недавно.
И вторая трабла - опять таки когда тапом по квадрату выводишь список запущенных - приложение на флаттере как сказать вместо снимка последнего состояния черный прямоугольник, это какие-то фундаментальные ограничения фреймворка или есть костыли для этого? Просто стартовый проект от команды разработчиков и такие болячки изначально.
Да, без задней мысли сделаю убийцу всех соцсетей и мессенджеров со штатом несколько сотен человек, а можно как-то без толстоты? Или из веба не вылезать?
Взлететь могут приложения, ориентированные на массовую аудиторию. Тут по-определению или интернет, или скорее мобильные приложения.
В телеге найди чат @rudart
Прототип для Snapchat был начат Брауном и Шпигелем в качестве проекта для одного из классов Шпигеля в Стэнфорде, где Шпигель учился на дизайнера.
Никак не может, найди коллекцию проектов по запросу awesome flutter на гитхабе, тормозит всё, полностью неюзабельно.
Имею в виду треды, мьютексы и атомиксы.
- можно использовать одну и ту же бизнес-логику в мобилке и в вебе
- можно брать готовые нативные либы и UI
Флаттер крута потому что
- можно будет когда веб версию допилят использовать ВСЕ одно и то же в мобилке и вебе
- выглядит везде одинаково в отличие от рн
- не лагает как рн
>будет когда веб версию допилят
пусть сначала допилят
>выглядит везде одинаково
ну и что?
>не лагает как рн
примеры лагания в студию
Ничего, непередаваемый вротенд-экспириенс, когда каждый браузер отображает как хочет, уже на ваших мобилках
Проблемы перформанса, в частности жс-моста и почему в фейсбуке уже джва года новую архитектуру для рн пилят сам в гугле найдешь
Естественно. Но есть же всякие three.js, то есть от проекта зависит.
>>675722
> пусть сначала допилят
не переживай, обновления выходят регулярно. гугл и его скупные индусы удивляют скоростью добавления новых фич флаттера, хоть на дарт вроде как и забили.
> ну и что?
флаттер не для тебя просто
> примеры лагания в студию
Веб версия дискорда и фигмы. Скролль сообщения в поиске
Веб версии - это не про реакт нейтив. Дискорд, кстати, хорошо показал, что рн нужно пердолиться, если хочешь нормальный экспириенс
https://blog.discord.com/390c84dcd502
Бтв это только чтобы дефолтных 60 достичь, а ведь уже есть мобильники на 90/120гц
Эффекты - свечение, тени. Когда растягиваешь окно браузера, нормально не адаптируется без костылей. Раньше ещё были беды с кириллицей.
Скорее к 2030 взлетит Флаттер/Появится новый кроссплатформ фреймворк, чем RN станет чем-то юзабельным для приложений сложнее неанимированной тудушки
А как надо?
Хочу для каждого item'а сделать индивидуальный переход на страницу, который будет хватать индекс элемента, а страница куда идет переход - соотвественно подтягивать текст из другого листа.
Например: Вася Пупкин -> Хуесос, жирдяй, 40 лет, девственник
Сама страница и список - хуйня, сам сделаю. Меня волнует переход с индексом.
Уже нашёл ответ на гитхабе, но там ListTile, а я хочу мою какулю с контейнерами доработать.
Подскажите как это сделать, да так чтоб контейнеры не поотваливались?
pastebin . com/Q4KSFY8T
stackoverflow . com/questions/51415556/flutter-listview-item-click-listener
Спасибо.
Какуля на данный момент выглядит так.
Уже сделал сам таким образом как на пике.
Сам присматриваюсь к https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps пока скидки есть
Dart - это как писать интерфейс для браузеров на С++?
>Finally, we were still noticing that using Discord for a bit — even lightly — could result in the battery heating up. While looking at our idle CPU usage we noticed our JavaScript thread was now mostly idle now at 0–5% CPU of 1 core (down from up to 30%), but for whatever reason the main UI thread would sit at 10% CPU when looking at a Discord server. After slowly disabling pieces of the UI until it went away the culprit was the right drawer. While it was closed it always had a spinning animation in the background chewing away at CPU — death by the smallest cut!
Проиграл со спикера, который им батарею перегревал
Флаттер имеет фатальную ошибку - он написан не на котлин, а на каком-то огрызке полу-жабы и недо-шарпа.
И это идиотская полу-DSL попытка создание UI, какая-то убогая лесенка из конструкторов, вперемешку со списками, в которых конструкторы. Какое-то очередное изобретение json, но через костыли джаваподобного языка.
Хорошо хоть new убрали.
Вторая проблема, это создание универсальных решений для совершенно разных сложных систем, коим является веб и совершенно разные миры телефонной разработки.
В общем, очередная попытка выехать на макаках опенсорса, которым, как бы срать (к сожалению даже на котлин).
У котлина есть DSL, как раз пригодный для UI-говна.
Ну и никто на жабе этот маскарад не лепит, как то делают во флатторе. Серьезно, это декларация во флатторе, это не читаемая херня, а не фича.
> огрызке полу-жабы и недо-шарпа
Ты так С++ назвал хдд?
а то что есть уже на ютубе это не оно?
Да.
Тут лучше бы молчал, у дарта вообще убогая VM, про производительность можешь только мечтать.
Я уже молчу про костыли вместо многопоточности.
Имхо: дарт и флаттер збс. Сейчас делаю проджект, изначально на java наговнокоженный. В исходной аппе заебали приколы с асинхронностью и блоком ui треда и кучей нейтив кода, который не нужен + потребность в мультиплатформе. В итоге на флюттере в разы меньше времени уходит на разработку (месяцы), ui - практически верстаешь, но без особых заёбов, всё просто, при этом кол-во кода нет нихера.
Из минусов пока только встретил: огромное кол-во либ на pub dev, из-за чего иногда сложно выбрать что-то (например, с бд, в итоге переписал за пару дней с floor на moor и стало збс);
И 2 проблема - местами не гибко, например, сложно настроить "дерево роутов" (ака виджетов/активити)
>Лол, мне думается что JVM реализаций куда больше чем даже плюсового рантайма.
По крайней мере JVM "рантайм" везде одинаковый (где не спиздили), а плюсовый везде свой и со своими костылями.
Сейчас бы в 2020 переживать за то, что там под капотом твой код исполняет.
Блядь чёт проиграл с пикчи просто караул!
зумерки не паляться
> Можете пояснить, почему Dart сделали однопоточным?
Потому что стандарт html5/css3/javascript однопоточный и только сравнительно недавно туда воркер-тредцы запилили.
Ну и да, он не однопоточный, там есть изоляты с единственно рассово верной формой многопоточности через обмен сообщений.
Ты на девайсе проверял, или на эмуляторе?
Не на питоне, ты хотел сказать?
https://vc.ru/dev/131105
Бля, надо было русскую ссылку кидать, там более красноречиво поясняют что флаттер говно
Если бы делал не один — скролл бы нормально работал, и не лагал на самом мощном айфоне с процессором как у айпада, лол.
Однопоточная параша, которая пытается на одном потоке крутить всё что можно и в которой даже не стали делать нормальный скролл (в том же я.метро скролл карты тоже ненативный, но на iOS его от нативного не отличишь и его пилил 1 чел) — это не то, что исправляется разработчиками приложений, это родовые травмы. Если со скроллом ещё можно подкрутить формулы, то с однопоточностью это просто гроб кладбище пидор.
Вроде уже 2к20, а авторы дарта только вчера походу свифт увидели.
Блять, какой же ублюдский язык, просто жава+жс+ноги отовсюду, фу блядь фу нахуй.
Как вам? inb4: готовые варианты: нинужна, невзлетит, крута, пичот.
Такое с Flutter вообще сравнивать неправильно. Всё же в приоритете код будет разделён от дизайна и куда нам без тонн легаси?
Синтаксис мне не нравится как и C#. Ну и конечно .NET Core помойка, которая даже в линух х86 не может (обсуждать нечего).
>Синтаксис мне не нравится как и C#.
>дартотред
Орнул.
> Всё же в приоритете код будет разделён от дизайна и куда нам без тонн легаси?
Вот тут нихуя не понял, напиши понятно плз.
>Такое с Flutter вообще сравнивать неправильно.
В чём? Смотря на них снаружи — концепция реакта 1 в 1, как и во всей остальной модной кроссплатформе.
Разве что флаттер выделяется кастомной отрисовкой, из-за чего с одной стороны можно добиться общего вида везде, а с другой все дефолтные контролы выглядят убого и скролл работает как написали в отзыве медузовской прилаге "как пальцем об наждачку" привет, qt, мы скучали.
Фишка не том что у тебя везде одинаково выглядит. А в одинаковом api для графики, когда тебе не нужно знать миллиард особенностей платформы чтобы пилить кастомный UI
Насчет скролла думаю там навасянили сами, недавно сделал пару кастомных вьюшек для пробы, получилось хорошо и работало так же, сразу на ифоне, ведре и в вебе.
> в одинаковом api для графики, когда тебе не нужно знать миллиард особенностей платформы чтобы пилить кастомный UI
Ну и в чём отличие от этого MAUI-то?
В какую же ублюдскую эпоху с вебом 3.0 вступим если всё это говно полетит.
>Насчет скролла думаю там навасянили сами, недавно сделал пару кастомных вьюшек для пробы, получилось хорошо и работало так же, сразу на ифоне, ведре и в вебе.
Ну ты либо в симуляторе тестировал, либо айфона в руке не держал, лол. Он там сделан на уровне "на андроиде норм — и похуй". Хотя сдаётся мне, что на андроиде с кучей васянооболочек от производителей юзеры и не такое жрут.
Бляяя как же бесит когда открываешь какой-то сайт, а там скроллинг зачем-то изменен, и ты прямо чувствуешь с каждым движением по тачпаду что что-то не так
Короче, пока в кроссплатформе скопируют какую-то реализацию натива, в эппле еще десяток новых фишек напердолят. Хуй знает вообще, станет ли флаттер/рекаты когда-то вообще полностью ощущайся как натив.
Все так.
Тут компромисс в скрости разработки и выхода на обе платформы, вся эта бадяга создается не чтобы пользователя ублажить и уж тем более не чтобы заинтересовать разработчика писать на этой параше. Если юзер хочет себе деревянные дилдаки удобно заказывать то все равно скачает и будет пользоваться. Но при прочих равных кроссплатформа соснет у нативнобога, который все сделал по красоте, еще и всяких нативных фич напердолил, типа виджетов/апп экстеншенов.
>Ну и в чём отличие от этого MAUI
В том что эта кака в кривом альфа виде релизнется только к концу 2к20, а, по словам майков, в прод это можно будет пускать не раньше 2022, т.е. по факту в 2024-2026.
Ну, тащемта смотря на примерно всю кроссплатформу (что рн, что флаттер) я бы это вообще в аппстор такое не пускал, лол.
Кроссплатформа это всё же не про качество, и в прод с стандартным кол-вом мучений (для ненативного девелопмента) это можно будет пускать в 22, или даже чуть раньше.
Это было бы лицемерие со стороны эпл, ведь ее каталист тоже говно
И поэтому количество приложений на нём кроме этой хуйни == 1 (от ахуевшего твиттера), всё же юзеры мака не такие говноеды, чтобы пользоваться подобным в отличие от остальных.
Это полный пиздец. Мне очень обидно за мак, когда такое вижу. Весь Big Sur примерно так же выглядит, походу.
Ну бигсру все таки не с мобилы портирована, но понятно куда все идет, еще со слухов о каталисте и своих процах стало ясно что эпл хочет одну ос
https://www.youtube.com/watch?v=PKGguGUwSYE
Думал даже засесть за мобилки но эта хуйня просто невыносима
Найс фепесы, флаттер!
Через два года фуксия так и не выйдет.
Через два года рн допилят и флаттер пойдет нахуй под давлением вротендеров, которым лень учить что-то новое.
Тупо на перспективычах заглядываю сюда, сейм?
1080x2160, 0:28
Он тормозит даже на таком списке, который летать должен на любом калькуляторе.
И это я ещё фиксированную высоту элементов задал.
Не забыл, это в релиз моде
Стоят задача написать на дарте небольшое приложение, вся его основная часть будет состоять из отрисовки несложной графики: линии по сгенеренным координатам.
С чего начать расшаривать графику в дарте? Гугл выдаёт много разных решений, не догоняю, за какое браться.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Scaffold(
appBar: AppBar(
title: const Text("Test app"),
),
body: Scrollbar(
child: ListView.builder(
itemCount: 200,
physics: AlwaysScrollableScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text("Title " + index.toString()),
subtitle: Text("Subtitle " + index.toString()),
);
},
),
),
),
);
}
}
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Scaffold(
appBar: AppBar(
title: const Text("Test app"),
),
body: Scrollbar(
child: ListView.builder(
itemCount: 200,
physics: AlwaysScrollableScrollPhysics(),
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text("Title " + index.toString()),
subtitle: Text("Subtitle " + index.toString()),
);
},
),
),
),
);
}
}
Да блять, он лагает с любой физикой, можешь удалить эту строчку или поменять на bouncing, лаги будут один хуй
>С кастомным скроллингом проблем нет
С ним то же самое все:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Scaffold(
appBar: AppBar(
title: const Text("Test app"),
),
body: CustomScrollView(
slivers: [
SliverList(
delegate: SliverChildListDelegate(() {
List<Widget> result = [];
for (int i = 0; i < 100; i++) {
result.add(ListTile(
title: Text("Title " + i.toString()),
subtitle: Text("Subtitle " + i.toString()),
));
}
return result;
}()),
),
],
),
),
);
}
}
>С кастомным скроллингом проблем нет
С ним то же самое все:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: Scaffold(
appBar: AppBar(
title: const Text("Test app"),
),
body: CustomScrollView(
slivers: [
SliverList(
delegate: SliverChildListDelegate(() {
List<Widget> result = [];
for (int i = 0; i < 100; i++) {
result.add(ListTile(
title: Text("Title " + i.toString()),
subtitle: Text("Subtitle " + i.toString()),
));
}
return result;
}()),
),
],
),
),
);
}
}
Только что попробовал в Flutter Webкоторая та ещё забагованная параша твой код - всё работает без лагов. Чуть попозже на реальном устройстве запущу, но попробуй обернуть всё в Stateful Widget
> всё работает без лагов
Чувствуешь ли ты, что скроллинг идентичен нативному?
Я вот вообще нихуя, это совершенно другой скролинг, и он тормознутее
Разница есть, но на мой взгляд не шибко принципиальная, а в некоторых моментах её и вовсе нет
А на чем ты смотрел?
У меня есть хуавей и там какой-то хуеватый скроллинг, в 10 Android стало вроде немного лучше, но все равно параша. В сравнении с ним на флаттере все ок. Но если сравнивать с тейбл-коллекшн вью на ios то разница очень заметна.
На провославном шаоми с десяткой на борту
>лагает даже списочек из 100 строк
>да это вы хуево оптимизировали
Ты шиз или шиз?
Причем во флаттере лагает именно скроллинг, анимации не лагают, сами виджеты рисуются быстро, но сука скроллинг конченый.
Охуенная ложка дегтя в бочке меда.
Тащемта, относительно флаттера может быть и будет чуть получше, но относительно натива всё равно кусок параши. Даже если фб опенсорснула бы свой внутренний рн — относительно натива прилаги на нём сасали бы.
Пзц хуле.
>А ты поставь ichan, клиент для двача, он на флаттере, и ничего не лагает
Хороший байт, но:
а) Слооожна нахуй, не буду я так ебаться чтобы поспорить, ну залей ты хотя бы в ебучий тф. Все хуи в вк тебе уже накидали после деанона, расслабься, лол.
б) Ахуенный пример конечно, просто невероятно сложный лэйаут и ебучиская вьюха. У меня на XS max даже трипадвайзор, где коллекция на главной в 15 раз сложнее и писалась инвалидами состоит из UIStackView в UIStackView не лагает почти, перформанс тащемта меряется по нижней планке (или хотя бы средней, но не на топовых же девайсах фреймрейт мерять).
в) В первых же комментах жалуются на лаги скролла, лол https://2ch.hk/mobi/res/1913437.html#1913489 (М)
>В первых же комментах жалуются на лаги скролла
И там же самое лучшее определение для любителей 30 фпс
https://2ch.hk/mobi/res/1913437.html#1914037 (М)
>В первых же комментах жалуются на лаги скролла, лол
В телеге даже у 6s юзеров все норм.
Для двача самое то, лол.
>Слооожна нахуй, не буду я так ебаться чтобы поспорить, ну залей ты хотя бы в ебучий тф.
Разработчик пытался залить, не пропустили даже в тестфлайт, сейчас хз как там ситуация
>В телеге даже у 6s юзеров все норм.
>терпимо, прям жестих лагов нет
Ага, правда это подразумевает стабильные ~30 фпс, лол. Ни колор блендинга (нет ни градиентов, ни теней, ни прозрачных вьюх кроме значка плей), ни тебе сложного лэйаута (такой можно собрать хоть проставив статические фреймы, перерасчитывать не надо _ничего_), ни всяких разновысотных ячеек, ни анимаций, вообще нихуя.
>Разработчик пытался залить, не пропустили даже в тестфлайт, сейчас хз как там ситуация
Ну разраб кочана как-то прошёл же, и раньше старый клиент сосача проходил даже в сам аппстор.
>Ни колор блендинга (нет ни градиентов, ни теней, ни прозрачных вьюх кроме значка плей), ни тебе сложного лэйаута
Как будто в kochan или the chan это все было, лол.
Это борда о программировании, додик, твои переживания о двачевалках тут нахуй не нужны. Если хочешь что-то доказать, то тащи код.
>Как будто в kochan или the chan это все было, лол.
Ну так они и не показывали 30фпс на простейшем лэйауте. А если добавить хотя бы 2 пункта из перечисленного (а-ля медуза х) — то лагает на топовых девайсах, о чём вообще речь-то?
Ну хз. У меня профайлер показывает, что в среднем фрейм рендерится за 4 мс.
Для 60 фпс надо чтобы рендеринг укладывался в 16 мс.
Для 120 фпс - 8 мс.
На айпад про айчан поддерживает 120 фпс, и если отключить его, то разница ощущается.
Поэтому с производительностью всё норм.
>нельзя мерять перформанс по самому простому кейсу на самом мощном девайсе
...
>ну у меня простейший кейс и я меряю на самых топовых железках поэтому проблем с перформансом нет, производительность норм
Дело не в скорости рендеринга.
Флаттер по-ебанутому рисует скроллинг.
Сами виджеты рисуются быстро.
>Так что же, 30 фпс или всё-таки не 30 фпс?
>доктар, доктар, у миня такая жи нога но она ни балит!11
Тащемта, ясно, слив засчитан.
Перехожу в режим сайлент-зоонаблюдателя.
Да я не ебу, но где ведро рисует 20 кадров, там у флаттера один резкий РЫВОК
Ха, лол, тоже хочу клиент для борды написать. Чую, аноны скоро будут выбирать клиент на свой вкус. Хотя даша на нативе, ее сложно будет переплюнуть
Однако, флаттер очень понравился после ксамарина
Пропиши, чтобы в консоль сообщения слались при рендере. Хотя я сам хуй с дивана, так что воздержусь от советов
Вообще, нечему там лагать. Да и телефон у тебя топ за свои деньги, явно не на спреадтруме
> Ну ты бы и собаку тебе и реакт нэйтив понравился бы после замарина, лул.
Что ж ты делаешь, содомит. Я как раз с RN около месяца игрался, но когда понял, что один поток и тот через мост, соскочил на флаттер. А так – кайфово, да
Да я уже выбросил это говно и начал делать на нативе.
А сначала были планы сделать единый универсальный бордоклиент на все платформы, на ведро, на ифон, на веб, на десктоп, выполнив окончательное решение бордоклиентовского вопроса.
Но затем пришлось охладить траханье и делать нативно.
Прошу прощения за шакальный пик, этт скриншот гифки, но вот это РЕАЛЬНЫЙ ХАБАР. А не ебливый хамл как сейчас
С какими проблемами столкнулся?
Какую платформу выбрал?
Чем тебя не устраивает даша, если пилишь под ведро?
Так, просто интересно, я в начале пути
> С какими проблемами столкнулся?
СКРОЛЛИНГ, ещё конченая мультипоточность. Точнее двухпоточность, лол
> Какую платформу выбрал?
В смысле? Нативное ведро-апи, котлин
> Чем тебя не устраивает даша, если пилишь под ведро?
Даша много чем не устраивает. Например, нельзя использовать антигейт, недостаточно продвинутое управление прикрепленными файлами я бы хотел изменение их порядка, несколько доп-фич в конвертации картинок + встроенное перекодирование видео, есть вопросы по интерфейсу в нескольких местах.
Нет управления свайпами, до дохуя чего.
А самое главное, доработать все это в дашчане невозможно, потому что он устарел технически + даша там нахуевертил ебический говнокод.
>Да я не ебу, но где ведро рисует 20 кадров, там у флаттера один резкий РЫВОК
Да, на ведре флаттер адовый тормоз, а вот на айос вполне тянет 60 фпс.
Только вот ИРЛ даже приложения со средней сложности представлениями (а не твой списочек тредов) вроде медузы даже на топовых девайсах делают РЫВОК. И потом повторяют этот ФРЕЙМДРОП каждый раз, когда ты своим пальцем елозишь по ебаному экрану.
Да, медуза подтормаживает, а вот для приложении типа клиента двача флаттер самое то
Ты бы ещё джаббер клиент напши и приведи его в пример того, что флаттер нитормозит.
Тащемта, в жизни-то дизайнеры изъёбываются похуже, чем с медузой, и насколько вообще есть смысл заниматься флаттером пока он болеет настолько детскими болезнями — хз.
Ну многие нативные приложения сделаны как говно, и тем не менее ими пользуются.
Тот же твиттер и фейсбук тормозят так, как будто на реакте написаны.
А дискорд, который на реакте, работает на удивление заебись
>твиттер
Это плохой пример, т.к. этому сервису похуй на приложения, его юзают по всему миру просто потому что юзают. Как и фб примерно.
> фейсбук
А вот у меня фб никогда просадок не показывает, что у тебя там лагает? Хотя я наверно просто слишком мало в этой хуйне времени провожу.
>А дискорд, который на реакте, работает на удивление заебись
И батарейку жрёт так же. Тут пример как с твиттером, у него из конкурентов на выходе был только ещё более блевотный скайп.
Я-то смотрю в первую очередь со стороны mobile-first разработки (всякая инди хуйня и прилаги, где почти всё проходит через сами прилаги). Как пример — вот ты будешь юзать календарь, который лагает? Или по твоему кто нибудь вообще юзал бы ту же телегу, если бы она по качеству была на уровне ватсапа?
>Как пример — вот ты будешь юзать календарь, который лагает? Или по твоему кто нибудь вообще юзал бы ту же телегу, если бы она по качеству была на уровне ватсапа?
Я юзаю штатный айос календарь, и то раз в 100 лет.
Телега тоже так себе пример, это мессенджер, который только кажется лайтовым. На деле там очень много анимаций, работы с текстом, видео, картинками, поддержка звонков, бесконечные списки. Флаттер бы никто не стал юзать для такого.
Понятное дело, что тяжелые приложения не нужно писать на кроссплатформе, но есть много успешных приложений на реакте, и эта ниша будет постепенно замещаться флаттером, который тупо во всём лучше. И развился до такого уровня за каких-то ДВА ГОДА.
>Телега тоже так себе пример, это мессенджер, который только кажется лайтовым.
А я написал обратное? Это и есть пример сложной прилаги, в которой пиздец как упарываются по качеству (потому что оно там нужно в бизнес целях в первую очередь), просто чтобы это понять достаточно посмотреть её код по вертикали — например, такое https://github.com/TelegramMessenger/Telegram-iOS/blob/master/submodules/Display/Source/ListView.swift или посмотреть как они с собой медиакодеки в проекте таскают.
Тащемта я и говорю про тяжёлые проекты, а почти всё что хоть как-то взлетает по опыту _всегда_ разрастается до пиздецовых размеров.
>который тупо во всём лучше
Он лучше в плане архитектуры, но в плане качества всё ещё отстаёт.
Ещё надо сказать, что р/н в паблике и р/н который юзается внутри фб — это практически разные вещи, а флаттер со всей поддержкой гугла один. В идеале конечно флаттеру потеснить рн чтобы фб перестал лезть в залупу и опенсорснул полноценную версию.
>и эта ниша будет постепенно замещаться флаттером
Если бы это так работало, то никто не писал бы ни на джаве, ни на плюсах. Но ведь не работает.
>Он лучше в плане архитектуры, но в плане качества всё ещё отстаёт.
Качества чего?
Это же дело времени
>По диагонале посмотреть
вообще телега тот еще кек, как они это умудряются поддерживать - хуй его знает.
Поэтому срочно (месяца за 3-6) хочется обучиться и устроиться долбоебом-пагромистом в мобилдев. Взял какой-то курс по дарт-флаттер да-да, я увидел рекламу флаттера и фуксии которая круто, за две недели прошел больше половины, сделал свою приложеньку на 6 экранов для организации холодильника + сканирование штрихкодов, все это закидывается в фаербейз бд, короче, работает. Мне было абалденно, все легко пишется, хотя информации в интернетах не так уж и много в сравнении с тем же питоном.
Но беда в том, что у меня полный ноль опыта работы в команде, не знаю про пайплайны и все такое. А вакансий джуна на голый флаттер+дарт я вообще не вижу.
Отсюда вывод: мне че, котлин учить? Я охуею после питона учить жаву, хоть дарт и похож на нее. Чисто потому что это уже устоявшийся язык, значит на него будет полно вакансий для джуна, будут какие-то проекты и менторы, соответственно.
Вообще сложилось впечатление, что флаттер это такая верхняя ступень развития девелопера, типа ты сначала в говне (жс, реакт) возишься, набиваешь шишки, получаешь опыт работы, а потом учишь флаттер и плюсом к этому пишешь в резюме "Знаю дарт+флаттер, смогу писать кроссплатформу за ту же ЗП, что и нативщики, но если надо, смогу поддержать проект на реакте"
Как быть? Мне выруливать с пути дарт-флаттера? Или наоборот, добить какой-нибудь сложный самодельный проект и идти ловить заказы на фрилансе? Но опять же, не будет опыта работы в команде.
> не знаю про пайплайны
Что это такое?
> Вообще сложилось впечатление, что флаттер это такая верхняя ступень развития девелопера, типа ты сначала в говне (жс, реакт) возишься, набиваешь шишки, получаешь опыт работы, а потом учишь флаттер и плюсом к этому пишешь в резюме "Знаю дарт+флаттер, смогу писать кроссплатформу за ту же ЗП, что и нативщики, но если надо, смогу поддержать проект на реакте"
Скорее всего, тут ты прав. Но походи по компаниям, поспрашивай кого ищут
На хабре была статья, там прям в комментариях пчел искал людей, кто шарит. Сейчас уже не найду, поищи сам. Не так давно было
> флатер нужен, постоянно вижу. так же вижу лагающие аппы на нем.
Больше всего охуеваю со стандартного приложения Flutter Gallery, в котором лагает открытие категорий
720x1440, 0:21
>Давайте кидаться гистами со своим говном
Да хуле там делиться, ты посмотри на это говно. Такое ублюдство вообще нельзя людям использовать.
Флаттер — параша
По видео не понятно, возможно, запись фреймы дропает. Апку выложишь? На своем 835 прогоню
1080x2160, 0:42
Релиз весит столько, так как там три приложения внутри под каждую платформу
>>755301
Видео говно – лагает даже интерфейс системы,, причем рандомно ты ничего не увидишь. Но держи
Ощущения – список досок плавный, не знаю, где ты там лаги увидел. А вот скроллить доску больно. Я так понимаю, это из-за этого, что флаттер однопоточный, а ты ябешь этот поток ленивой подгрузкой картинок. Надо как-то подготовить данные к отрисовке и потом уже отображать страницу. Но это так, гипотеза
mix 2
> Я так понимаю, это из-за этого, что флаттер однопоточный, а ты ябешь этот поток ленивой подгрузкой картинок
С чего бы он однопоточный?
> Я так понимаю, это из-за этого, что флаттер однопоточный, а ты ябешь этот поток ленивой подгрузкой картинок.
Плюс парсинг постов скорее всего тоже в основном треде.
не впадлу же тебе было ебаться с апи двача, оно настолько ущербное. помню тоже в свое время делал.
это не отменяет ущербности двощей.
Оно для десктопа уже юзабельно как замена электрону?
Но там совсем пиздец
Под шинду и прыщи тоже можно уже собирать, но плагины не все готовы.
С ним история как и со всеми остальными опенсорсными решениями от фаангов. Их выкатывают в опенсорс с широкой ноги барина только тогда, когда у компании уже есть решение следующего уровня.
Именно про р/н уже все кому не лень пропизделись, последний раз слышал от ведущей из радио-т (которая работает над айосом в фб и пишет либы) когда им кинули бенчмарки рн, флаттера и нейтива (было в прошлом или позапрошлом выпуске), спойлер: она даже не знает как там что обстоит во "внешнем" реакте (настолько реакт попенсорсный), но внутренний умеет и на гпу рендерится, и всё вот это вот. А если с джейлом покопаться в файлах фб и инсты, то можно заметить что они его уже юзают, и его как-то типичных болезней не замечено.
Ну, кстати относительно клиенсткой части (т.е. самого UI-я и логики) написано просто пиздец как аккуратно и чисто. Очевидно, что либы и саму телегу пишут скорее всего разные "подкоманды".
Но вообще, у них там походу так принято. Вообще все клиенты телег так написаны (Qt-шный вместо юзания контролов просто ебашит всё на QPainter это такой местный канвас с примитивами), и вообще, это ещё самое лайтовое. У них вообще все клиенты например таскают с собой кодеки (грепни по любому ffmpeg), и не юзают агрегаторы крешей (нибизапасна), итд.
С одной стороны это пиздец, с другой стороны в конкретно этом случае с ListView — я их понимаю, у них всё приложение примерно на 90% состоит из этих списков, и ебаться с тем же дефолтным, затыкая дыры в каждом новом релизе каким нибудь свежим костылём вроде performUsingPresentationValues и ожидая, пока что нибудь пофиксят (причём в стиле эпла, сломав нахуй обратную совместимость) — нахуй надо, легче нанять ещё пару челиков и запилить свой велосипед, ей богу.
Тащемта это попенсорс только на словах, ты попробуй собрать эту телегу, кек.
>>754017
Тут весь тред про то, что он лагает, причём везде и сразу, качества того. Тащемта, рендер — это вообще важнейшая часть любой гуёвой хуиты, ты же не в 2001 году на дельфи ебашишь круды для безвольного планктона, юзер просто ебанёт 1 звезду и снесёт прилагу увидев подобные спайки на свежем телефоне.
> Тут весь тред про то, что он лагает, причём везде и сразу, качества того
Кроме топовых девайсов на айос
Ну, кто-то жалуется и с таких, тут пруфы обратного были только на простом примере, а ту же медузу все хуесосят именно за это. Хотя на еблофонах вообще самые мощные GPU стоят, это конечно ахуенный показатель (особенно если принять во внимание то, что в СНГ по ощущениям где-то 70% айфонов — это девайсы выпущенные до десятки, что там с андроидами вообще думать страшно, лол).
> Ещё надо сказать, что р/н в паблике и р/н который юзается внутри фб — это практически разные вещи, а флаттер со всей поддержкой гугла один.
Не могу найти ни одного свидетельства в интернете. И так гуглил, и эдак
Поэтому надо разрабатывать mobile-first приложения на игровом движке Unity. GPU рендеринг там точно изкаробки, а скоро и FLECS завезут, так круды и туду вообще летать станут.
Зачем так ебаться, если всё то же даёт каждая система из коробки, причём с явно высшим качеством и большим кол-вом фич?
Ну так выпускает, уже SE2 есть. А из-за первого ещё несколько лет поддерживать 4" пипиську, ненавижу сука. Для эпла даже 400$ это ужё дешманский вариант, кекус.
Тащемта, просто весь спрос на айфоны за 200$ переваривается вторичкой, вот они туда и не лезут.
проанализируй телефоны. флагманы ведройды, ифоны и ущербные ведройды до 200k.
Глупый вопрос. зеленый.
У этого се2 проц а13 с малюсеньким экраном, с тем же успехом можно на маке в симуляторе тестировать. Для тестов надо брать старый девайс
Суть не в его ца, а в том что это последний девайс который будет лагать и проверять надо на самом дохлом
>это последний девайс который будет лагать и проверять надо на самом дохлом
Ну так тебе же сказали, что ты самый шустрый пытаешься взять, ебаклак.
Если у тебя хипсторский таргет на 13+ — самый слабый это 6S, если реалистичный таргет на 11+ — это 5S.
Кстати, для жителей дс есть такая опция, как горбушка. Там самые дешевые девайсы, особенно если найти челика который оптом продаст спизженное.
> проверять надо на самом дохлом
Еще бы разрабам флаттера донести это Емнип, у них самый днищефон на ведре это мото г4
Я там диски покупаю. Недавно сисм на миним-сиди купил, вообще вещь.
Зависит от констекста. Если упоминается флаттер то скорее всего все что отрисовывает ui используя базовое апи антроида - конкретные реализации всяких там кнопок и подобного. Джава, котлин, плюсы (NDK). Про го не знаю, возможно.
Ну, у них скорее всего задача отточить флаттер под фуксию (которая только через 2-3 года в лучшем случае выйдет), потому и хуй они ложат на это.
Работает норм, и не сказать что на дарте написан
Сюда скидывай блять, мне не 15 лет по твоим чатикам скакать
Кто-то его в проде на бэкенде катает?
double v = 4;
Там будет
1) Лагает;
2) Лагает:
...
∞) лагает.
Телефон сгорел нахуй, пацаны я разраба маму ебал уууу сукаа.
Ну если для гейдева — то да, но юнити тоже бедут жрать батарейку как тварище, и дальше только плюсы, но у плюсов как и у юнити будет главная проблема — убер жирные бинарники.
Короче, кроссплатформа это всегда криво и больно, причём всем. Разве что бизнес более-менее доволен. В случаях когда начальству похуй на конечный продукт, конечно.
Только у котлина за спиной весь багаж джавы и можно смело бэкенд ковырять тоже, а у дарта хуй, точнее флаттер.
Теперь что ли на каждую библиотеку по языку писать будем?
То есть, лагает настолько сильно, что без stackoverflow разобраться невозможно?
> лагает
Если ебсти основной поток сложными задачами, то да, лагает. Беда в том, что даже стоковый flutter gallery написали криво, и раскрытие категорий вызывает дропы
> жрёт много памяти
По сравнению с RN как? А так же, если не меньше. Зато нет бриджа и есть изоляты
> жрёт батарейку
Вот тут спорно, нужно замерять
В общем, если держать в голове некоторые нюансы, то все ок
Другое дело, что иде непонятно работает. На шарпе все охуенно подсвечивается, linq есть, решарпер хорошо статически анализирует. А тут как-то неуютно
Серьезно, т.е. флятер в любом случае однопоточный, изоляты только эмулируют? Я думал они в отдельных потоках если речь о мобилках
Я хз как там в телефонах, но эти обмудки снова придумали новый термин для асинхронного программирования.
> Серьезно, т.е. флятер в любом случае однопоточный, изоляты только эмулируют? Я думал они в отдельных потоках если речь о мобилках
Ну и что? Пхп тоже однопоточный, но кто тебе мешает запустить несколько процессов?
Дарт так и делает, а система уже сама менеджит процессы
Лол, весь нативный мир уже хуй знает сколько лет как ушёл в легковесные треды с корутинами и всем вот этим, а эти дибилы под жаваскрипт походу мимикрируют.
Я уже вижу эту прекрасную ситуацию:
тестер: — Бля, лагает и телефон руки жжёт, пофиксь плз, продукт овнер за такое выебет жи
девелопер: — ок, фикшу
...наступает конец спринта...
девелопер: — всё, картинки гружу в отдельном изоляте, резайсю и обрезаю углы в отдельном изоляте, лэйаут считаю в отдельном изоляте и ещё до кучи жсон паршу в отдельном изоляте и ещё один держу для вебсокета для всякой хуйни уровня "юзер онлайн/спид/дрочит" и интерактивных обновлений на лету. Ща будет 666 фпс.
кабанчик-продакт-оунер: БЛЯТЬ СЕМЕН КАКОГО ХУЯ У МЕНЯ ТЕЛЕФОН ВЗОРВАЛСЯ НАХУЙ Я ТВОЮ МАМУ ЕБАЛ ТЫ УВОЛЕН НАХУЙ
Конец.
Тащемта, лучше бы был потоком. Поднимать ещё одну вм ради того, чтобы попарсить жсон... это пизда.
> Лол, весь нативный мир уже хуй знает сколько лет как ушёл в легковесные треды с корутинами и всем вот этим
И до сих пор не придумали, как защититься от race condition
Когда как, это не регламентировано.
Общие данные помещать в синхронный блок - всегда. Все. Никакого дедлока и гонки.
Тут они нахуячили эмуляцию целого процеса, лол.
Про микротаск и таск архитектуру с js я вообще молчу.
Пчел, так это скорее фича. Хочешь всё аккуратно — синхронизируешь, хочешь БЫСТРА, но МАМАЙ КЛЯНУСЬ ЧТО НИ ПИШУ ПАКА ЧИТАЮ — делай хуяк хуяк.
Тащемта, это ведь реально какая-то попытка понравится жс-ерам, лул. При этом закрывая глаза на то, что 80% девайсов — это либо андроиды до 15 к, либо айфоны 3-4 годов жизни, и у тех и других среднее кол-во ядер — 2. А спавнить целый процесс с вм чтобы макакен не выстрелил себе в ногу (парсинг жсона в другом треде — пиздос какая сложная задача ведь) — это dniwe.
>>768792
За ведро не скажу, но на яблоках насколько я знаю ты можешь запустить только один процесс, в других процессах только app extensions т.е. тут не катит вариант что флаттер все раскидает и будет зоебись.
>>768844
Опять таки на мобилках управление и создание процессов/потоков имеет кучу ограничений, просто снихуя так вот форкнуть процесс не дадут, а без этого не уверен что нормально получится реализовать легковесные потоки чтобы от них был выйгрыш, реквестирую пояснений двачеэкспертов по этому вопросу.
>а без этого не уверен что нормально получится реализовать легковесные потоки
Пчел, суть легковесных потоков именно в том, что система о них нихуя не знает. По факту нужен просто шедулер переключающий контекст туда-сюда в рамках одного потока, что ты там форкать собрался-то?
Примеры "на пальцах" гуглятся очень просто https://github.com/geofft/vireo/blob/master/vireo.c
Тем более что в рамках этой самой айоси они уже реализованы в GCD.
>>769033
>он форкает потоки и там эти изоляты
Нихуя он не форкает, просто создаёт системный тред
https://github.com/flutter/engine/blob/master/fml/thread.cc#L30
и крутит в нём луп гоняя в нём изоляты
https://github.com/flutter/engine/blob/master/fml/concurrent_message_loop.cc#L77
а сам изолят — это, скорее, классический таск в нормальной терминологии
https://github.com/flutter/engine/blob/master/runtime/dart_isolate.cc#L462-L546
из отличий от тасков — клиент-сервеная архитектура (лул)
https://github.com/flutter/engine/tree/master/lib/ui/isolate_name_server
Короче, сплетни развеяны, нет там никаких процессов, обычный тредпул с лупами, причём весьма убогий — ни приоритетов, ни вытеснения, нихуя.
Снимаю шляпу
> тредпул с лупами
1) Допустим, я в изоляте вычисляю какую-нибудь сложную задачу, которая займет 10 секунд. Скажется ли это как-то на основном потоке, или он будет плавным, как ни в чем не бывало?
2) Допустим, в процессоре восемь ядер. Смогу ли я нагрузить их все? Или все будет крутиться на одном ядре в евент лупе кооперативная многозадачность?
>1) Допустим, я в изоляте вычисляю какую-нибудь сложную задачу, которая займет 10 секунд. Скажется ли это как-то на основном потоке, или он будет плавным, как ни в чем не бывало?
Учитывая сколько цпу отъедает сам флаттер (спойлер: дохуя) — что-то реально ёмкое скорее всего даже в отдельном треде заставит телефон тупо троттлить, если это не какой нибудь андроид-флагман с 12 ядрами.
>2) Допустим, в процессоре восемь ядер. Смогу ли я нагрузить их все?
См инициализатор тредлупа
https://github.com/flutter/engine/blob/master/fml/concurrent_message_loop.cc#L20-L28
и его объявление
https://github.com/flutter/engine/blob/master/fml/concurrent_message_loop.h#L23-L24
Коротко: при инициализации вм дарта сама выделяет оптимальное кол-во потоков (скорее всего как обычно по 2 на ядро, об этом плюсовый стандарт https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency не говорит нихуя), так что они по умолчанию утилизированы, просто закидывай свои изоляты. И не удивляйся потом какого хуя у тебя в простом приложении может утилизироваться 50-60% цпу на простейшем списочке, лол.
>кооперативная многозадачность
В дарте есть и async/await, изоляты это именно попытка пришить к жаваскрипту нативную ногу.
Девайс — айфон 7. А если включить режим энергосбережения...
Всем похуй на лаги.
Ты сидишь на дваче, который собран на говнодвижке и допилен макакой, постоянно падает, выдает 502, посты иногда не отправляются, а длинные треды лагают при прокрутке даже на десктопе.
и кооперативная и вытесняющая многозадачность могут загрузить 8 ядер. Это немного ортогональный вопрос
Не похуй я не знаю что за дебичи пиздолизы писали про то что у них iChan без лагов на 6с, у меня на 6с лагает очень заметно поэтому сижу н нативном Кочане
То есть лаги тебя напрягают, а гидраны нет?
А у тебя айос 13?
За что люблю двач, всегда найдется технически грамотный анон, который укажет на говно.
Что флаттер, что раст.
Будет надежна на котлин нейтив (кроссмобильная разработка)? Или тоже булшит?
Проигрываю.
Этот "технически грамотный анон" запускает приложение в режиме debug, там даже справа вверху у него этот индикатор виден.
При том что везде большими буквами написано - не тестируйте производительность в режиме дебага.
Ну и какой код способен написать такой долбоеб? Никакой нейтив ему не поможет, потому что точно так же будет тормозить, но уже из-за его говнокода.
Да, выглядит пососно, на пикрил пример на UIKit
Конечно было бы еще интересно замерить не в режиме дебага.
Хотя если начать скроллить то лаги дичайшие, и загрузка процессора уже под сотню.
Для большинства языков индекс "2" будет вторая буква. В том числе и русского. Это такой стандарт в нормальных языках. И только в го надо в руны катать все, что не англ.
Это из-за ебаного джаваскрипта. Дарт проектировался с учетом транслитерации в js. Ну и для простоты (и быстродействия) сделали строки такими же как в js. А в js так хуй знает из-за чего. Есть большая вероятность что так получилось из-за того что Netscape Navigator (предположительно) использовал UTF-16 строки. А (предположительно) использовал он их потому что они использвоались в api операционной системы виндоуз. А чего в оперционной системе виндоуз они использвоались хуй знает. UTF-16 это формат с переменной шириной символа (как и UTF-8) в отличие от UTF-32 у которого фиксированая ширина, поэтому у него нет явных преимуществ перед UTF-8. Наверное они целились на интернационализацию - UTF-8 лучше для в основном английских текстов (большинство символов однобайтные), тогда как UTF-16 для китайских и подобной хуйни (большинство символов двухбайтные, тогда как с UTF-8 там дохуя трехбайтных будет).
750x1334, 0:08
>Будет надежна на котлин нейтив (кроссмобильная разработка)?
Ну, на нём кросплатформенным можно сделать только какой нибудь сервисный слой, весь UI и всё что связано с системой всё равно делать через системный API.
Если у тебя там не какая-то йоба-система кеширования, то хз зачем на ту же айось его тащить. Хоть игрушки например, когда не хочется дрочить всякие плюсы/скриптопарашу, писать на нём можно.
>>769386
>Этот "технически грамотный анон" запускает приложение в режиме debug, там даже справа вверху у него этот индикатор виден.
О да, ведь список с 1 лейблом это такая сложная вьюха. От того, что там уберётся всякая дебажная трассировка он по твоему полететь в космос должен? Даже если бы он стал в 10 раз быстрее в релизном моде (но не стал, раз в 5 в лучшем случае) ирл задачи в 15-20 раз сложнее ебучего лейбла в табличке. Даже реакт нейтив с этим, блядь, справляется. Пчел, да даже ебаный сайт в браузере так дрочиться не будет хоть ты туда пол гига фреймворков засунь, ты о чём вообще?
>При том что везде большими буквами написано - не тестируйте производительность в режиме дебага.
Ну давай протестируем релизном режиме, ведь так много поменяется ))00
>Никакой нейтив ему не поможет, потому что точно так же будет тормозить, но уже из-за его говнокода.
Только вот мой нейтив почему-то на ещё более слабых железках показывает 60 фпс в несравнимо более сложных вьюхах.
>тваи аргументы ни аргументы(9
>тваи пруфы ни пруфы
О чём его надо иметь? Флаттер позорнейшим образом проёбывает самым тормозным (которые были такими до него) технологиям, и это всё, что ты можешь ответить?
Вся доска в подобных пластах шизофазии малолетних макакододиков тыкающих сами не зная что
Съеби в б
Причём часто это занимает еще дольше чем если парсить в основном потоке пускай хоть и с фреймдропами даже если переиспользуешь изоляты
>это сочное врёти
Ладно, другалёк, ты меня выслушал, а я выслушал твоё врёти, пойду яйца мыть после твоего грязного рта.
Я бы тебе сказал, почему у тебя лагает, и как это пофиксить, но так как ты не просил помощи, то и советы давать тоже не буду
Понятно, звездун.
> 4ms/frame
Можно отрисовать 250 кадров в секунду
По хорошему, надо сравнивать с нагрузкой, которую даст нативное приложение
Однако, где-то натыкался, что яндекс такси написано на флаттере, а сейчас посмотрел – не похоже, что это так. Как я понял? Если в ведре включить подсветку границ элементов, то во флаттере она не работает, холст же рендерится. А в такси границы подсвечиваются
А, строкой ниже увидел пиздецовые дропы
Возможно, дело в том, что ты на лету строки добавляешь. Официальная дока этому учит, но, кмк, лучше готовый лист отдавать
>Дизайн зависит от языка?
В смысле от языка, ты упомянлул vuew и реакт, это языки? Логично что тебе и отвечали про flutter, а не дарт.
Зависит от высокоуровневого API, в vue и native т.к. это браузер то постоянно все ломается, а чтобы сделать так как задумал(если это что-то сложнее списков) и везде это выглядело одинаково нужно потратить больше усилий чем если реализовать нативно на каждой платформе.
Мимоайоснатурал
От компонентов, которые есть в фреймворке
зумероуебок который это писал так и не понял зачем придумали синтаксические правила для прямой речи.
ОП
> на маке
говноед_ка
> Поддерживаю кроссплатформу
При этом за два года нет клавиатуры и кнопок мыши кроме левой.
А вам тоже смешно, что самый активный тред из ЯП сейчас не имеет своей #плашки?
> При этом за два года нет клавиатуры и кнопок мыши кроме левой.
Никто не пользуется мышью на маках
Windows и Linux не существует, яскозал!
Кстати, ложная тревога. Они потихоньку добавляют адекватную поддержку клавиш.
Сейчас бы ебаться с кроссплатформой имея возможность задеплоить только на ведро лол
>Возможно, дело в том, что ты на лету строки добавляешь. Официальная дока этому учит, но, кмк, лучше готовый лист отдавать
Эээ, не очень понял, ты на что именно намекаешь?
На конкатенацию строк? Это точно слишком простая операция.
Или ListView.builder не умеет в recycling/dequeuing как стандартные списки в андроиде/айоси и на лету спавнит новые вьюхи? Хотя да, судя по прирастающему по 5мб/сек хипу очевидно что так и есть, пиздец, не ожидал такого кека. Это какая-то родовая травма, или что?
>Однако, где-то натыкался, что яндекс такси написано на флаттере
Вот на это ты натыкался
https://www.youtube.com/watch?v=WaajrXzDq5g
таксометр вроде как написан, и ещё они обязались переписать всё на нэйтив если что-то пойдёт не так, интересно было бы проверить как оно там поживает, лол. Но у них весь апп — карта со шторкой, которая 95% времени закрыта и тупо показывает наигатор написанный на плюсах, тащемта хоть на питоне пиши — лагать не будет.
Кстати, тут же чел очередной рассказывает инзайд про то, что реакт нейтивов 2 штуки, лол.
>>769562
>По хорошему, надо сравнивать с нагрузкой, которую даст нативное приложение
Ну в релизе даёт вот такую, в дебаге нагрузка на цпу доходит до 40 и ест 50 мб. Стабильно 60 ФПС в любой сборке даже если дрочить список за ползунок с самого верха в самый низ.
>говноед_ка
Ох уж эти злобные вантузятники и красноглазики. Хотя я работая на таком говне тоже злым был бы наверно.
Да
У меня был хакинтош. Неудобные окна, отсутствие софта, слабая кастомизация и никакой правой кнопки мыши. Мм, кайф. Дизайн такой же убогий, как в линьке и винде.
Я злобный? Наверное да. Зря время потратил, качая и устанавливая эту кладезь мусора.
Забыл добавить, что на ноутбуке держал заряд слабее минта с кде(!!!)
Пользуюсь только 10кой и цианом. Лучший интерфейс в операционных системах - Windows 7, Android нуга. На маке даже Visual Studio нет. Кому оно надо?
>На маке даже Visual Studio нет. Кому оно надо?
Всё так, Visual Studio никому не надо. Потому что это бессмысленное устаревшее говно для отсталых крестодебилов.
VS + Resharper для C# очень даже удобна
Rider Idea для шарпа– стильно, модно, молодежно, но не хватает кодогенерации
Но, в целом, она устарела. 32 бита по памяти, интерфейс в райдере удобнее, больше места под код
>Неудобные окна
А в чём вообще выражается удобство окна?
>слабая кастомизация
Вот это поворот. Пчел, 95% юзеров даже обои никогда не меняют, всем похуй.
>никакой правой кнопки мыши
Есть она там, просто ты хак видимо настроить не осилил, лол.
Тащемта, офк, без нормального тачпада с мультитачем ты только поплевался и забил.
>>773071
>Забыл добавить, что на ноутбуке держал заряд слабее минта с кде(!!!)
Ого, дрова от васяна1488 а не вендора оказывается не очень?
При чём тут вообще маки, если ты пытался накатить на свой мусорный ноутбук хак, и обосрался, маня?
>Я злобный? Наверное да. Зря время потратил, качая и устанавливая эту кладезь мусора.
Тут на самом деле проблема в том, что ты сам долбоёб, лол.
Сега прилипла
F12, производительность или что-то похожее, record
Смысл от флаттера в браузере, если у него скроллинг не плавный? Он с фиксированным шагом. Нет, ну ты конечно можешь перейти в F12 и выбрать эмуляцию тачскрина тогда плавно, и скроллить мышкой, но это хуета
Хотя, заранее можно и попробовать
>Смысл от флаттера в браузере, если у него скроллинг не плавный?
Ну на маке-то он самый что ни на есть плавный, лол.
>Он с фиксированным шагом.
19-й век, ей богу.
И в сафари, и в хроме, и в лисе. Разве что в хроме анимация слегка "рваная", его разрабы очевидно хуй клали, прям как разрабы гуглмапс на айос это вообще единственная карта которая может на топовых девайсах показывать 30 фпс да ещё и с просадками, вот уже корпоративная политика, кек.
В нормальных галерах их для работы и так выдают, цена той же пятнашки — это от одной до полутора з/п мидла.
>>773080
VSCode есть везде. А Visual Studio на маке нет.
И вообще, это всё ещё очень актуальная и мощная IDE.
>>773158
Двачую
>>773159
>А в чём вообще выражается удобство окна?
Пусть хотя бы выглядят одинаково и размер один имеют.
>95% юзеров даже обои никогда не меняют, всем похуй.
95% макоюзеров, исправил.
>При чём тут вообще маки
А при том что сейчас можно везде почти поставить довольно стабильный хакинтош, максимально приближенный к настоящему маку. Поставь винду на макбук, заряд будет держать дольше. Это не мои шизодогадки, а уже проверенный эксперимент
>ты долбоёб.
Согласен. Но хотя бы мак не юзаю
>>773225
>Смысл от флаттера в браузере, если у него скроллинг не плавный?
Потом исправят.
>>773269
а зачем? Правда интересно.
>Пусть хотя бы выглядят одинаково и размер один имеют.
Для такого консоль существует.
А вообще, по сравнению с шиндой, и уж тем более линуксом — на маке всё по одним гайдам сделано же и на системных контролах, лол.
>максимально приближенный к настоящему маку.
Ни разу не приближенный, о чём ты вообще? Там приближенно что? У тебя в ноуте есть ахуенный трэкпад (с хорошей калибровкой, мультитачем и вибромотором) на который завязано половина системы? У тебя в ноуте есть ахуенный экран (нет, нету, у тебя там FHD залупа на которой маковые шрифты для хайрез экранов будут выглядеть как мыльное говно, с хуёвенькими цветами без нормальной авторегуляции яркости и трутона). Там хотя бы сканер сраного пальца есть?
>Это не мои шизодогадки, а уже проверенный эксперимент
Без пруфов это именно что твои шизодогадки, ты же понимаешь что аргумен уровня "ну я скозал значит это не пук" — это не аргумент?
>а зачем? Правда интересно.
За тем же, за чем и всем остальным — макпук это кайфовый компуктер. Не мощный кусок говна, который ревёт при включении и трещит при компиляции, а няшный макпук, который сосёт по железу но всё равно его все любят потому что аналоги на шинде — это трещащие пластиковые говна.
>маковые шрифты для хайрез экранов
И при этом у мака проблемы с масштабированием интерфейса на 2к и 4к, что-то тут не сходится.
Я про другое немного и вообще мимо проходил, иди нахуй.
>А Visual Studio на маке нет.
Что ты несешь? Иди проспись, дебил.
visualstudio.microsoft.com/ru/vs/mac/
>>774075
>И при этом у мака проблемы с масштабированием интерфейса на 2к и 4к, что-то тут не сходится.
А ты что высрал? Ебанько, ты сначала мак подержи хоть раз в руках, вместо высирания своих нищефантазий.
>А вообще, по сравнению с шиндой, и уж тем более линуксом — на маке всё по одним гайдам сделано же и на системных контролах, лол.
На маке либо много расхождений/гайды хуевые.
>пук про трэкпад
без трайкпойда нинужно.
>имплаинг FHD залупа
ок
>что там далее
Вот именно что не мощный кусок говна, а просто кусок говна.
>>774566
>Иди проспись, дебил.
https://visualstudio.microsoft.com/ru/vs/mac/#vs_mac_table
Нет, ты. Как видно по ссылке сверху, очень много функций урезано, просто чтобы эта залупа не лагала =)
Я молчу о сотнях-тысячах расширений, которые никогда на мак версии не заработают.
>На маке либо много расхождений/гайды хуевые.
Хочешь сравнить это с шиндовсом, маня? Ну давай, на пикрилах гайдлайны из шинды.
>это нищебродское нинужна
Ок.
> очень много функций урезано
>вендорлокнутый впф и жс/питон
Невероятно много, как будто студия на какой-то хуй нужна для чего-то кроме шарпа, лол.
>чтобы эта залупа не лагала
Так твой дотнет медленнее джавы?
>няшный макпук, который сосёт по железу но всё равно его все любят потому что аналоги на шинде — это трещащие пластиковые говна.
Поддвачну, тем более схожие по материалам, экрану, х-кам ноуты на винде стоят примерно столько же. Разбежка 50-100 баксов.
>Без пруфов это именно что твои шизодогадки, ты же понимаешь что аргумен уровня "ну я скозал значит это не пук" — это не аргумент?
У меня кстати обратная ситуация, я начинал вкат на маки с хакинтоша, и остался на хаке в том числе потому что мой ноут на хаке работал лучше и быстрее чем на винде(8), несмотря на то, что дискретную видюху на маке не завести, все крутилось на встройке от инцела.
Сам двач тоже постоянно лагает и отдает 502, сделан из говна и палок, но ты всё равно на нём сидишь
Обосрался с этого синтаксиса. И на таком позорище в 2020 году предлагаете писать? Мда, что-то деградация полная от гугла в последнее время идёт...
То ли дело на реакте.............
Тоже самое, эта херня ввиде |>
Когда в каком-нибудь котлине просто цепочкой ебашат через лямбды и расширения.
На пикрилах действительно гайдлайны из шинды. А ещё я могу показать тебе макинтош 92-ого года, там вообще пискели. Фу-фу-фу..
>кококк, студия нужна лишь для шарпа!!!
Может для .нет тогда? Потому что для шарпа есть моно и все производные.
>твой дотнет
чего это мой дотнет, лол? Я его не знаю.
>>775007
Покажи.
>и чем синтаксически ... лучше, чем
Ты серьезно??
Трудно было сделать удобно? Даже я налету придумал оператор лучше.
foo..bar..buzz
foo|bar|buzz
foo@bar@buzz
foo^bar^buzz
Ну так он прав. Для первого варианта с точкой тебе надо в каждом классе/трейте в этой цепочке реализовать эти методы (а варианты покороче доступны только в языках с миксинами и макросами (лол)), а во втором — просто написать генерик функции.
Тащемта
foo |> bar |> buzz
это аналог
buzz(bar(foo()))
только куда более человекочитаемый, а так же дающий сахарок например для того, чтобы спрятать callback hell в реактивныом стиле, и даже не требует написания развесистых библиотек/расширения языка.
> Даже я налету придумал оператор лучше.
Спермовор не палица. Чел, пайпы в том или ином виде как операторы знакомы всем, кто хотя бы раз 5 открывал терминал.
Хуй будешь?
> доступны только в языках с миксинами
С пробуждением из криосна.
Неожиданно, в котлине (и теперь криво и в дарте) есть экстеншен функции.
https://pl.kotl.in/zFXoCuTl2
Чому криво?
>foo..bar
это синтаксис для задания интервала
>foo|bar
это больше напоминает битовую операцию
>foo^bar
а это возведение в степень
в некоторых языках такой синтаксис у доступа к полям рекорда
>foo@bar
без комментариев
коза.ебись(онегин).илинет()
Котлин - это когда в жопу ебут.
Трудно стили глянуть?
menlo, consolas, monospace;
Самая годнота у джетбрейнсов новый шрифт, впервые так проникся (см пикчу)
Особенно учитывая что он вышел через 10 лет после руби, автор которого спиздил этот оператор из ML-ей.
По такой логике это F# спиздил всё у ruby/ocaml/sml/etc.
Что мань-то? Ты написал набор шрифтов никак не связанный с пикчей, будь добр порефакторить своё говно вилкой.
А это Jetbrains Mono.
> F# спиздил всё у ruby/ocaml/sml/etc.
Как будто это не так, в мс просто понадергали разных хайповых в коммьюнити этих языков фич и слепили какое-то ненужное говно, в надежде что из-за этого им начнут пользоваться.
Мы наблюдаем наибольший рост в Индии, которая стала регионом номер один для Flutter-разработчиков. За последние полгода их численность удвоилась, что является прямым следствием увеличения инвестиций Google в этот регион.
Мне бы кто инвестировал. Что-то флаттер теперь зашкваром выглядит
Тебе, барану, ссылку дали, где ты можешь стили взять из CSS. Хватит тупить.
Лол, теперь лаги станут стандартом.
Все, что касается UI - вопросов нету, но мне кажется отсюда и растут ноги у популярности. Люди видят сияющий продукт и прыгают пробовать, но как только дело доходит до бизнес логики - тут начинается жесткое бурление говн: официальных обёрток для бд типа room нету, а те, что есть поддерживаются индусами; работа со стримами и асинхронщиной тот ещё пиздец - не возвращает результат функция? Да и похуй, dart analyzer даже не подсветит. Забыл yield? Тоже похую.
String a = null;
if(a is String) -> выдаст false.
Нету дата классов, нету protected, нету вложенных классов, ну как с таким говном работать?
Неделю назад решил опробовать Дарт, имея бэкграунд Джавы/Котлина/Пайтона и других языков, в контексте различных парадигм путем реализации алгоритмов и решения более тривиальных задач. Дарт довольно скуп на библиотечные реализации функций и структур данных(что не является такой уж проблемой, но отметить стоит), из-за чего приходится писать чуть больше кода для простых операций; рефлексия работает довольно странно, что, вероятно, связано с особенностями взаимодействия vm и объектов; к ООП претензий нет, но отсутствует вложенность классов, возникает чрезмерная ссылочность; реализация regex'ов могла бы быть лучше; extension-функции реализованы посредственно. Таких вещей немало, на самом деле. После Котлина, который на его фоне кажется невероятно проработанным, возникает ощущение, что Дарт очень уж сырой беден без зависимостей, которые могут обеспечить тот функционал, которому следовало бы быть и без них. Положительные моменты тоже присутствуют (если не сравнивать его с Котлином) работа с типами, ФП, которое, как мне казалось, будет реализовать хуже и писать на нём довольно приятно, но лишь до того момента, когда сложность задач возрастает и ты тратишь слишком много времени на их решение из-за вышеперечисленных особенностей. Вообще, трудно не заметить то, что в Дарте намешано множество черт разных языков, будь то JS или C++. Прямо-таки язык-пасхалка. Я ещё больше полюбил Котлин.
И конечно-же не забываем отсутсвие вменяемой DI.
Запускай еще раз flutter packages pub run build_runner watch --delete-conflicting-outputs , я ведь знаю как тебе это нравится
Перфоманс говно у флаттера, увы
>Это ты ещё хеллоуворд не запускал
?
>>787758
>отсутсвие вменяемой DI
Мои суждения относятся только к языку, фреймворка пока не касался, но видел исходники. С di особых проблем возникать не должно - он вполне логичен, хотя местами напоминает DaggerAndroid с присущими ему конструкциями. вряд ли найдется что-то хуже, чем DaggerAndroid
Радует, кстати, то, что есть rxDart.
Держу в курсе:
Запустил дебаг версию на стареньком айфоне - списки из 3 элементов тормозят при скроле, анимации дерганые, выглядит грустно. Проект выпущу, но буду ли в дальнейшем его развивать с таким темпами - хз
Выше уже протестировали с пруфами, чуть меньше но тоже лагает как скотина.
Склепал приложение, работает заебись, одно но: в коде говном намазано, надо рефакторить. Есть ли годные гайды на ютубе, где объясняется структура более-менее сложного приложения? В ООП я шарю, но есть какое-то количество нюансов именно флаттера, которые я не догоняю пока.
inb4 открывай гитхаб и читай существующие проекты, но я просто люблю, когда кто-то по делу фоном пиздит.
Прочти гайды по архитектуре, чтобы уловить суть, и посмотри проекты с готовой реализацией на гитхабе. Всё остальное не имеет смысла и только запутает тебя.
>есть какое-то количество нюансов именно флаттера
Что за нюансы?
Дарт сначала и создавался как замена js. Но не выстрелил. Поэтому из него сейчас пытаются гугловский шарп сделать, чтобы впитал в себя и жабу, но наследие js уже жестко прибито к коду и версия 2.0 была не таким уж прорывом, как им хотелось.
Гугл не умеет в языки.
Простота хуже воровства
Отсутствие многих вещей ведет к писанине бойлерплейта, радости в этом мало, лучше я пару дней котлин поучу.
Я осилил котлин где-то за день, еще неделю тыкался укрепляя знания, через месяц уже руку набил. Бэкграунд джавы, конечно, ускореят это все.
Аноны, есть вопрос по кросс-платформенности Flutter.
В его рекламе сказано, что оно решает проблему кроссплатформенной разработки, но потом я вижу набор Cupertino виджетов и набор Material виджетов.
Вопрос простой - получается оно нихуя не решает проблему, раз кодеру все также надо делать ВЕТВЛЕНИЯ и считай разный код для разных платформ
По сути ничего, можно попробовать.
Однако, вопрос во времени разработки, я думал что когда речь идет о кросс-платформенных решениях, все пытаются сэкономить время.
Здесь же выбор неочевиден в моей ситуации - приложение на котлине уже готово под андроид, надо под ios, но ни свифт ни их экосистему я не знаю. Вот тащемта и думаю, на какой стул сесть.
Думал сделать под ios на flutter, а потом и от котлина избавиться чтобы общая кодо-база была
Еще тупой вопрос по Flutter и тестированию версии для ios - раз он отрисовывает по-хардкору все сам, получается можно тестировать ios-ную версию на эмуляторе/телефоне под андроидом?
Долбоебство избавляться от уже существующего нативного приложения в пользу флаттера. У нас один в один ситуация была. Заменили натив флаттером, ведроюзеры начали жаловаться мол тормозит и вообще говно, вернули натив. А на иос норм зашло, и то скорее потому что там приложение было в таком состоянии, что им даже дебаг билды флаттера зашли бы.
Просто дизайн надо к общему виду привести и никаких проблем.
Да я понимаю что риски есть, но, кстати, почему тормозило-то на ведре? Это НЕИЗБЕЖНО с флаттером или вы там где-то натупили?
В моей ситуации я один рудокоп (крудошлёп) и мне только и предстоит поддерживать обе версии, котлин и андроид я знаю неплохо и MVP версию приложухи уже наваял и она даже работает.
Но так вышло что версия под одну платформу нахуй никому не вперлась.
Поэтому у меня два стула - написать версию на ios на flutter и потом и колин заменить на flutter, чтобы оправдать использование этой нано-технологии или же мб не исключаю проще выдрочить swift и сделать нейтив под ios, хуй знает. Ни dart/flutter, ни swift/ios я не знаю, так что тут условия равные.
Лучше бери свифт
> неизбежно
This. Долгое время думал, что флаттер надо уметь готовить, но камон – создай listview и помести в него сотню текстовых элементов. Скролль. Заметишь подергивания, когда анимация скролла по инерции затухает. Лагам, блядь, неоткуда браться, а они есть! Разочарование пиздец, только начал думать, что нашел охуенный фреймворк с языком близким к шарпу, но вот эти лаги на ровном месте очень разочаровывают
С другой стороны думаешь – может, рандомные юзеры и не заметят
P. S. Скидывал тестовое приложение своему братишке, он ничего не заметил. Но он сонибой, а там всю дорогу говном кормят, так что неудивительно. Я ксяомибоярин перешитый на линягу все вижу
Если все так, то это пиздец печально.
С другой стороны мое приложение - чистые КРУДы, ничего такого особенного, ФОРМОЧКИ да списки.. может быть юзер и не заметит проблемы.
А ListView который ты ковырял - он был с 'recycle' стратегией или прям самый дефолтный? Вроде бы для больших листов не желательно грузить все сразу
>This. Долгое время думал, что флаттер надо уметь готовить, но камон – создай listview и помести в него сотню текстовых элементов. Скролль. Заметишь подергивания, когда анимация скролла по инерции затухает. Лагам, блядь, неоткуда браться, а они есть!
Это твой андроид лагает.
На айфонах флаттер очень плавный
>проще выдрочить swift и сделать нейтив под ios,
Не проще, но если осилишь конечно потом будет проще. Да и натив в любом случае лучше.
Хватит пиздеть дерганья жуткие в сравнении с нативом на ios. Аноны если в мобилки вкатываться хотите а уж тем более в ios не надо в этот Флаттер лезть
Я и говорю о кроссплатформе.
Клиенты на айос на лаги не жалуются, клиенты на любых андроидах, как дорогих так и дешевых, срут в отзывах что тормозит.
Так а что ты хотел, чтобы у тебя кроссплатформа как нативный код работала по скорости?
Ты жертвуешь производительностью, но получаешь скорость разработки.
Некоторые вообще пилят на react native, и ничего
Я может чото не понимаю, но реакт нейтив например прокидывает вызовы в системные виджеты. И при последующих обновлениях виджетов реакт будет их использовать.
Флаттер же бесконечно должен будет копировать всю эту хуету 1 в 1. До тех пор, пока гугл не похоронит и этот свой проект.
> Так а что ты хотел, чтобы у тебя кроссплатформа как нативный код работала по скорости?
Da да пусть бы работала на половине или даже трети скорости, только без фризов на ровном месте
> Ты жертвуешь производительностью, но получаешь скорость разработки.
Получаешь залупу за воротник. Однако, эта залупа лучшее, что есть
> Некоторые вообще пилят на react native, и ничего
Не самый плохой вариант – список из 100 элементов лагать не будет, как у анона выше. У реакта другие проблемы, и флаттер на его фоне выглядит интереснее
Ладно, может, допилят эту хуйню. Я замечал, что раньше после запуска приложение лагает, а как протыкаешь все действия – становится плавнее. Недавно вышло обновление, где можно сделать прогрев анимаций в момент компиляции
Беда в том, что по статистике платят в основном с айфонов
Двачую
Нет, блять, нельзя. Даже в нативных приложениях даже в айоси постоянно вылезают то какие-то креши и артефакты рендеринга на девайсах, которых нет на симуляторе и в помине, то на симуляторе ползёт верстка хотя на девайсах всё ок итд.
А на андроиде скорее всего всё ещё в 100 раз хуже.
>А ListView который ты ковырял - он был с 'recycle' стратегией или прям самый дефолтный? Вроде бы для больших листов не желательно грузить все сразу
Я другой анон, но уже показал как работает ListView.builder (местный RecyclerView/UICollectionView, правда судя по росту хипа — он просто лениво создаёт новые ячейки, а нереюзает готовые, лол) вот тут >>769269 и релизный билд (уже лучше, но всё равно лагает) вот тут >>769445
и вот тут показывал как работает аналог на нэйтиве >>772246
В двух словах: самый «оптимизированный» флаттеровский лист лагает как последняя мразь даже с ячейками из 1 вьюхи.
На айоси есть свой декларативный UI — SwiftUI. Правда из плюсов — лагает заметно меньше флаттера, но все остальные его минусы (вроде перегревающегося девайса и батарейки, улетающей за 20 минут и просто общая сырость) имеет, не могучи в кроссплатформу.
От этого работать как нативный код он всё равно не начнёт, бридж между виртуальной машиной жс и нейтивом ты никуда не денешь. Если конечно не перепидорасить жс в компилируемый в нэйтив язык, хотя флаттеру и это не помогает никак.
Блядь, а как тогда? Xml ковырять? Не хочу xml, очень не хочу, еще xaml из головы не выветрился
Ну он хотя б не будет похоронен на кладбище прогрессивных стартапов от Гугла, когда их настоибенит переизобретать виджеты для обеих платформ каждый апдейт
Ну как как — берёшь и пишешь нативный код без задней мысли.
>>806149
Если у гугла ещё пару аналогов внутри не появятся которые его задушат. Как бы параллельно развивающийся jetpack compose как бы намекает, что гуглу похуй конкретно на флаттер, и они продолжают действовать по старинке ни на чём не фокусируясь.
Дык я и так на нейтиве пишу.
> Затем, что Dart в некоторых местах обогнал Golang.
некорректно было бы сравнивать Dart с golang.
Ладно, вот я бесплатный курс нашел, очень годный, рекомендую для вкатывания и в шапку
https://www.youtube.com/playlist?list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ
мимокрокодил растист бэкэнд, который не шарит
а почему некорректно? вроде от одной компании, голанг по идее должен быть быстрее дарта
Тащемта, судя по лагам флаттера, тут явно не о перформансе говорили, лул.
Дарт — чисто фронтовая UI-ная история, в которой даже синтаксис строится от того, как бы поудобнее выстроить дерево вьюх, Go — чисто бэкэндовая история для совсем-совсем микросервисов, у которого на это так же заточено всё — от синтаксиса до рантайма.
Что ты сравнить-то хочешь?
> Что ты сравнить-то хочешь?
Как это обычно у бенчеёбов -- математику.
По факту же, писать любой UI на Го - боль. Историй успеха с микросервисами на Дарте тоже не слышал. Как и зачем их сравнивать -- хуй знает
Есть надежда что можно будет юзать флаттер не касаясь даже палочкой этого мерзкого дарта?
Было бы охуенно иметь что-то подобное на шарпе / любом другом быстром языке с нормальной многопоточностью
На шарпе делают maiu, где можно будет описывать интерфейс как во флаттере. Вангую, как и всегда, говно получится – оставят xaml, а значит, кто-то будет использовать это дерьмо, и в разработке от него отказаться не выйдет. Плюс все, что связано с хамлом, тормозит на дотнете с гуи вообще печаль, или умей готовить, или соси. В вебе проще Ну, кроме winrt, там охуенчик
На котлине есть жетпак композер, но, судя по реддиту, там тоже с тормозами не ок
Муть и только
>Что не так с дарт?
Это язык в котором нет смысла. Он не привносит никаких новых концепций.
С таким же успехом можно было взять C#, как оратор выше сказал, или любой другой язык, хоть даже и C++
ядро Flutter написано на С++, так что наверное можно сделать обертку под другие языки.
Нужно ли - куда более интересный вопрос
>ядро Flutter написано на С++
даже небо, даже Аллах написаны на С или С++
речь о том что заставляют фактически изучать то, что не нужно и даже вредно. А человеческая память не резиновая.
Да хуй бы с ними, с концепциями. Лишь бы
- тормозов не было
- была кроссплатформенность
- легко писать, как на флаттере а то иначе можно кресты с qt взять
Знание каждого языка это не бесплатно
Нельзя их знать много, и тратить память на это говно откровенно жаль.
Истина, это все не бесплатно, особенно различающие нюансы в синтаксисе или апи.
Знать 100500 языков программирования, это не знать не одного. Теперь, блин под каждый фреймворк пилить язык будем? А не пойти ли бы таким гениям нахер?
Миф инфоцаган из нулевых.
Ну как тебя еще одна жабоподобная йоба с чучуть другим синтаксисом развивает? Как тебя вообще может развивать синтаксис? Ты учишь набор правил - ооо я развиваюсь.
>Если ты не учишь новые языки ты не развиваешься как программист
Не изучаешь, а даёшь себе 5 минут чтобы найти что очередной язык это говно, которое розовые пони делают, без учёта опыта прошлого и понимания будущего.
> ПРИНИМАЮТСЯ ПРЕДЛОЖЕНИЯ ПО ШАПКЕ
ОП, почему не поддерживаешь? Тебе же уже накидали ссылок годных
>- тормозов не было
Ну вот тут как раз и начинаются проблемы. Причём вообще у всей кроссплатформы, хотя даже тут дарт показывает что у конкурентов не всё так плохо.
>Сап, дартаньяны, что можете рассказать о дарте в продакшене
Да вот:
здравствуйте. Буду честен, отправил всю информацию лиду - он не готов продолжать общение, желает другого человека. Не хочу придумывать какие-то красивые оправдания, сейчас нет вариантов для предложения.
Был рад познакомиться, сожалею, что всё так закончилось. Удачи в дальнейших поисках.
Так а я и не отказывался. В другой тред накину
Есть врайк, которых на хабре обсуждали – нанимали мидлов на джунскую зп, и, так как работа на флаттере, эти самые джуны хуй куда потом убегут вот тут хз, дарт на шарп похож отдаленно
Из ~10 откликнувшихся только двое были норм, нанял первого на испытательный срок без договора, по удаленке, он пинал хуи и ничего не делал в первые два дня, после чего был послан.
Второй сказал, что подумает, видимо ещё какие-то предложения рассматривал, в итоге прошло две недели, он слился.
Остальные из 10 или джуны без опыта, или сеньоры с требованиями 200к+
>Искал недавно миддл программиста на флаттере, нихуя никого нет.
Заебись, надеюсь это говно не взлетит
Как перспектива? Или уже лучше добивать питон и уходить куда-нибудь в бек на нем?
android и ios
>У dart все в порядке с оптимизацией, стоит изучать?
Если язык поверх яваскрипта наколбашен сам как думаешь что у не го там с оптимизацией?
Ты ебанутый?
>
>Но он не наколбашен поверх яваскрипта..
Как же он (Dart) тогда в браузере планирует исполняться?
дарт не поверх JS
Потому что флаттре весь такой. Тебе конечно расскажут, что это нитак, но листвьюбилдер который тут пытаются пропихивать точно так же лагает как тварь (выше и скрины и видео было) потому что создаёт вьюхи на лету и в том же потоке (флаттер вообще однопоточный, лол).
Хуй с ним, что в одном потоке. Там с картинками просто жопа. Лаги, утечки памяти, еще какая ебала, которые они героически фиксят каждый месяц.
Героически фиксить с очень серьезными щщщами всякую хуету, которая уже давно в других технологиях работает - это по-моему прям чтоко удел js-облядей сука. Ну и дартоблядей тоже.
ты хуйню какую-то спизданул
Дык, и рендеринг и лэйаут у флаттера на плюсах написаны, дарта в таких простых приложениях почти и нет. Просто авторы обезьяны.
Какая логика может быть в листвью с картинками, поехавший?
В любом скроллящемся UI с реюзом/ленивым созданием вьюх лагает всегда лэйаут или притормаживает от ахуя рендер, просто потому что даже в очень сложную вьюху ты ну никак не засунешь тяжелую логику.
Так вот мне интересно
Я сделал три тестовых приложения с листвью и картинками: нативное, на флаттере, на замарине
Флаттер просто неюзабелен тупо 3 кадра в сек выдаёт
Замарин - средние тормоза после четвёртой картинки
Натив не лагает совсем естественно
Так вот почему так нахуй?
Как делать кроссплатформенные штуки?
Картинки разрешением 1920х1080
Ну можешь потыкать Qt (мобильный QML там обещали прям в нативные плюсы компилить, хз запилили или нет).
Ну или котлин нейтив, но сам гуй везде придётся делать свой энивэй.
> код нечитаемый совершенно
Тебе просто не нравится декларативный подход.
> Тормозит без причин.
Конечно, из дебага выйди и железо купи нормальное.
> Обещали производительность нативную
кто? когда? где?
>>590978 (OP)
Перекат-то будет, оп-хуй?
>Конечно, из дебага выйди
Так и в релизе лагает.
> и железо купи нормальное.
Так юзерам и напишу.
> Так и в релизе лагает.
Видео запиши что-ли, или код/программу кинь..
> Так юзерам и напишу.
юзеры у тебя не в эмуляторре ссаном на пентиуме с 4gb озу тестят
>Видео запиши что-ли, или код/программу кинь..
Кидал уже выше.
>юзеры у тебя не в эмуляторре ссаном на пентиуме с 4gb озу тестят
Средний по больнице юзер в снг имеет девайс минимум в 3 раза слабее моего, а ещё это андроид лагающий сам по себе больше, ты о чём вообще нахуй?
> кидал уже выше
Ну так отправь пост
>Средний по больнице юзер в снг имеет девайс минимум в 3 раза слабее моего
У него не эмулятор обоассаный, повторюсь
> андроид лагающий сам по себе
Ну да, с этим не поспоришь
>Ну так отправь пост
Ну так проскролль на 100 постов выше.
>У него не эмулятор обоассаный, повторюсь
У меня тоже.
Просто флаттер лагает. Начиная от пердузы (где всё по немножку), заканчивая риглой (где то нормально то 5 фпс с нихуя то вообще подвисает на транзишенах на пол секунды), нет ни одного ебучего приложения которое бы не лагало на этой хуите.
>У него не эмулятор обоассаный, повторюсь
То самое чувство, когда даже в симуляторе в дебаг режиме натив работает без лагов, а флаттер дергается как эпилептик даже на high end девайсах.
Проскроллил. 430-470 никаких видео не обнаружил.
>У меня тоже.
>Просто флаттер лагает. Начиная от пердузы (где всё по немножку), заканчивая риглой (где то нормально то 5 фпс с нихуя то вообще подвисает на транзишенах на пол секунды), нет ни одного ебучего приложения которое бы не лагало на этой хуите.
Эх. ну не знаю. Всё у меня хорошо кроме Web'а, а там с появлением WebAssembly тоже будет шустро..
Какая разница из скольки? Энивэй он ячейки не должен динамически выделять а переиспользовать, иначе будет лагать даже на 10 элементвх когда добавится UI из хотя бы 5-8 вьюх.
И это типичная задача для любого приложения — рисовать потенциально бесконечный список, и это вообще большая часть почти любого приложения, или у тебя в палате хэловордов с таким не сталкивались?
Весь флаттер да что там, весь дарт крутится вокруг идеи создания новых объектов вместо переиспользования старых. Так что это нормально нормально с точки зрения философии флатра
>Весь флаттер да что там, весь дарт
Тащемта, нет — весь декларативный подход. Только в том же SwiftUI под декларативный списочек догадались положить нормальный лист с реюзом ячеек, а тут нет. И в итоге в 5 раз более сырой SwiftUI, где почти все работает через жепу ввиду сырости, работает просто на порядок быстрее, лол.
>Так что это нормально нормально с точки зрения философии флатра
Тащемта, даже у ебучего реакта для браузера, который запустил эту волну декларативный UI в коде есть доп. обвес, позволяющий такое делать, а в флаттере разработчики ленятся (я просто хз чем оправдать такую халтуру).
Или это просто автор туториала не запаривался совсем?
Пример отсюда: https://pub.dev/packages/flutter_blue/example
У тебя на пике подсветки нет, вот и выглядит стрёмно. С подсветкой – как дерево, и читать удобнее
> нормальный лист с реюзом ячеек
Ты предлагаешь жрать б/ушные ячейки?
ладно, а разве на холсте это играет какую-то роль?
Грустно, очень даже. Подсветка да, чуток скрасит, это я понимаю.
Но в целом это уебищно. Все конечно же субъективно
Автор не запарился. Советуют плодить 100500 своих виджетов, типа так оптимальнее, но как и почему никто толком объяснить не может кроме конст классов. Такой код действительно легче читается, но заебывает придумывание названий для этих виджетов.
Я обычно в методы выношу. Если сходу придумывается название, то в класс. Такой дрисни как не скрине нет. Брат жив, зависимость есть.
если десктоп то нет
Как оно? Кайфуешь?
Я попробовал rn, ощущение, что все может сломаться в любую минуту
Но сама идея прикольная, вертеть нативными виджетами и верста в html.
Аноны выше говорят, что есть какой-то особенный рн, для нужд фейсбука, который очень быстр
Bump
Едиснтвенная конференция по Dart и Flutter на русском
https://www.youtube.com/watch?v=568EbR2KSGw&feature=youtu.be
Буквально через несколько минут (или уже началась)
Итак, предложения по шапке.
Новичкам курс на русском на udemy, стоят как две кружки кофе сейчас:
Изучаем Dart
https://www.udemy.com/course/learn_flutter/
Курс для тех, кто не писал на других ЯП
Изучаем Flutter
https://www.udemy.com/course/learn_flutter/
Курс для тех, кто уже знаком с программированием, ООП и немного понимает Dart
Официальный туториал (en)
https://flutter.dev/docs/reference/tutorials
Что посмотреть?
Хороший канал, на котором вы можете встретить такие темы как: Flutter Animation, Flutter Firebase & DDD Course, Flutter TDD Clean Architecture Course, Flutter State Management и так далее. Для тех, кто уже делает приложения на Flutter (en)
https://www.youtube.com/c/ResoCoder/
Няша, которая изучает Flutter и делает прикольные приложения вместе с тобой :3 (en)
https://www.youtube.com/channel/UCFKyQmNUw5FGcQr0lad5SHg
Туториал для новичков от Net Ninja (en)
https://www.youtube.com/watch?v=OtrWXLfGtqE&list=PL4cUxeGkcC9gP1qg8yj-Jokef29VRCLt1
Книги
Заметти Ф. Flutter на практике.
https://dmkpress.com/catalog/computer/programming/mobile/978-5-97060-808-1/
Предлагаю еще лого заменить на что-то из пикрил
Итак, предложения по шапке.
Новичкам курс на русском на udemy, стоят как две кружки кофе сейчас:
Изучаем Dart
https://www.udemy.com/course/learn_flutter/
Курс для тех, кто не писал на других ЯП
Изучаем Flutter
https://www.udemy.com/course/learn_flutter/
Курс для тех, кто уже знаком с программированием, ООП и немного понимает Dart
Официальный туториал (en)
https://flutter.dev/docs/reference/tutorials
Что посмотреть?
Хороший канал, на котором вы можете встретить такие темы как: Flutter Animation, Flutter Firebase & DDD Course, Flutter TDD Clean Architecture Course, Flutter State Management и так далее. Для тех, кто уже делает приложения на Flutter (en)
https://www.youtube.com/c/ResoCoder/
Няша, которая изучает Flutter и делает прикольные приложения вместе с тобой :3 (en)
https://www.youtube.com/channel/UCFKyQmNUw5FGcQr0lad5SHg
Туториал для новичков от Net Ninja (en)
https://www.youtube.com/watch?v=OtrWXLfGtqE&list=PL4cUxeGkcC9gP1qg8yj-Jokef29VRCLt1
Книги
Заметти Ф. Flutter на практике.
https://dmkpress.com/catalog/computer/programming/mobile/978-5-97060-808-1/
Предлагаю еще лого заменить на что-то из пикрил
Телеграм-чат на русском https://t.me/rudart
Телеграм-чат для вакансий https://t.me/dartlang_jobs
Тащемта, зависит от анонов.
Те, кто пишет под ведро и живёт с ним — ну они и от ебли с собакой нос воротить не станут.
Те, кто пишет под айос и любят оптимизированный софт — просто ахуевают от лагов.
Те, кто пишет под айос, у них самая топовая железка (которая мощнее 2/3 лэптопов на планете, кек) и им похуй на качество — хорошо воспринимают флаттер.
Еще мне трудно понять асинк\эвейт. Надеюсь есть возможность запилить свой отдельный thread pool.
>Все настолько плохо?
Лучше чем в какой нибудь кордове, но даже не близко к нативу. А если это натив на какой нибудь Texture, которая ещё на пятёрках 60 фпс ебашила без задней мысли — то даже не в этой вселенной, кек.
Тащемта, если в целом похуй — начинай. Я бы свои проекты на нёмделать не стал, а если платят — в целом похуй.
> Надеюсь есть возможность запилить свой отдельный thread pool.
Эээ, нет, её нет. Есть изоляты, но в целом флаттер — однопоточная залупа.
Зачем я только повелся на эту рекламу. Лучше бы писал как и раньше нативно под две платформы, или лучше юнити начал учить.
Дарт это нечто бля. Этот асинг авейт тянул меня блевать еще когда его в шарпе завезли.
Прочить файл из бандла например можно только через future/ ебаный стыд. Я завожу отдельную очередь (isolate) чтобы прочесть пачку файлов, и не могу читать в ней файл синхронно, потому что все методы возвращают future, это пизда.
Работать с системной клавиатурой невозможно. Два дня ебусь, чтобы просто показать клавиатуру без создания textfield, на ios так нихуя и не вышло. вдогонку флаттер не понимает ввод кирилицы. Тупо с латиницей евенты прилетают, но кириллицей хуй там. фейспалм. боюсь представить что еще всплывет, хотя приложением у меня простейшее
ах да, еще это ебаная null safety, из-за которой половина пакетов теперь несовместима, надеюсь скоро обновят
Дарт создавался как альтернатива js, отсюда этот скверный запашок промисов который по классике назвали по своему
Есть мнение, что асинхронная модель и очередные попытки её победить, будь то каллбэки, промисы или асинки, это тупиковая ветвь эволюции.
Это копия, сохраненная 24 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.