Рубріки: Новости

Топ-5 языков и фреймворков для кроссплатформенной разработки — рейтинг Dice

Богдан Мирченко

За последние несколько лет многие компании и отдельные программисты пытались создать идеальные инструменты для кроссплатформенной разработки. Благодаря их усилиям стало немного проще использовать один и тот же код на разных платформах. О лучших из них в блоге на Dice рассказал Analyst Developer Дэвид Болтон.

Методология исследования

При анализе Дэвид Болтон учитывал возможность того или иного инструмента поддерживать следующие платформы: 

  • десктоп (Windows, MacOS и Linux);
  • веб;
  • веб-приложения;
  • мобильные приложения;
  • embedded-устройства (IoT, автомобили и так далее).

Лучшие инструменты для кроссплатформенной разработки

Flutter — 79/100

Flutter подходит для всех вышеперечисленных платформ, кроме веб-сайтов. Flutter для Windows появился всего несколько месяцев назад, а рабочие столы Flutter для Mac OS/Linux все еще находятся в бета-версии; для IoT и автомобилей пока еще рано, но в BMW уже работает команда Flutter/Dart из 300 человек, а Toyota использует его для разработки информационно-развлекательных систем. Flutter отлично сочетается с CarPlay (iOS), начиная с iOS 14, по крайней мере, в теории.  

Оценка: 

  • 20 для настольных систем (по 5 для Linux и Mac OS);
  • 0 для веб-сайтов;
  • 10 для веб-приложений;
  • 20 для мобильных;
  • 20 для IoT/Automobile;
  • 9 из 10 баллов от автора за простоту кросс-платформенной разработки.

C# — 71 из 100

На C# кроссплатформенная разработка кажется менее цельной, это, скорее, куча технологий, собранных вместе. С разработкой для десктопов, веб-сайтами и веб-приложениями все хорошо, а разработка мобильных приложений еще хромает. По мнению Дэвида, использование XAML в настольном WPF и Xamarin Forms/Maui кажется ошибкой. К тому же, у Xamarin крутая и слишком сложная кривая обучения. 

Оценка:

  • 30 для настольных ПК;
  • 10 для мобильных (по 5 для каждой платформы);
  • 20 для веб-сайтов и приложений;
  • 10 для IoT;
  • 1 из 10 для кроссплатформенности.

Haxe — 70 из 100

Язык программирования Haxe существует с 2005 года, но не так широко известен. Он даже не входит в список 50 лучших по версии TIOBE. Haxe имеет открытый исходный код, а код, написанный на нем, может быть скомпилирован в JavaScript, C++, Java, JVM, PHP, C#, Python, Lua и Node.js. Изначально он поддерживал Flash и до сих пор поддерживает платформу OpenFl. 

Есть ряд компаний, которые используют Haxe, вероятно, из-за его возможностей Flash. 

Оценка:

  • 30 для настольных компьютеров;
  • 10 для мобильных устройств;
  • 20 для веб-сайтов и приложений;
  • 0 для IoT;
  • 10 из 10 для кросс-платформы.

Java — 45 из 100

Когда-то Java была очень популярна на десктопных компьютерах и в вебе, но, по данным w3techs, сейчас только 4% всех веб-сайтов работают на Java. 

Использование Java на настольных компьютерах сокращалось в течение многих лет, а на смартфонах технология ограничена Android, где испытывает давление со стороны Kotlin.  

Оценка:

  • 15 баллов для десктопных систем;
  • пять баллов для мобильных;
  • пять баллов для веб-сайтов и приложений;
  • 10 баллов для IoT;
  • 10 баллов для кросс-платформы.

C++ — 43 из 100

C и C++ были первыми кроссплатформенными языками, но не попали в веб и мобильный мир. 

Писать на C++ для десктопной разработки трудно. Язык пришел в упадок примерно в начале 2000-х, хотя есть несколько старых приложений, таких как MS Office, Adobe Creative Suite, и различные браузеры, написанные на нем. Сильные стороны C++ — в разработке операционных систем, компиляторов, движков баз данных, игровых движков и серверов. 

Оценка:

  • 30 для настольных компьютеров;
  • 1 для мобильных;
  • 1 для веб-сайтов и приложений;
  • 10 для IoT;
  • 1 из 10 для кросс-платформы.

Заключение

Нет идеального языка программирования, поддерживающего все платформы, но Flutter, C# и Haxe — одни из лучших.

 

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024