История кросплатформы, ч.2. Hola, Amigos! С вами Flutter-ра | Flutter. Много
История кросплатформы, ч.2.
Hola, Amigos!
С вами Flutter-разработчик Amiga Антон Мартышков. Недавно я рассказывал о том, как создавалась кроссплатформа. Я остановился на Xamarin. Следующий в очереди React Native.
React Native — это кроссплатформенный фреймворк с открытым исходным кодом для разработки нативных мобильных и настольных приложений на JavaScript и TypeScript. Этот фреймворк разработали в Facebook, ныне Meta*. Может показаться, что React Native похожим на Cordova, но нет. Идея заключалась в том, чтобы писать все на JS, а для UI использовать нативные элементы.
Очень сложно добиться нативного поведения и отображения. Некоторые компании, например, Airbnb, вовсе устали бороться с React Native и вернулись к нативной разработке. Тем не менее, решение заняло определенную нишу в мире IT.
Вот мы и дошли до Flutter. Это комплект средств разработки и фреймворк с открытым исходным кодом для создания мобильных приложений под Android и iOS, веб-приложений, а также настольных приложений под Windows, macOS и Linux с использованием языка программирования Dart, разработанный и развиваемый корпорацией Google.
Flutter сам рисует на любой поддерживаемой платформе UI, не обращается к нативным элементам, но имитирует стандартные UI-элементы Android и iOS. Вся бизнес-логика шарится между платформами. На текущий момент одно из лучших решений для кросплатформы, активно развивается и поддерживается Google. На Flutter разработаны приложения Яндекс.GO, Google Ads, Ebay и многие другие.
Еще есть KMM — kotlin multi-platform mobile. Это решение, при котором можно шарить только бизнес-логику на языке kotlin; UI и платформозависимые вещи придётся писать и там, и там. Пока рано что либо говорить, так как проект недавно перешел в бету.
Стоит добавить, что, идеального решения не существует. Есть хорошие решения и они успешны, и есть те, кто не получают значительного распространения и становятся историей.
*Запрещенная в России организация