Search  
Always will be ready notify the world about expectations as easy as possible: job change page
yesterday

Забудьте про Go и Rust: MoonBit - новый король WebAssembly

Забудьте про Go и Rust: MoonBit - новый король WebAssembly
Source:
Views:
31

Нативная оптимизация под WebAssembly и встроенный IDE качественно выделяют язык на фоне конкурентов.

В мире программирования появляется всё больше инструментов, оптимизированных для работы с WebAssembly, и одним из самых перспективных сейчас является MoonBit. Этот новый язык программирования, впервые представленный в прошлом году программистом по имени Хунбо Чжан (Hongbo Zhang), обещает обеспечить высокую производительность и минимальный размер кода, что делает его идеальным выбором для современных облачных и фронтенд-приложений.

MoonBit — это язык, который компилируется в WebAssembly, JavaScript и Assembly. WebAssembly в своё время обещал повышенное удобство за счёт компиляции множества языков и последующего их запуска прямо в браузере и других средах. Тем не менее, существующие языки, такие как Java, Go и Rust, генерируют чрезмерное количество кода при компиляции через WebAssembly, что существенно снижает производительность.

Именно это обстоятельство и побудило Хунбо Чжана создать MoonBit — открытый программный язык, нативно оптимизированный для WebAssembly и предназначенный для облачных, пограничных вычислений и фронтенд-приложений.

Чжан подчёркивает, что WebAssembly имеет огромный потенциал благодаря своей кроссплатформенности, безопасности и скорости. MoonBit создан для использования всех преимуществ WebAssembly, чего не могут добиться существующие языки. «Вы не можете изменить семантику Go для адаптации к WebAssembly. Нужно создавать новый язык, чтобы полностью использовать возможности WebAssembly», — объясняет Чжан.

MoonBit черпает вдохновение из таких языков, как Rust и Go. Он включает в себя паттерн-мэтчинг, а также статические типы и вывод типов, подобно Rust, но с упрощённой кривой обучения. Кроме того, уже скоро MoonBit будет оснащён сборщиком мусора, использующим автоматический подсчёт ссылок (ARC), что делает управление памятью автоматическим, подобно тому, как это реализовано в Swift. Также в MoonBit заимствована философия Go: «меньше значит больше».

Чжан добавляет, что одним из ключевых преимуществ MoonBit является высокая скорость компиляции: «В то время как Rust может компилироваться весьма долго, MoonBit делает это в разы быстрее».

MoonBit также выделяется своей средой разработки (IDE), которая сразу доступна разработчикам. Это редкость для новых языков, так как обычно на создание IDE уходят годы. Чжан отмечает, что благодаря его опыту работы с языковыми инструментами, MoonBit имеет очень быстрый и надёжный IDE, что делает язык удобным и приятным для разработчиков.

MoonBit идеально подходит для разработчиков, которым важна производительность. Он позволяет использовать WebAssembly как на фронтенде, так и для серверных приложений, и даже для Edge Computing. Чжан подчёркивает, что MoonBit генерирует такой JavaScript-код, который по производительности существенно превосходит написанный вручную JavaScript.

Таким образом, MoonBit представляет собой инновационный язык программирования, который обещает высокую производительность и оптимизацию как для WebAssembly, так и для других бэкендов, предлагая разработчикам удобные и мощные инструменты для создания современных приложений.

Similar
Oct 24, 2022
Author: Chandan Das
For as long as web applications have been around, full-stack developers have had to work with different sets of technologies for the front and backend. For instance, a developer would use something like Angular for the frontend and Express.js for...
15 марта 2024 г.
Автор: Рустем Галиев
Blazor — это технология, позволяющая создавать клиентские веб-приложения с использованием C# и .NET, а не JavaScript. Blazor может запускать ваш код одним из двух способов. Blazor WebAssembly выполняет код C# на стороне клиента в любом современном браузере, поддерживающем WebAssembly. Blazor...
Oct 12, 2020
Author: Marco De Sanctis
The new Blazor WebAssembly 3.2.0 includes support to client side authentication, which makes relatively simple to implement OpenID Connect and OAuth2 in your single page application. In other words, it means that we can finally build applications with the most...
Oct 12, 2020
Author: Marco De Sanctis
In a previous article we’ve introduced how authentication works in Blazor WebAssembly and we’ve seen a simple example on how to create a Blazor client, implement the login flow via Identity Server 4 and retrieve an access token to call...
Send message
Type
Email
Your name
*Message