Что будет с JavaScript в будущем?

JavaScript был ведущим выбором для одностраничных приложений в течение длительного периода времени, и каждый любитель JavaScript надеется, что он останется на вершине и в будущем. Но недавние разработки Blazor от Microsoft и Dart от Google, похоже, угрожают королевству JavaScript. Эти фреймворки были впервые представлены примерно в 2017 и 2011 годах соответственно, но до недавнего времени они не оказали реального влияния на развивающиеся страны.

Итак, основная цель этой статьи - исследовать шумиху вокруг Blazor и Dart и сравнить их с JavaScript, чтобы увидеть, могут ли они свергнуть JavaScript.

Что такое дротик?

Dart был впервые представлен Google в качестве внутреннего языка разработки для Интернета, мобильных устройств и серверов примерно в 2011 году, и язык в значительной степени ограничивался самим Google. Но сразу после представления Flutter на Google I / O 2018 Dart начал быстро подниматься по служебной лестнице.

Dart - это оптимизированный для клиента язык, который компилирует исходные коды аналогично многим другим языкам программирования, таким как C. Существенная разница заключается в том, что Dart содержит собственный менеджер пакетов под названием pub, а также имеет автономный SDK, поставляемый с Dart VM.

Почему Дарт становится популярным?

На мой взгляд, Flutter - основная причина ажиотажа вокруг Dart. С тех пор, как Google представил Flutter для кроссплатформенной мобильной разработки, мобильные разработчики очень захотели попробовать Flutter - и им пришлось начать работать с Dart. Хотя Dart является относительно новым по сравнению с JavaScript, разработчики с хорошими знаниями ООП и Java смогли быстро усвоить базовые концепции и синтаксис, и сообщество Dart начало быстро расти.

Кроме того, Dart имеет возможность компилировать код как в опережающем, так и в своевременном режиме, что означает, что ваш код одновременно компилируется и выполняется в фоновом режиме, пока вы разрабатываете.

Помимо этого, Dart предоставляет множество интересных функций, которые мы можем выделить как его преимущества и сильные стороны:

  • Dart поддерживает объектно-ориентированную разработку.
  • Хорошо написанная документация облегчает изучение.
  • У Dart нет никаких требований к оборудованию или архитектуре для работы.
  • Его можно использовать в мобильных приложениях, веб-приложениях, настольных приложениях, задачах создания сценариев и работе на стороне сервера / на стороне клиента.
  • Однопоточный язык программирования.
  • Нет времени компиляции в разработке.
  • Dart имеет богатую экосистему с большим набором вспомогательных инструментов, таких как pub, analyzer, test, dev_compiler, серверная виртуальная машина и т. Д.
  • Кросс-платформенная поддержка.

Вы также можете найти более подробную информацию о Dart в документации.

Дарт против JavaScript

Сравнивать Dart с JavaScript намного проще, чем сравнивать JavaScript с Blazor, поскольку к настоящему времени Dart уже зарекомендовал себя.

Если мы рассмотрим популярность этих двух, мы можем четко сказать, что JavaScript более популярен, поскольку он существует уже давно, и разработчики используют JavaScript почти для всего. Но с другой стороны, Dart набирает обороты и все больше привлекает к себе разработчиков.

Если мы рассмотрим опрос Stack Overflow в 2019 году, мы увидим, что и JavaScript, и Dart находятся на одном уровне, когда речь идет о самом любимом языке.

Кроме того, мы не видим большой разницы между ними, когда дело касается кривой обучения и простоты использования. И JavaScript, и Dart могут немного сбивать с толку вначале, но их использование превращается в прогулку по парку, как только вы освоитесь.

Точно так же мы можем сравнить многие аспекты этих двух, касающиеся их скорости, коммерческого использования, поддержки платформы, поддержки редактора и т. Д. Но мы не видим большой разницы между ними. У каждого могут быть небольшие преимущества. Например, JavaScript можно использовать как во внешнем, так и в серверном интерфейсе, в то время как Dart не поддерживает внутреннюю разработку. Dart, в свою очередь, поддерживается Google.

В целом, я могу сказать, что мы не можем говорить в пользу одной технологии, поскольку обе они содержат свой собственный набор ценностей, которые не могут быть пересмотрены другими. JavaScript был на вершине в течение длительного периода времени, и он останется там и в будущем. Однако со временем Дарт будет завоевывать свои позиции. Как разработчики, мы обязаны выбрать то, что лучше всего подходит для нашего решения.

