то какую платформу лучше выбрать? Из вариков: React Native, Flutter, KMM. Взглянув на тесты, React Native по производительности проигрывает, а KMM, насколько я знаю, является что-то вроде экспериментальной фичей, которая работает, но с некоторыми ограничениями.
React Native
Flutter, кмп еще в альфе, до бетки далеко ещё
Я вот взглянул на КММ, поскольку на Java и Котлине апликухи делаю. Не знаю, как в React Native, вроде там один код и под разные платформы, только некоторые мелочи меняешь, но вот на KMM, у тебя 3 папки. В одной shared ты пишешь общие классы, а в специальных, их реализуешь. Многое строится на "actual" и "expected" флажках для классов, где в "expected" ты определяешь общее поведение без реализации, а в "actual" классах, ты реализуешь функционал. И вот в Андроиде ты реализуешь по своему, а в iOS по своему. Как пример, переменная по показу версий. Тебе надо написать метод в Shared, папке, а потом для Андроида "android.os.Build.VERSION.SDK_INT", и для иОСа: "UIDevice.currentDevice.systemName()". То есть. в случае с КММ, выходит, что для каждого метода, нужна своя реализация, кода будет больше, да и знания в SWIFT надо иметь.
Так это везде так. Везде пишешь под иос и под андроид раздельно. Просто общий дизайн и базовые классы. В остальном требуются знания обеих платформ.
То есть, в Реакт Нативе, тоже надо писать отдельно реализацию под иОС и отдельно под Андроид?
Уверен
да, RN же использует нативные вьюхи, они все реализованы раздельно
Но смотря какую реализацию. Если домейн слой, то он работает под 2 платформы.
Я думал, что ты вызвал метод, который подсоединяется к серверу и по запросу, забирает JSON объект, а дальше, система отдельно конвертирует это под Андроид и отдельно под иОС. То есть, ты не пишешь отдельно реализацию для Андроида, например, с использованием Реакта, ну и отдельно под иОС, с другой реализацией
Не, писать придется полюбэ)
И я думаю библиотеки все тоже нативные и разные для каждой платформы (окхттп клиент, жсон сериализаторы и т.д.)
Ты думаешь или был опыт?
Ну ясно. А то у меня кореш на Реакте делает и говорит, что под отдельные платформы он только разметку делает в XML, а типы вьюх даже не знает. Просто вызывает класс View, который имеет какие-то настройки, и в коде уже вставляет текст или картинку, или че там ему надо
ну да, логика пишется одинаково
пока гуй примитивный — всё так)
Опыта не было, но слышал от других кросплатформ девов.
Просто я хочу сделать приложение, но хотелось бы, чтобы ее можно было использовать на иОС - либо уже написанную, либо иметь перспективу без переписываний с нуля, ее адаптировать. Вот начал разбирать. Судя из рассказов кореша, на Реакт Нативе, ты пишешь общий код, который работает на обоих платформах, но при этом, какие-то фичи надо переписывать отдельно, если они не реализованы в Реакте, ну и интерфейс подправлять. Ну а потом увидел, что можно на Котлине сделать мультиплатформу, и исходя из примеров и того, что я понял, там общий код написать не выйдет. Только какую-то логику, не использующую специфичные библиотеки, а для специальных вещей, придется отдельно катать под Андроид и под иОС. Это и вызвало некий диссонанс с тем, что мой кореш рассказывал и тем, что я увидел, разбирая КММ
Неправда, на KMPP можно писать общий код. Для того он и нужен.
имхо флаттер лучше, от жс у меня глаза вытекают =)
Флаттер не пробовал. Но про жс категорически плюсую🌚
Да. Я начал разбирать, что лучше: Реакт натив, КММ или Флаттер. Разные мнения. По производительности, Реакт проигрывает. Флаттер примерно на 20% медленнее нативной реализации, ну а КММ, для Андроида норм, а для иОС-а пока не видел. Но в перспективе, говорят, что доля Реакта для мобильных кросс платформ, снижается, и растет популярность Флаттера, но при этом, его не рекомендуют для больших приложений. Ну а КММ пока в альфе находится, что значит, релизнится он только через год как минимум.
Обсуждают сегодня