Топ-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 балів для десктопних систем;
- 5 балів для мобільних;
- 5 балів для вебсайтів та додатків;
- 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 — одні з найкращих.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: