169 похожих чатов

Вопрос: в чём отличие Xamarin от Flutter? Xamarin разделяют на 2

вида:
1) Xamarin.Forms
2) Xamarin.iOS, Xamarin.Android (некотрые называют их вместе Xamarin.Native или Xamarin.Classic)

Xamarin.Forms может иметь просадки в производительности, обычно на списках, обычно на Android, но это бывает не часто
В основном приложения на Xamarin.Forms быстрые
Запуск может быть долгим на старых Android
Многопоточность не играет никакой роли тут, потому что визуальная часть всегда рисуется в главном (UI) потоке
Xamarin.Forms использует стандартные для системы контролы, Flutter использует полностью перерисованные контролы (могут выглядеть неестественно на iOS)
Большинство, говоря Xamarin, подразумевают Xamarin.Forms - и у многих от него не самые приятные впечатления, потому что либо пытались сделать приложение со сложным UI, и, хотя это возможно в Xamarin.Forms, но сделать проблематично; либо столкнулись с теми самыми лагами с "тяжёлыми" списками; либо какие-то сторонние ошибки при сборке
Если не перегружать UI свистоперделками, то никто даже и не узнает, что приложение на Xamarin.Forms написано, так как я уже выше написал там используются стандартные (нативные) контролы и это выглядит естественно
С Flutter же UI будет единым, но оно не будет отличаться каким-то естественными для платформы контролами
Если нужен полностью одинаковый UI, то Flutter лучше, хотя в Xamarin.Forms тоже можно этого добиться, но сложнее

С Xamarin.iOS и Xamarin.Android всё гораздо проще: производительность такая же, как и у нативных приложений, потому что работаете напрямую с SDK каждой платформы
+ плюс: бизнес-логику можно написать платформонезависимую со всеми прелестями асинхронности C#
- минус: UI и другой платформенный код надо писать отдельно для каждой платформы

Резюмируя:
Xamarin.Forms может быть и производительным и не очень, в зависимости от задач приложения и кривизны рук, писать код просто
Flutter будет в UI производительный (вроде ещё были статьи, что он при этом жрёт баратею сильно), хотя не знаю как там по приятности писать приложения вообще
Xamarin.iOS и Xamarin.Android производительный, но непростой

37 ответов

53 просмотра

Неплохо описал. А можешь сделать заголовок и форматирование и закреплю

Вау, очень полезные знания, спасибо за сообщение. А если использовать для проекта формы и использовать кастомные рендеры для сложного UI?

Kirill Ashikhmin
Неплохо описал. А можешь сделать заголовок и форма...

+, было бы очень полезно, я спустя первый год разработки только понял, что Xamarin.Android это не андроидовский проект в Xamarin.Forms 😂

entdark- Автор вопроса
Äртем
Вау, очень полезные знания, спасибо за сообщение. ...

вариант ещё можно наоборот: встраивать Xamarin.Forms странички в Xamarin.Android или Xamarin.iOS

entdark
вариант ещё можно наоборот: встраивать Xamarin.For...

А какой смысл? Типо в формах сложный интерфейс не построить тут я понимаю зачем рендеры использовать. Но зачем страничку из форм тянуть?

Äртем
Вау, очень полезные знания, спасибо за сообщение. ...

что бы делать слойжный ui совсем необязательно лезть в рендереры

entdark- Автор вопроса
Äртем
А какой смысл? Типо в формах сложный интерфейс не ...

как вариант: она была сделана ранее, и её пересли туда

entdark
как вариант: она была сделана ранее, и её пересли ...

Ага, тогда подходит, буду знать что можно и такое вытворять)

Slava Zolotov
что бы делать слойжный ui совсем необязательно лез...

Да можно и средствами Xamarin.Forms сделать либо сторонние Nuget установить где нужную штуку уже сделали до тебя

@Jasper7 закрепи плиз

entdark
навёл красоты

Пасиб, но оказывается у меня нет прав закреплять 😁

Äртем
Да можно и средствами Xamarin.Forms сделать либо с...

Делаю MVP проект на xamarin.forms. Дизайн довольно капризный и я бы сказал сложный. Так вот, я ни написал ни одного рендерера, использую всё готовое из уже написанных библиотек.

Alex Ibraimov
Делаю MVP проект на xamarin.forms. Дизайн довольно...

Даже не знаю, что ответить) С одной стороны круто, так как всё есть и можно не парится, с другой стороны если захотят дальше клепать поверх МВП функционал как бы не было конфликтов между пакетами или вообще кто-то из разработчиков перестанет поддерживать пакет либо скажет, что теперь плати бабулес))) Я с таким на практике не сталкивался, но вероятность есть.

Äртем
Даже не знаю, что ответить) С одной стороны круто,...

Мы договорились заранее с заказчиком, что поверх mvp мы не будет продолжать, а начнём заново, но всё таки думаю копипаст будет. А в целом согласен. Но я всё же старался использовать только популярные библиотеки

Alex Ibraimov
Мы договорились заранее с заказчиком, что поверх m...

Предусмотрительно, да я так же делаю либо беру библиотеки от ребят из чата. Например в крупном проекте где я работаю видел библиотеку от @kirill_l93 😂😂😂

хочу еще дополнить про флаттер на ios, там сейчас с анимациями и поддержкой metal полная беда. прям ну очень сильно лагает

Alex Ibraimov
а что за либа?

Не смотрел, когда работал с кодом видел, что могу подключить в xaml`e пространство rotorgames как то так называется)))

entdark- Автор вопроса
Alex Ibraimov
Делаю MVP проект на xamarin.forms. Дизайн довольно...

точно такая же ситуация, в итоге все обмазано рендерами и своими биндингами под библиотеки андроид/айос

entdark- Автор вопроса
Äртем
Даже не знаю, что ответить) С одной стороны круто,...

кстати, правильная мысль зависимости надо минимизировать

entdark
кстати, правильная мысль зависимости надо минимизи...

Я работал на одном проекте, там тим.лид дядька опытный. Говорит надо бороться за каждый мегабайт приложения, когда я сказал за либу которая подходила под решение задачи он так посмотрел на меня и говорит "Она весит столько сколько и наше приложение"

entdark- Автор вопроса
Äртем
Я работал на одном проекте, там тим.лид дядька опы...

думаю, тут должна быть золотая середина в любом случае

entdark
думаю, тут должна быть золотая середина в любом сл...

Да, так и получилось, потом появились новые требования которые решала эта же либа))))

XF огонь Что реально дискомфорт вызывает - долгий запуск на слабых андроидах

Alex Ibraimov
Делаю MVP проект на xamarin.forms. Дизайн довольно...

Значит не сложный) самая боль формс - анимации

Kirill
Я вообще не видел проектов без нее 😄

О да. Топовая библиотека получилась)

так что всё таки производительнее в Андроиде? флюттер или ксамарин.натив?

Я Language
так что всё таки производительнее в Андроиде? флют...

Там же всё написано Натив будет такой же по производительности, как нативные прилы Флаттер тоже довольно производительный, но вроде как жрёт батарею Резюмируя: разницу между ними ты, как пользователь, вряд ли заметишь

Я Language
так что всё таки производительнее в Андроиде? флют...

В англоязычном интернете есть тесты и там сравнивают все кросспл. инструменты, можно нагуглить. Тлдр: все работает быстро кроме вебвью. И кажется RN

В закрепе

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта