(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(88086931, "init", { defer: true, clickmap:true, trackLinks:true, accurateTrackBounce:true }); ym(88086931, 'hit', window.location.href);

Что такое JavaScript?

Если бы не он – интерактивных веб-страниц не существовало бы как явления! Хотя он приобрел известность, как основной и главный язык frontend-разработки, сейчас его возможности намного шире – начиная от backend-частей, заканчивая полноценными приложениями SPA. На нем можно даже разрабатывать даже компьютерные игры! Сегодня мы в блоге ГК Selecty поговорим об одном из самых популярных языков программирования – JavaScript.

Интернет будущего: краткий экскурс в историю

Интернет прошлого – полностью статичный. Интерфейсы когда-то состояли исключительно из текстов, ссылок и, возможно, иллюстраций, а верстали его с помощью языков разметки – HTML и CSS. В какой-то момент основатель Netscape Communications решил, что различны

Интернет прошлого – полностью статичный. Интерфейсы когда-то состояли исключительно из текстов, ссылок и, возможно, иллюстраций, а верстали его с помощью языков разметки – HTML и CSS. В какой-то момент основатель Netscape Communications решил, что различные взаимодействия с пользователем обязаны стать частью интернета будущего! Но для этого требовался относительно простой скриптовый язык, такой же легкий в освоении как HTML, а также ориентированный на дизайнеров и людей, далеких от программирования. Как известно, спрос рождает предложение – так появился JavaScript, который был создан примерно за 10 дней! А вместе с ним кнопки, формы, поля ввода и многое другое.

Первое его название – Mocha, которое почти сразу же трансформировалось в LiveScript. Через какое-то время оно изменилось в уже привычное и знакомое нам JavaScript – это было выгодно с маркетинговой точки зрения для продвижения молодого языка (но об этом дальше). JS можно было использовать в различных браузерах, но требовались открытые стандарты этого языка. Компании Netscape и Microsoft, объединившись, создали стандарт ECMAScript, который улучшается с каждым годом.

А что такое (фиксики) JavaScript?

JS – это объектно-ориентированный язык программирования, поэтому все что на нем написано представлено в виде объектов.

Какие еще особенности есть у JavaScript?

Динамическая типизация. Тип данные определяет только в момент, когда переменной или cons присваивают значение.

Гибкая работа с функциями. JS предполагает широкую работу с функциями – кроме стандартного выполнения, можно еще возвращать функции из функций, передавать их в качестве параметров другим функциям, а также присваивать функции значения переменных.

Поддержка всеми современными браузерами. (Да это просто праздник какой-то!)

Развитие JavaScript

2001 год - JSON

У JS появился формат представления данных (JavaScript Object Notation). Благодаря своей простоте формат быстро набрал популярность.

2005 год – асинхронный сдвиг

Новая тенденция поддержки фоновых запросов, позволяющих обновлять содержимое веб-страниц без их перезагрузки, привела к разработке AJAX (Asynchronous Javascript and XML).

2010 год – выпуск Express.js

Фреймворк Express.js – веб-фреймворк с минимальными необходимыми возможностями (маршрутизация, ПО промежуточного слоя, вспомогательные HTTP-механизмы) и свободой подхода к разработке веб-сервера.

2013 год – React-ивный инструмент

Была представлена новая библиотека – React – направленная на разработку интерфейсов. Сейчас она является одним из самых популярных инструментов веб-разработки.

2015 – Vue.js

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

JavaScript – это Java? Развенчиваем мифы

Java это такой же Javascript, как ham (ветчина) и hamster (хомяк). Об их отличиях можно сказать коротко – это просто разные языки. Работают они тоже по-разному. JavaScript – это язык скриптов или небольших программ, которые отвечают за определенное действие. Java же намного сложнее и тяжелее – его невозможно использовать в браузере. Зона его применения – серверные приложения, игры, банковские системы и программы для Big Data. Следовательно, сферы применения у языков сильно отличаются. Но как получились настолько созвучные имена?

Когда JavaScript появился, Java был очень популярным языком в среде программистов. И тогда компания Netscape решила “ухватить” кусочек славы, создав ассоциацию между молодым языком и известным гигантом.

И для полного понимания – составили таблицу отличий Java от JavaScript:

Какие еще мифы про JavaScript существуют?

JavaScript игрушечный язык

Схожие названия породили еще один миф – вокруг языка до сих пор витает орел “игрушечности”. «Script» в названии языка создает обманчивое впечатление, что это урезанная версия Java. Это не так: язык не только не копирует функционал Java, но и имеет собственные «фичи», влияющие на другие языки.

JavaScript полон багов и недоработок

Такие проблемы уже давно в прошлом. Поставщики браузеров придерживаются единого стандарта ECMAScript, и проблемы, связанные именно с JavaScript, встречаются редко.

JavaScript не объектно-ориентированный язык

Путаница возникает, потому что Javascript не использует привычные способы организации объектов. Отсутствие ключевого слово «class» вводит в заблуждение, будто язык – функциональный, но это не так.

JavaScript есть только в браузерах

Большинство людей используют Javascript в качестве языка встроенного в браузер, но его можно найти и в других местах. Хотя JavaScript пока и правда не имеет полноценной серверной реализации.

Главные фреймворки для JavaScript

Фреймворки – необходимый элемент современной веб-разработки. Они упрощают жизнь любого разработчика и позволяют не кодить каждую повторяющуюся функцию с нуля, что влияет на качество конечного продукта. Какие фреймворки JavaScript самые популярные на сегодняшний день? Мы составили собственный топ:

React JS

Лидер нашего топа! Используют его чаще всего для интерфейсов, с ним они получаются почти идеальными. А из-за "дружбы" с SEO его полюбили разработчики сайтов.

Из минусов – в нем нет комплектности, поэтому, параллельно приходится использовать и другие фреймворки.

Angular

Главное отличие фреймворка - возможность передавать информацию с сервера прямо в браузер. А чистота итогового кода вообще сделала его лучшим в 2022 году!

Из минусов – более сложная структура и процедура изучения, что компенсируется большим количеством возможностей.

Vue JS

Второй по востребованности фреймворк. Он прост в изучении, при этом подходит как для сайтов, так и ПО. А еще с его помощью можно создавать SPA. Достоинство Vue - возможность просто и быстро исправлять ошибки, а еще в него встроен инструмент для работы с анимациями.

Из минусов – языковой барьер и отсутствие основных плагинов.

Ember JS

Популярный фреймворк с открытым кодом. Он известен среди разработчиков интерфейсов всех видов – мобильных, настолько и в веб. Еще он может похвастаться количеством дополнений, которых уже больше 1500, а также бесперебойной поддержкой URL адресов и минимальным размером DOM.

Из минусов – проблемы в изучении из-за сложной структуры и низкая скорость, которая не подходит для “горящих” проектов.

Jest

Этот фреймворк - среда для тестирования кода на JS. Его сила - в простоте. А еще он интегрируется с Babel, TypeScript, Node, React, Angular, Vue и не только.

Фреймворк позволяет писать тесты с приемлемым, знакомым и функциональным API для достижения желаемых результатов.

JavaScript уже не только для фронтенда? Встречайте, Node.JS

Node – это серверная платформа на движке V8 для работы с JS. С ее помощью можно написать серверный код для веб-приложений и динамических страниц. По сути, это приложение на C++, которое получает на входе код JavaScript и выполняет его. JS-код в среде Node может быть быстрее чем аналогичный код в Ruby или Phyton. Однако, на практике разработка на чистом Node не ведется.

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

У Node есть свои фреймворки. Например, Express. Он работает внутри среды Node и имеет, например, готовые функции обработки HTTP запросов, причем для каждого HTTP метода имеется своя функция, что особенно удобно при создании REST API. И это далеко не единственная причина использования Express.

И даже десктопные приложения умеет: все об Electron

Electron – это фреймворк для создания кроссплатформенных настольных приложений от GitHub. Он включает в себя три базовые веб-технологиии – JavaScript, HTML и CSS. В основе Electrone - Chromium и Node.js, объединенные в одну среду для работы приложений. Это позволяет веб-разработчикам попробовать свои силы в создании десктопных приложений без изучения новых технологий.

Electron - серьезный проект с помощью которого создали, например, Discord, Figma или Trello. Но это еще не все – на его "счету" более 700 приложений!

Архитектура фреймворка включает в себя три основных компонента:

  • Libchromiumcontent — это библиотека рендеринга Chromium, которая является основой с открытым исходным кодом для браузера Google
  • ChromeNode.JS — это среда выполнения JavaScript с открытым исходным кодомJavaScript-движок
  • V8 — движок JavaScript с открытым исходным кодом, разработанным Google, написанным на C++ и JavaScript

Когда использовать, а когда нет?

Разработка на Electron имеет наибольший смысл при создании многоплатформенных настольных приложений, которым не нужно придерживаться строгих требований к использованию памяти и подчеркивать дизайн UX и UI. Однако, сейчас считается, что фреймворк не подходит для создания простых приложений. Это связано с тем, что Node.js может потреблять значительный объем памяти из-за своих особенностей.

Какие инструменты нужны

  • Electron — устанавливает готовые двоичные файлы Electron для использования в командной строке с помощью npm.
  • Электронная компиляция — использует ES2015, CoffeeScript, LESS, SCSS в вашем приложении без этапа предварительной компиляции.
  • Electron-packager — упаковывает файлы и распространяет их в вашем приложении.
  • Devtron — это официальное расширение DevTools.
  • Spectron — тестирует приложения Electron с помощью ChromeDriver.

Есть ли альтернативы?

NW.js – дает разработчикам свободу выбора фреймворков и инструментов, позволяет вызывать модули Node.js непосредственно из DOM.

Meteor – не создает приложения сам по себе, требует его нужно использовать с Cordova или подобными инструментами.

Proton Native – использует тот же синтаксис, что и React Native и работает с Redux и совместим с Node.js.

А что в итоге? Стоит ли учить?

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

А если вы уже является специалистом по JavaScript – специалисты по рекрутингу ГК Selecty будут рады предложить вам отличные варианты новой работы. Мы сотрудничаем с самыми сильными компаниями на рынке из рейтинга 500 РБК!

0
Комментарии
-3 комментариев
Раскрывать всегда