💳 Trustee Plus — твоя персональна картка європейського банку: 3 хвилини і 10 євро 👉

Rust для IoT: Выбор языка для вашего проекта — опыт Yalantis

Компания Yalantis — одна из немногих на украинском рынке, которая имеет глубокую экспертизу использования Rust в разработке. Сейчас у нас есть несколько текущих проектов в секторе зеленой энергетики (EV Charging), медицинского и промышленного IoT, а среди наших клиентов известны на рынке IoT RAKwireless, Toyota и другие.

Оставить комментарий
Rust для IoT: Выбор языка для вашего проекта — опыт Yalantis

Компания Yalantis — одна из немногих на украинском рынке, которая имеет глубокую экспертизу использования Rust в разработке. Сейчас у нас есть несколько текущих проектов в секторе зеленой энергетики (EV Charging), медицинского и промышленного IoT, а среди наших клиентов известны на рынке IoT RAKwireless, Toyota и другие.

Использование Rust для создания многоязычных экосистем и его потенциал в IoT-проектах — тема митапа Yalantis Meetup: Rust edition, состоявшегося в сентябре. Мы в очередной раз проводим образовательные мероприятия, посвященные Rust и развеиваем мифы, что его применение ограничивается только блокчейн технологией. В статье вы найдете саммари о докладах спикеров с главными тезисами, а также ссылки на видеозаписи.

В первой части Владимир Мигдаль, Senior Rust Developer в компании Yalantis, рассмотрел:

  • Основные понятия FFI (Foreign Function Interface) и роль, которую оно играет в мире Rust;
  • Основные типы байдингов: написанные собственноручно или сгенерированные;
  • Экосистема Rust и полезные инструменты и утилиты для работы с FFI;
  • Креативное решение в виде UniFFI.
Владимир Мигдаль, Senior Rust Developer, и Михаил Майдан, Head of Rust Department в компании Yalantis

Завершающей частью стал практический пример использования UniFFI в реальном проекте.

Язык Rust был разработан Graydon Hoare и долгое время поддерживался Mozilla, а его разработка в целом не прекращается в течение 15 лет. На маркете Украины Rust только завоевывает свое место и изменяет правила игры. Этот язык привлекает внимание больших и инновационных проектов своими преимуществами, сложностью и постоянным развитием.

«Представим ситуацию, когда у нас есть большая кодовая база, разработанная на Rust или C++, и мы хотим использовать этот код в проектах, написанных на Python. — без FFI такое было бы невозможно. Этот концепт играет важную роль в разработке, так как позволяет разным языкам программирования взаимодействуют между собой. Интеграция различных технологий и языков позволяет разработчикам создавать мощные и эффективные решения, сочетающие в себе лучшие возможности разных языков», — Владимир Мигдаль, Senior Rust Developer в компании Yalantis.

Интеграция Rust-кода в проекты на разных языках программирования имеет преимущества:

  1. Использование оптимизированного кода: Rust известен своей высокой производительностью и эффективностью использования ресурсов, что делает его прекрасным выбором для написания критических по производительности компонентов программ. Это важно в тех случаях, когда вы хотите сохранить высокую производительность в языках.
  2. Использование существующих библиотек: Существуют готовые библиотеки и функции, написанные на Rust или других языках программирования, которые нам нужны. Вместо повторного написания кода на другом языке вы можете использовать интеграцию FFI для прямого доступа к ним.
  3. Работа со сложными структурами данных: Интеграция Rust позволяет легко передавать сложные структуры данных с многослойными типами между языками программирования, что облегчает работу со сложными объектами в коде.
  4. Расширение команды: Интеграция Rust в проект открывает возможности для привлечения разработчиков, имеющих опыт в Rust или желающих выучить этот язык.
  5. Безопасность памяти: Rust имеет встроенную систему безопасности памяти, что делает его отличным выбором для критических по безопасности проектов.

Вторая часть митапа была об использовании Rust для проектов IоТ, а также преимуществах и недостатках речи. Спикером стал Михаил Майдан, Head of Rust Department в Yalantis, а также преподаватель в Национальном университете Львовской политехники. Он имеет более пяти лет опыта как embedded инженер в разработке embedded Linux и bare metal, а также IoT-устройств.

Сначала мы рассмотрели характеристики устройства для Internet of Things. Это микрочип с ограниченными ресурсами, памятью, а также скоростью и потребностью в энергоэффективности. Многие такие устройства работают на батарейках и нуждаются в оптимизированных прошивках для долгого срока службы батарей и устройства в целом.

На сегодняшний день для таких устройств выгодно использовать три основных языка программирования, причем два из них выбиваются в лидеры — С и С++.

«Rust является хорошим выбором для IoT- и Embedded-проектов. Язык обеспечивает безопасность на уровне типов и помогает избегать null-pointers, а также нет undefined behavior. Для более сложных проектов важна поддержка конкурентности и возможность использовать многозадачный режим, и Rust обеспечивает эту возможность. Для успеха языка важно, чтобы экосистема продолжала расти и наполняться разными библиотеками и фреймворками. Поддержка крупными компаниями, такими как Microsoft и Google, также говорит о потенциале языка. Несмотря на все преимущества, у Rust все еще есть недостатки: зрелость экосистемы, высокий порог входа, разнообразие тулинга», — Михаил Майдан, Head of Rust Department в Yalantis.

Rust отличается универсальностью, поддержкой различных сфер, включая Embedded, Game Development и Backend Development. Хотя Rust может быть медленнее в разработке по сравнению с другими языками, он компенсирует это безопасностью, производительностью и удобством инструментов.

Записи выступлений спикеров с презентациями Yalantis Meetup: Rust Edition доступны по ссылке. Об опыте Yalantis и больше об экосистеме IoT можно посмотреть здесь.

Yalantis — украинская аутсорсинговая компания, которой в 2023 году исполняется 15 лет. Команда Yalantis насчитывает 500 специалистов. У компании есть офисы в Варшаве, Днепре, Киеве, Львове и Ларнаце и более 200 проектов в своем портфолио. Просмотреть актуальные вакансии можно на DOU.

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментариев пока нет.