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

Народ, вопросец такой. Если делать апликуху под Андроид и IOS,

то какую платформу лучше выбрать? Из вариков: React Native, Flutter, KMM. Взглянув на тесты, React Native по производительности проигрывает, а KMM, насколько я знаю, является что-то вроде экспериментальной фичей, которая работает, но с некоторыми ограничениями.

21 ответов

17 просмотров

React Native

Flutter, кмп еще в альфе, до бетки далеко ещё

Sergey-Glushko Автор вопроса

Я вот взглянул на КММ, поскольку на Java и Котлине апликухи делаю. Не знаю, как в React Native, вроде там один код и под разные платформы, только некоторые мелочи меняешь, но вот на KMM, у тебя 3 папки. В одной shared ты пишешь общие классы, а в специальных, их реализуешь. Многое строится на "actual" и "expected" флажках для классов, где в "expected" ты определяешь общее поведение без реализации, а в "actual" классах, ты реализуешь функционал. И вот в Андроиде ты реализуешь по своему, а в iOS по своему. Как пример, переменная по показу версий. Тебе надо написать метод в Shared, папке, а потом для Андроида "android.os.Build.VERSION.SDK_INT", и для иОСа: "UIDevice.currentDevice.systemName()". То есть. в случае с КММ, выходит, что для каждого метода, нужна своя реализация, кода будет больше, да и знания в SWIFT надо иметь.

Так это везде так. Везде пишешь под иос и под андроид раздельно. Просто общий дизайн и базовые классы. В остальном требуются знания обеих платформ.

Sergey-Glushko Автор вопроса

То есть, в Реакт Нативе, тоже надо писать отдельно реализацию под иОС и отдельно под Андроид?

Уверен

да, RN же использует нативные вьюхи, они все реализованы раздельно

Но смотря какую реализацию. Если домейн слой, то он работает под 2 платформы.

Sergey-Glushko Автор вопроса

Я думал, что ты вызвал метод, который подсоединяется к серверу и по запросу, забирает JSON объект, а дальше, система отдельно конвертирует это под Андроид и отдельно под иОС. То есть, ты не пишешь отдельно реализацию для Андроида, например, с использованием Реакта, ну и отдельно под иОС, с другой реализацией

Не, писать придется полюбэ)

И я думаю библиотеки все тоже нативные и разные для каждой платформы (окхттп клиент, жсон сериализаторы и т.д.)

Ты думаешь или был опыт?

Sergey-Glushko Автор вопроса

Ну ясно. А то у меня кореш на Реакте делает и говорит, что под отдельные платформы он только разметку делает в XML, а типы вьюх даже не знает. Просто вызывает класс View, который имеет какие-то настройки, и в коде уже вставляет текст или картинку, или че там ему надо

ну да, логика пишется одинаково

пока гуй примитивный — всё так)

Опыта не было, но слышал от других кросплатформ девов.

Sergey-Glushko Автор вопроса

Просто я хочу сделать приложение, но хотелось бы, чтобы ее можно было использовать на иОС - либо уже написанную, либо иметь перспективу без переписываний с нуля, ее адаптировать. Вот начал разбирать. Судя из рассказов кореша, на Реакт Нативе, ты пишешь общий код, который работает на обоих платформах, но при этом, какие-то фичи надо переписывать отдельно, если они не реализованы в Реакте, ну и интерфейс подправлять. Ну а потом увидел, что можно на Котлине сделать мультиплатформу, и исходя из примеров и того, что я понял, там общий код написать не выйдет. Только какую-то логику, не использующую специфичные библиотеки, а для специальных вещей, придется отдельно катать под Андроид и под иОС. Это и вызвало некий диссонанс с тем, что мой кореш рассказывал и тем, что я увидел, разбирая КММ

Неправда, на KMPP можно писать общий код. Для того он и нужен.

имхо флаттер лучше, от жс у меня глаза вытекают =)

Флаттер не пробовал. Но про жс категорически плюсую🌚

Sergey-Glushko Автор вопроса

Да. Я начал разбирать, что лучше: Реакт натив, КММ или Флаттер. Разные мнения. По производительности, Реакт проигрывает. Флаттер примерно на 20% медленнее нативной реализации, ну а КММ, для Андроида норм, а для иОС-а пока не видел. Но в перспективе, говорят, что доля Реакта для мобильных кросс платформ, снижается, и растет популярность Флаттера, но при этом, его не рекомендуют для больших приложений. Ну а КММ пока в альфе находится, что значит, релизнится он только через год как минимум.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
28
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта