Библиотеки и фреймворки JavaScript с их многочисленными вариантами использования.

В настоящее время, согласно опросу разработчиков Stack Overflow 2021, JavaScript является наиболее используемым, известным и признанным языком программирования в мире. Вероятно, даже Брендан Эйх, создатель JavaScript, не мог себе представить, какой огромный успех он имеет сегодня.

Он намеревался только создать язык, который мог бы сделать процесс веб-разработки более гибким и простым в освоении. И он сделал это. Это стало возможным благодаря тому, как работает JavaScript. Фактически, он работает прямо в браузере, что позволяет ускорить и повысить эффективность всей разработки.

В первый день название было не JavaScript, а Mocha, но они хотели сделать его более похожим на популярную Java, чтобы люди могли узнавать его как нечто хорошо построенное. С годами JavaScript обновлялся. Каждая версия называется ES с номером, например, ES5. Это означает пять сценариев ECMA и является пятой версией официальной версии JavaScript.

Затем, в 2012 году, был разработан TypeScript. Это СУПЕРНАБОР JavaScript, который включает несколько функций, которых нет в JavaScript, например, сильный тип переменных. Это не фреймворк и не библиотека, мы можем думать об этом как о расширении исходного языка, чтобы он работал лучше. И на данный момент это наивысшая эволюция JavaScript.

Использование

JavaScript можно использовать практически везде: его используют для разработки игр, мобильных приложений, науки о данных, машинного обучения, серверной разработки и так далее. В любом случае, основное использование JavaScript, которое также является его оригинальным, — это разработка Frontend. На самом деле здорово изменять, обрабатывать и взаимодействовать с компонентами внутри DOM (объектная модель документа), страницы браузера. Итак, как вы можете догадаться, большинство фреймворков и библиотек созданы для этого конкретного случая использования.

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

Итак, о каком фреймворке и библиотеках мы будем говорить? Они будут разделены в соответствии с их вариантом использования. Для интерфейса: React и Angular. Для бэкенда: Node.js и Expess. Мобильная разработка: React Native. Машинное обучение: TensorFlow.js. Разработка игры: Phaser. Давайте начнем проходить через все это.

Внешний интерфейс

Реакция

React — это внешняя библиотека JavaScript с открытым исходным кодом (не фреймворк), разработанная Meta (на момент создания — Facebook Inc.) в 2013 году, и она поддерживается ее создателем, а также страстным разработчиком и энтузиастом открытого исходного кода. .

Он был создан, потому что Facebook хотел сократить время компиляции, которое C++ занимало каждый раз, когда в кодовую базу вносились новые изменения. Поэтому они решили использовать JavaScript в качестве интерпретируемого языка и создать надежный набор инструкций, чтобы сделать все процессы более гибкими и приятными. И они сделали это.

React — это библиотека, а не фреймворк, потому что он неполный. Ему не хватает языка для эффективного отображения страницы. Для решения этой проблемы используется расширение под названием JSX, которое действительно похоже на HTML по синтаксису. Он также поддерживает TypeScript для сценариев страницы.

React основан на концепции компонента. Компонент является частью только одной обрабатываемой веб-страницы. Это может быть весь DOM или только небольшой абзац в конце вашей страницы. Каждый компонент может содержать другие компоненты и находится внутри родительского компонента. Это делает страницу своего рода бинарным деревом, но не беспокойтесь, с ней гораздо проще работать, чем со стандартной структурой данных.

В любом случае, согласно опросу разработчиков Stack Overflow, это самый популярный веб-фреймворк: более 40% работающих в настоящее время разработчиков знают эту технологию. Это может сделать его немного насыщенным вакансиями, но создаст огромное сообщество, которое может вам помочь. Определенно рекомендуется, если вы хотите научиться чему-то в области фронтенд-разработки.

Официальный сайт: https://reactjs.org/

Угловой

Angular также является фреймворком для разработки внешнего интерфейса с открытым исходным кодом (на этот раз полным, а не только библиотекой) с лицензией MIT. Он был выпущен в 2016 году и в основном разработан Google. Это эволюция устаревшего AngularJS, и в настоящее время он находится во второй версии (Angular2).

AngularJS был написан на Javascript, тогда как Angular2 был написан на TypeScript. Вероятно, поэтому Angular так хорошо поддерживает TypeScript. Это также фреймворк с лучшей поддержкой Bootstrap, поэтому вы можете сделать свою страницу более отзывчивой.

Проекты Angular немного более структурированы, чем проекты React. На самом деле вам нужно несколько элементов, таких как модели, которые должны отображаться на странице. В отличие от React, он может создавать больше страниц и обрабатывать их. Это делает его немного тяжелее с точки зрения необходимого пространства. Он менее компактен, чем React. Вот почему React лучше подходит для небольших проектов, а Angular — для крупных.

Согласно опросу Stack Overflow, это четвертый по популярности фреймворк с потрясающими 22,96%. Google считает, что этот язык в будущем сильно разрастется, поэтому постоянно его совершенствует. Это, безусловно, безопасный выбор в мире интерфейсных фреймворков.

Официальный сайт: https://angular.io/

Бэкенд

Node.js, Экспресс

Затем мы переключаемся на бэкенд. На самом деле, JavaScript тоже может это делать благодаря Node.js, системе выполнения, основанной на движке V8 Google Chrome. Но что это значит? Это означает, что инженеры Google взяли движок V8 Chrome, который является мозгом всего браузера, и позволили ему работать правильно. Затем они использовали его для создания своего рода виртуальной среды, в которой вы можете запускать свой код JavaScript вне браузера.

Фактически, благодаря Node.js вы можете запускать Javascript на своем компьютере. Он также широко используется для запуска JavaScript на серверах. Это позволило и помогло создать новые и более эффективные библиотеки и пакеты для всех различных целей языка.

Официальный сайт: https://nodejs.org/en/

Одним из таких фреймворков является Express, который считается стандартом для сервера NodeJs. Он используется для создания веб-приложений и API, которые можно использовать с другого веб-сайта для извлечения и хранения информации. Это, безусловно, наиболее часто используемый серверный фреймворк с оценкой 23,82% в опросе разработчиков Stack Overflow и третий в целом.

Он был выпущен в 2014 году TJ Holowaychuk, который сказал, что он был вдохновлен Sinatra (другое программное обеспечение, а не певец). Это означает, что это минимальная инфраструктура с мощными функциями, но особенно с огромным набором плагинов и дополнительных пакетов, которые могут расширить весь стек разработки в соответствии с потребностями разработчика. Таким образом, это легче, приятнее и менее утомительно, особенно для нового разработчика. Вот почему он имеет такой огромный успех.

Официальный сайт: https://expressjs.com/

Мобильная (кроссплатформенная) разработка

React Native

React Native — это фреймворк для мобильных приложений, разработанный Facebook в 2015 году. Чтобы он рос быстрее, они организовали хакатон, поэтому многие люди разрабатывали приложения именно на этом языке. Он имеет ту же основу, что и React, поэтому два названия так похожи. Он также очень похож на React в области разработки.

На самом деле он использует компонент must и single page. Он также позволяет использовать код из разных родных языков, таких как Java, Kotlin или Swift, для увеличения времени выполнения. На самом деле React Native работает медленнее, чем родные языки (React Native является кроссплатформенным, как следует из фразы «Учись один раз, пиши где угодно»). Несмотря на это, это широко используемая технология.

Фактически, в голосовом опросе Stack Overflow «Другая структура» он набрал 14,51%, опередив конкурента в кросс-платформенной разработке: Flutter. Теперь это, вероятно, наиболее часто используемая кроссплатформенная среда, которая также затмевает платформу Microsoft, Xamarin. Итак, если вы заинтересованы в разработке мобильного приложения, React Native — отличный выбор. Но если производительность является ядром этого приложения, рекомендуется родной язык, такой как Kotlin для Android и Swift для iOS.

Официальный сайт: https://reactnative.dev/

Машинное обучение

TensorFlow.js

Tensorflow.js — это JavaScript-расширение TensorFlow, платформы машинного обучения с открытым исходным кодом. Он предоставляет самые известные модели и алгоритмы наиболее эффективным из известных способов, поэтому вы можете реализовать свой проект наилучшим образом и с гораздо меньшим количеством кода. Он объединяет такие алгоритмы, как линейная регрессия, логистическая регрессия, дерево решений и т. д.

Это наиболее часто используемая платформа машинного обучения с оценкой 16,53% в опросе разработчиков Stack Overflow. Многие разработчики используют TensorFlow.js для своих проектов. Несмотря на это, JavaScript сам по себе не лучший язык для обработки большого набора данных, поэтому есть языки, которые чаще используются для этого варианта использования. Самый известный из них, очевидно, Python. (Если интересно, вот ссылка на статью, объясняющую разницу между этими двумя языками: https://medium.com/@mpossamaim/python-vs-javascript-e8590d346c3b )

Официальный сайт: https://www.tensorflow.org/js

Разработка игр

Фазер

Phaser — это двухмерный игровой движок на основе JavaScript для разработки игр для настольных компьютеров и мобильных устройств. Он бесплатный и был разработан на основе Photon Storm. Вероятно, это самый используемый и известный игровой движок JavaScript. Несмотря на это, он почти неизвестен. Почему? Потому что JavaScript не является оптимальным языком для разработки игр. Лучшими являются C#, C++ или Java. Это очень быстрые языки программирования, которые действительно хорошо поддерживают ООП, что почти необходимо в мире разработки игр. Вот почему JavaScript не так часто используется для разработки игр, только для небольших игр, которые могут быть созданы новичками. Для профессионального использования он не идеален.

Официальный сайт: https://phaser.io/

Заключение

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

В любом случае, этой статьей я хотел показать всем, что вы можете полагаться только на этот язык, но это не тот случай, если вы планируете стать инженером-программистом.

Надеюсь, вам понравилось. Если вы это сделали, подпишитесь на больше.

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.