Что такое Blazor?

Blazor (Browser + Razor) - это новая среда веб-разработки, представленная Microsoft, которая позволяет разрабатывать приложения на основе браузера с использованием синтаксиса C # и Razor наряду с HTML и CSS.

Если вы раньше работали с представлениями Razor, вы должны быть знакомы с процессом, который нужно было выполнить, чтобы представить представление HTML в браузере. Нам пришлось запустить представления Razor на стороне сервера, чтобы представить их в браузере. Но с появлением Blazor представления Razor теперь могут выполняться и на стороне клиента. Blazor не требует установки каких-либо дополнительных плагинов или библиотек в клиентском браузере. WebAssembly позаботится обо всем этом, и, как разработчики, мы можем просто начать разработку клиентской и серверной сторон с использованием C #, чтобы облегчить себе жизнь с помощью Blazor.

Почему Blazor становится популярным?

Хотя с момента появления Blazor прошло некоторое время, он оставался вне поля зрения в течение значительного периода времени. Но с появлением WebAssembly Blazor значительно поднялся в рейтинге, и дискуссии о его сравнении с JS и другими основными фреймворками вызвали еще больший резонанс в мире разработчиков.

Как следует из темы этой статьи, JavsScript долгое время находился на вершине интерфейсной разработки. Для разработчиков .NET это была настоящая головная боль, поскольку им нужно было изучать JavaScript или TypeScript с нуля для разработки интерфейсов.

Но с появлением Blazor C # можно использовать для разработки как серверной, так и клиентской стороны приложения, и это стало основным преимуществом Blazor. Итак, если вы разработчик .NET, вам больше не нужно беспокоиться об изучении JavaScript для разработки на стороне клиента.

Помимо этого, у Blazor есть много функций / преимуществ:

  • Blazer не требует подключаемых модулей браузера.
  • Включает полную отладку .NET.
  • Он использует новейшие возможности веб-браузера.
  • Модель для создания составного пользовательского интерфейса.
  • Совместимость браузера (даже для более старых версий).
  • Доступна инъекция зависимостей.
  • Может разделять код между клиентом и сервером.
  • Приложения Blazor могут работать в автономном режиме.
  • Blazor предварительно скомпилирован на промежуточном языке.
  • Хорошо работает с требовательными к производительности приложениями.

Blazor против JavaScript

Сравнение Blazor и JavaScript на данном этапе не покажется справедливым, но это сравнение - то, что все ищут. Поэтому я решил сравнить функции Blazor с некоторыми ведущими фреймворками JavaScript, такими как Angular, React и Vue.

Многие JavaScript-фреймворки, включая вышеупомянутые, существуют уже давно и завоевали доверие людей для использования в большом количестве приложений. Если мы рассмотрим React, Angular или Vue, за ними стоят огромные сообщества, и эти фреймворки зарекомендовали себя.

С другой стороны, Blazor все еще новичок в игре и не завоевал доверия разработчиков. Но мы не можем сказать, что он полностью новый, поскольку Blazor почти аналогичен разработке .NET с такими функциями, как представления Razor и C # в качестве языка. Кроме того, новизна не помешала Blazor предоставить некоторые расширенные функции, такие как встроенная поддержка маршрутизации, проверки и обработки форм, совместное использование компонентов между клиентской и серверной стороной, использование пакетов NuGet, развертывание в виде статических файлов и т. Д.

Но с преобладающей ситуацией и особенностями Blazor я не думаю, что он содержит какие-либо важные функции, которые могли бы подтолкнуть к нему разработчиков JavaScript. Но если вы разработчик .Net или хорошо разбираетесь в C #, Blazor определенно станет для вас хорошим вариантом.

Заключение

Простой ответ на эту тему - JavaScript подойдет. JavaScript будет оставаться на вершине в течение значительного периода времени. Но и Dart, и Blazor имеют большой потенциал стать первоклассными конкурентами JavaScript, предоставляя при этом свои собственные функции, которые можно использовать в различных решениях в виде пакетов.

Кроме того, я считаю, что эта тема не может ограничиваться тем, что я резюмировал в этой статье. Я приглашаю всех вас поделиться своими мыслями в разделе комментариев. Спасибо за чтение.