Редактор кода — подручный инструмент каждого программиста. И каждый подбирает под себя: кто-то ценит функциональность, кто-то мобильность, для кого-то главное — дизайн и удобство. Кому-то даже нравится писать код в Notepad, но это всё равно, что пытаться построить дом при помощи молотка.
JavaScript — мощный и капризный язык. С одной стороны, множество фреймворков и библиотек, с другой — не самый простой синтаксис и опасности, связанные с «динамикой». Поэтому для работы с ним важно подобрать редактор. Правильный выбор обеспечит вам чистоту кода, высокую скорость разработки, минимум ошибок и удовольствие от работы.
На выбор одного из сотен существующих редакторов потратите уйму времени, поэтому мы проделали часть работы за вас. Вот 5 лучших.
WebStorm
WebStorm от JetBrains прекрасен в обоих своих проявлениях: как IDE он поддерживает работу с системами контроля версий, позволяет удалённо развернуть код, как редактор — стандартные удобства, вроде подсветки синтаксиса, автодополнений, навигации.
Как выучить JavaScript? Самый аху#### способ!
- LiveEdit — просмотр внесённых в код изменений без необходимости его сохранять;
- взаимодействие с фреймворками, например React, Angular, Meteor;
- больше сотни встроенных тестов для обнаружения ошибок;
- интегрирование с Mocha, Protractor, Jest, Karma для юнит-тестов;
- полномасштабный дебаггер для отладки кода на серверной и клиентской сторонах;
- навигация для одновременной работы с несколькими файлами;
- автодополнение кода, подсветка синтаксиса.
- стоит 129 $ за первый год работы;
- для начинающих кодеров функционал избыточен.
Visual Studio Code
Ответвление IDE Visual Studio, направленное на работу с кодом. Он прост для освоения, удобен в использовании, и при этом функционален.
- контекстное автодополнение, как синтаксиса, так и используемых переменных, модулей, функций и т. д.;
- дебаггер с точками останова, стеком вызовов, интерактивной консолью;
- поддержка сниппетов и шаблонов;
- интеграция с Git;
- удобный и простой интерфейс;
- бесплатный редактор.
Sublime Text
Удобный и проверенный временем кроссплатформенный редактор, с настраиваемым интерфейсом и возможностью совершать тривиальные действия при помощи горячих клавиш.
- горячие клавиши;
- навигация по коду в виде мини-карты;
- возможность изменить визуальную тему;
- поддержка сниппетов;
- подсветка, автодополнение переменных и синтаксиса;
- множественная правка благодаря использованию указателей;
- поддержка систем сборки;
- проверка синтаксиса прямо во время ввода;
- куча плагинов;
- автосохранение.
- полная версия стоит 70 $;
- отсутствие анализатора кода для расстановки ссылок.
Atom Editor
Я не знал, что HTML так может…
Появившийся в 2015 году редактор кода от Git, копирующий дизайн Sublime Text и обёрнутый в Chromium.
- более 50 открытых модулей;
- удобный и приятный интерфейс;
- бесплатный;
- автодополнение и подсветка кода;
- менеджер пакетов, которых уже более 3,5 тысяч;
- гибкие настройки редактора, подключаемых пакетов, тем интерфейса;
- редактирование и навигация при помощи горячих клавиш.
- невысокая производительность;
- пустая комплектация «из коробки».
Brackets
В 2014 году Brackets отпугнул программистов багами и недоработками, но теперь постепенно возвращает доверие новым качественным функционалом.
- богатая комплектация «из коробки»;
- режим Live Preview — предварительный просмотр правок в браузере в режиме реального времени;
- менеджер пакетов;
- показ в коде используемых изображений и цветов;
- автодополнение и подсветка синтаксиса;
- анализатор кода;
- бесплатный.
- строгая ориентация на веб и HTML+CSS+JavaScript;
- медленное развитие;
- низкое быстродействие из-за функций предпросмотра.
Источник: gb.ru
Лучшие редакторы кода и IDE для JavaScript-разработчиков
Сокращенный перевод статьи «The Most Important JavaScript Code Editors».
JavaScript-разработчикам доступен широкий ассортимент редакторов кода, обеспечивающих более эффективную и приятную работу. При этом наиболее примечательный функционал, в принципе, есть во всех самых популярных редакторах (к такому функционалу можно отнести подсветку и автодополнение кода, интеграцию git, поддержку плагинов). И, тем не менее, у большинства разработчиков есть свой любимый редактор, отличающийся от других какими-то более мелкими, но важными деталями.
Когда вы освоитесь в выбранном редакторе и научитесь пользоваться им наиболее эффективно, вам станет трудно сменить его на другой. Для такого перехода приходится, например, заново учить сочетания клавиш, а это не слишком приятно. И даже если смена редактора в долгосрочной перспективе будет способствовать большей эффективности, все равно это непросто. Поэтому стоит сразу уделить немного времени и подойти к вопросу выбора своего первого редактора серьезно. Вы должны быть уверены, что это лучшее ПО для удовлетворения ваших нужд.
Давайте рассмотрим самые популярные варианты редакторов кода для JavaScript-разработчиков.
Visual Studio Code
VSCode это бесплатный редактор кода от Microsoft. Он имеет открытый исходный код и легковесен при установке. VSCode отлично подходит для начинающих JavaScript-разработчиков, поскольку имеет хороший набор функционала «из коробки», без необходимости устанавливать дополнительные плагины. Но этот редактор популярен не только среди начинающих программистов. Он может стать идеальным выбором для более продвинутых пользователей, которым нужно просто быстро приступить к работе, не тратя лишнее время на настройки.
Уникальная особенность VSCode — возможность использовать его в браузере. Таким образом вы можете пользоваться редактором на планшете и при этом иметь такую же среду, к какой привыкли в десктопной версии. Чтобы этот функционал заработал, нужно еще настроить code-server в сети, к которой вы имеете доступ, но возиться с настройками придется только единожды, и оно того стоит.
Git здесь встроен в редактор, но интеграция не такая надежная, как в некоторых других редакторах. Например, пользователи WebStorm предпочитают применять push/merge, а не то, что предлагает VSCode.
При необходимости вы можете установить множество дополнительных фич в качестве расширений. Но не все расширения можно считать фичами. Там есть и сниппеты кода, и разные дополнения, так что выбор полезных вещей занимает некоторое время.
Если у вас возникнет какая-нибудь проблема с использованием VSCode — не беда: у этого редактора огромное сообщество пользователей, кто-нибудь из них наверняка сталкивался с чем-то подобным и публиковал решение проблемы.
Если вы не готовы раскошелиться на полномасштабную IDE и не слишком хорошо знаете, какие плагины и функции вам могут понадобиться, будет логичным решением выбрать в качестве отправной точки VSCode.
Atom
Еще один бесплатный редактор кода, Atom, был разработан GitHub. Это, собственно, специализированная версия браузера chromium, конвертированная в редактор кода. Под капотом он для поддержки плагинов использует Node.js.
Редактор Atom «из коробки» не так уж силен, но вам доступно огромное количество плагинов, благодаря которым можно получить буквально любой желаемый функционал. Создавая для себя комфортную среду разработки, вы неизбежно соберете довольно большой личный набор плагинов. Что касается работы с JavaScript, стоит, для начала, обратить внимание на следующие:
- atom-typescript,
- file-icons — для расцвечивания и назначения значков для разных типов файлов,
- atom-beautify,
- linter.
Совет: включите пакет автосохранения, чтобы редактор сохранял написанный код, когда окно редактора оказывается не в фокусе. По умолчанию эта функция выключена.
При помощи плагина teletype над одним файлом могут работать несколько человек одновременно, причем у каждого будет несколько курсоров на экране. Этот функционал можно использовать для наставничества, парного программирования или просто совместной работы. Это одна из тех особенностей, которые выделяют Atom на общем фоне.
Интеграция git в Atom реализована хорошо (было бы странно ожидать иного от ПО, разработанного GitHub). Также вам может пригодиться плагин git-plus, позволяющий запускать команды при помощи сокращений клавиш, без использования терминала git.
Atom настолько настраиваемый, что вы можете даже редактировать файл .less, чтобы подобрать наиболее приятные для себя цвета. Это существенный плюс для тех, кто любит настраивать каждую деталь своего окружения.
Скрипт .coffe, запускаемый при загрузке, позволяет быстро изменить поведение редактора.
Также вы можете писать собственные плагины на JavaScript — это важно на случай, если вам понадобится что-то совсем особенное.
Работа по написанию кода в редакторе Atom проходит достаточно плавно. Этот опыт можно сделать еще лучше при помощи плагинов, например, minimap. Но чтобы установить и настроить весь функционал таким образом, как нужно именно вам, может уйти некоторое время. Впрочем, у такого подхода есть и преимущество: в Atom не будет ненужных вам вещей, которые замедляли бы загрузку и работу редактора.
Что касается замедления — вы можете ощущать некоторую медлительность редактора при загрузке больших файлов или при переключении между вкладками.
Сначала мне нравилась идея редактирования CSS-стилей редактора или по крайней мере наличия такой возможности на случай, если я когда-то захочу создавать собственные темы. Звучит круто, но на практике создание новых тем это нетривиальный процесс. К счастью, есть много готовых вариантов на выбор. Их можно просто скачать и установить.
Atom это добротный редактор, он будет отличным выбором для многих разработчиков.
Sublime Text
Sublime Text это платный редактор с бесплатным пробным периодом. В нем нет большого количества предустановленных плагинов, но вообще эти плагины есть, во всем их разнообразии, для всяких нужд. Некоторые пакеты, такие как SideBarEnhancements (позволяющий переименовывать, перемещать, копировать и вставлять файлы и папки), пожалуй, должны быть встроены в редактор, но вы можете их скачать и установить.
Как и в случае с Atom, на первоначальную настройку этого редактора может понадобиться какое-то время. Но когда все настроено, все работает без сучка, без задоринки.
Здесь также есть функция сохранения при потере фокуса.
Sublime Text это легковесный редактор, благодаря чему он очень быстр и может работать с большими проектами и объемными файлами.
Выделение переменной распространяется на все экземпляры этой переменной, а ее переименование означает переименование всех переменных с этим именем. Потребность в таком функционале возникает довольно часто, так что его наличие очень улучшает опыт использования редактора.
Sublime Text во многом очень похож на Atom, но имеет преимущество по части общей производительности и отзывчивости, а это прекрасно.
VIM
Vim это бесплатный и очень настраиваемый редактор кода. Это был первый текстовый редактор, разработанный для Unix, и назывался он vi. Позже его функционал был значительно расширен — так появился Vim. Этот редактор доступен в большинстве дистрибутивов Linux.
Vim имеет функции поиска и подсветки синтаксиса, а еще он суперлегкий, так что может хорошо справляться даже с очень большими файлами. Только вот на настройку и подготовку к работе потребуется некоторое время.
Этот редактор имеет и графический интерфейс, но не по умолчанию. Даже включение поддержки мыши требует определенных манипуляций. По умолчанию Vim управляется при помощи клавиатуры и сочетаний клавиш.
Vim может быть отличным редактором, если вы настроите его под свои нужды, а также хорошо изучите его вдоль и поперек. Но если время поджимает, это, вероятно, не лучший выбор.
WebStorm
WebStorm выделяется из общего списка, потому что это полнофункциональная интегрированная среда разработки для JavaScript. Разработчик этой IDE — JetBrains.
Эта среда отлично подходит для различных платформ, таких как React, Angular, Vue.js и т. д. С ее помощью можно заниматься отладкой node-скриптов и запускать тесты на встроенном сервере. Также можно запускать и отлаживать npm-скрипты (при помощи древовидного интерфейса). И для всего этого не нужны никакие плагины.
Тем не менее, плагины доступны для некоторых более специфических функций, не встроенных в саму IDE. Но в большинстве случаев все, что вам может понадобиться, в IDE уже есть. Самое приятное в этом то, что вы можете открыть для себя новые, не известные вам прежде функции, и оценить, насколько здорово, что они есть.
В WebStorm по умолчанию настроено автосохранение файлов по ходу работы над ними. Когда после этой IDE переходишь на какой-нибудь другой редактор без подобного функционала, начинаешь остро ощущать, насколько его не хватает. Впрочем, это не уникальная особенность WebStorm, просто здесь реализация немного приятнее.
Некоторые люди не всегда доверяют отмене действий при помощи ctrl-z, но в WebStorm есть встроенная система контроля версий, делающая коммит при каждом сохранении файла. Она чисто внутренняя, совершенно отделенная от ваших git-коммитов. Файлы сохраняются как минимум в случаях, когда окно с кодом оказывается не в фокусе. Так что, если давненько не делали коммитов в git, а вам нужно вернуться и посмотреть предыдущее состояние после последнего коммита, вы можете сделать это без проблем.
К недостаткам WebStorm можно отнести то, что за нее придется платить. Кроме того, временами, при работе над очень большими проектами, он заметно съедает память. Но проект постоянно развивается и улучшается.
Если вы начинающий программист, изучающий JavaScript, и хотите для начала использовать уже полностью готовую к работе среду, очевидным выбором для вас будет VSCode. Он прост в использовании и имеет богатый встроенный функционал.
Более опытным разработчикам, точно знающим, что им нужно, могут подойти Sublime и Atom, поскольку они дают полный контроль над средой разработки. Вы можете установить дополнительно любой из тысяч пакетов, отбирая только те из них, которые вам действительно нужны. Благодаря этому увеличивается скорость загрузки и снижается потребление ресурсов.
Пользователи, предпочитающие при работе над проектами пользоваться только клавиатурой, могут отдать предпочтение Vim. С его помощью вы сэкономите время, которое обычно уходит на перемещение кисти руки от клавиатуры к мыши. Правда, потребуется дополнительное время, чтобы научиться обходиться без последней.
Наконец, если вы согласны оплатить подписку, а ваша техника позволяет не задумываться об использовании памяти или CPU, лучшим выбором для вас будет WebStorm. С ней вы получите очень удобную среду для разработки.
Источник: techrocks.ru
Лучшие инструменты для JavaScript-разработчика
Регулярно появляется какая-нибудь JS-библиотека, которую начинают шумно обсуждать на всевозможных форумах. Сначала постепенно нарастает энтузиазм, а затем сообщество быстро делится на противоборствующие лагери, по-разному относящиеся к новинке. Было бы просто невероятным подвигом рассмотреть все распространённые JS-фреймворки и библиотеки, поэтому хотим предложить вам список самых популярных и оказавших наибольшее влияние инструментов для фронтенд-разработки. А заодно дадим некоторые рекомендации по их использованию.
Но прежде чем перейти к делу, хотим уточнить:
- Не нужно ломать копий, если в этот список не попали какие-то из ваших любимых фреймворков или библиотек.
- Следите за обновлениями используемых вами инструментов. В последнее время начала активно внедряться кроссбраузерная и кроссаппаратная (cross-device) поддержка. Например, можно воспользоваться сканером, который подскажет, совместимы ли более старые версии с большинством устройств.
AngularJS
Это популярный фреймворк корпоративного уровня, используемый многими разработчиками для создания и обслуживания сложных веб-приложений. Пожалуй, правильнее будет охарактеризовать его как ОЧЕНЬ популярный. Angular используют такие компании, как Domino’s Pizza, Ryanair, iTunes Connect, PayPal Checkout и Google. Это фреймворк с открытым исходным кодом, поддерживаемый Google.
Angular позиционируется как «расширение HTML» для создания комплексных веб-приложений. Если вы знакомы с TypeScript, то вам может быть небезынтересно узнать, что Angular 2 написан именно на нём.
Angular — MVC-фреймворк. В нём реализован двусторонний дата-биндинг между моделями и представлениями (view). Такой подход позволяет автоматически обновляться с обеих сторон при любом изменении данных. В Angular можно создавать многократно используемые компоненты представлений (View Component).
А благодаря имеющейся в нём структуре сервисов (service framework) можно легко построить взаимодействие между бэкендом и фронтендом. Ну и, наконец, Angular — это чистый JavaScript.
Рекомендации по использованию: если вы создаёте сложное фронтенд-приложение и вам нужен единый модульный фреймворк, позволяющий решать любые задачи.
ReactJS
Один из самых популярных JS-проектов прошлого года. Не говорил о нём, наверное, только очень ленивый. Почти на каждой конференции можно было послушать выступление, посвящённое React и прочим библиотекам этого семейства (Flux, Redux).
React — JS-библиотека для создания пользовательских интерфейсов. Это проект с открытым исходным кодом, по большей части разработан в Facebook, при участии ряда крупных компаний. С точки зрения MVC-модели React относится к V, практически игнорируя все остальные аспекты архитектуры приложения. Он реализует уровень компонентов (component layer), облегчающий создание и комбинирование UI-элементов.
Отрисовка интерфейса оптимизируется благодаря абстрагированию DOM, что также позволяет отрисовывать React из Node.js. Кроме того, в React реализован односторонний реактивный поток данных, что делает инструмент куда более простым в понимании и освоении по сравнению с другими фреймворками.
Иногда React заменяет V в Ember и Angular.
Рекомендации по использованию: если вам нужен мощный фреймворк уровня представления (view layer), а остальные уровни приложения постольку поскольку. Либо можно использовать React как дополнение к Angular, Backbone или Ember. Наконец, React будет полезен при создании изоморфного веб-фреймворка.
Backbone
Этот фреймворк известен своей простотой и умещается в один JS-файл. Автором Backbone является Джереми Ашкенас, создавший также CoffeScript и Underscore.js. Фреймворк особенно любят использовать команды разработчиков, создающие веб-приложения с простой структурой, которым не нужны монстры вроде Angular и Ember.
Backbone является полноценным MVC-фреймворком с маршрутизацией. С помощью моделей реализованы привязка key-value и события для обработки изменения данных. Модели и коллекции могут взаимодействовать с RESTful API. В представлениях используется декларативная обработка событий, а маршрутизатор управляет состоянием с помощью URL. Достаточно лишь создать одностраничное приложение без избыточного функционала и сложности.
Рекомендации по использованию: это отличный GOTO-фреймворк для создания простых веб-приложений.
Ember
В этом достаточно популярном фреймворке упор делается на повышение производительности программиста. Одним из ключевых разработчиков Ember является Йехуда Кац (Yehuda Katz), принимавший активнейшее участие в создании Ruby on Rails и jQuery. Ember позиционируется как «фреймворк для создания амбициозных веб-приложений», который не будет попусту тратить ваше время. Он ведёт себя очень своевольно и многие вещи решает самостоятельно, ставя разработчика перед фактом.
Ember тоже относится к MVC-фреймворкам. В нём используется шаблонизация и встроенный view engine, который автоматически обновляет данные так же, как и Angular, Backbone и React. Ember поддерживает технологию веб-компонентов, позволяющую расширять HTML с помощью собственных тэгов (как и Angular). Также во фреймворк встроен движок маршрутизации и модели, умеющие работать с вашим RESTful API.
Рекомендации по использованию: если вам нужен фреймворк, который просто работает. Также Ember будет полезен тем, кто не нуждается в гибкости из-за ограниченного бюджета или жёсткого дедлайна.
jQuery
Библиотека jQuery не нуждается в представлении. Только благодаря ей кроссбраузерные сайты стали реальностью, а веб обрёл современный вид. jQuery стала одной из причин, по которой большинство основных браузеров начали поддерживать веб-стандарты. Миссией jQuery Foundation является «улучшение открытого веба, чтобы он был доступен для всех, благодаря разработке и поддержке ПО с открытым кодом, а также сотрудничество с сообществом разработчиков».
jQuery — наиболее используемая JS-библиотека в мире, упрощающая работу с DOM, обработку событий, анимацию и использование AJAX.
Рекомендации по использованию: эту библиотеку можно использовать всегда. За исключением случаев, когда вы предпочтёте более компактную версию вроде Zepto.
Underscore и lodash
Иногда стандартные возможности JavaScript не позволяют нам работать с полной отдачей. Всегда не хватает какой-нибудь вспомогательной функции, или функции, позволившей бы упростить код. Underscore и lodash — это JS-библиотеки, предлагающие свыше 100 вспомогательных функций и прочих «вкусностей» без необходимости делать monkey patching для встроенных JS-объектов. В частности, вам будут доступны такие вещи, как map, filter, invoke, reduce, template, throttle, bind, extend, pick, clone и многое другое.
Рекомендации по использованию Underscore: если вам нужен один единственный JS-файл, который немедленно облегчит вашу жизнь как программиста.
Рекомендации по использованию lodash: если вам нужна модульная и чуть более быстрая версия Underscore, с улучшенной поддержкой AMD и плагинов, созданных сообществом.
D3.js
Одним из стандартных требований для веб-приложений является визуализация данных и построение графиков. И в этой сфере стандартом де-факто является D3.js. Это один из самых популярных проектов на Github, он используется во множестве компаний. D3 лежит в основе кучи библиотек для построения диаграмм, графиков и прочих видов визуализации.
D3 позволяет брать данные из любых источников и преобразовать в DOM/SVG/CSS. Проект поддерживает современные веб-стандарты, поэтому не беспокойтесь о возможности столкнуться с какими-то проприетарными форматами наподобие Flash или Silverlight.
Рекомендации по использованию: для визуализации любого вида.
Babylon.js
Хотите сделать кроссбраузерную игру, целиком соответствующую современным веб-стандартам? Тогда присмотритесь к Babylon.js, трёхмерному движку на базе WebGL и JavaScript. Он позволяет создавать невероятные высококачественные игры с реалистичной физикой, звуком, системой частиц и прочими красотами.
Рекомендации по использованию: при создании любых игр и сложных 3D-сцен.
Three.js
Это довольно компактная 3D-библиотека, позволяющая рендерить трёхмерные сцены на HTML5 холсте (canvas), SVG и WebGL без использования полноценных игровых движков. Three.js довольно проста в использовании, на офсайте можете посмотреть всевозможные способы её применения.
Рекомендации по использованию: если вам нужна простая 3D-визуализация, которую можно вывести на холст.
Mocha и Chai
Долгое время тестирование JavaScript-кода было невероятно раздражающим занятием. Хотя то же самое можно сказать и про тестирование кода на любом другом языке. Но тестированием должен периодически заниматься каждый разработчик, хотя многие из нас недолюбливают это занятие и избегают его. Однако две библиотеки с поэтическими названиями Mocha и Chai могут помочь вам в преодолении неприязни к процессу тестирования.
Mocha — это JS-фреймворк, облегчающий тестирование асинхронного кода в node модуле или браузерном приложении. Тесты в Mocha имеют улучшенное качество трассировки исключений и могут прогоняться сериями.
Chai — TDD/BDD assertion библиотека, которая может использоваться совместно с Mocha и позволяет выражать тесты в простой читаемой форме.
Рекомендации по использованию: всегда! Тестируйте свой код и делайте мир немного лучше.
Karma
Раз уж в списке появились Mocha и Chai, то нужно включить сюда и прогонщика тестов, позволяющего проводить непрерывное интеграционное тестирование. Karma поможет вам автоматизировать работу тестов Mocha и Chai в разных браузерах.
Поскольку не все браузеры могут работать на любых платформах, то обратите внимание на пару бесплатных инструментов, которые облегчат вам процесс тестирования:
- Browser Screenshots
- Если вы работает под OS X и хотите протестировать Edge или IE, то можете воспользоваться этим инструментом.
PhantomJS
Было бы не слишком экономно запускать браузеры целиком во время прогона тестов, это приводит к излишнему расходу памяти и ресурсов процессора. PhantomJS позволяет запустить headless версию WebKit, движка, используемого в Safari, а ранее ещё и в Chrome (сегодня в нём используется Blink). Так что прямо из JavaScript API вы сможете прогнать тесты, наделать скриншотов, помониторить сеть и автоматизировать просмотр страниц.
Рекомендации по использованию: если вам нужно прогнать обширное количество тестов, операций со страницами и промониторить сетевые запросы.
Grunt и Gulp
В ходе подготовки выкатывания сайтов в продакшен нам обычно приходится выполнять такие задачи, как улучшение производительности с помощью минификации JavaScript и CSS, компиляцию CoffeeScript/TypeScript, модульное тестирование и т.д. Наверняка у вас уже есть под рукой пакет инструментов, которые готовят сайт к развёртыванию в продакшен. Но если нет, то можно порекомендовать Grunt или Gulp в качестве исполнителя задач (task runner). Для обоих написано несметное количество плагинов, позволяющих сделать с сайтом что угодно в процессе подготовки к развёртыванию.
Рекомендации по использованию Grunt: если вы предпочитаете писать конфигурационные файлы и вас не волнует, что исполнитель задач может генерировать промежуточные файлы.
Рекомендации по использованию Gulp: если вы предпочитаете писать код вместо конфигурирования, и были бы не против использовать Node.js-потоки для увеличения производительности.
Babel
JavaScript как язык быстро развивается. Например, прошлым летом был выпущен ECMAScript 2015, а многие из его основных возможностей уже реализованы в ряде браузеров. Если вас интересует вопрос совместимости с ECMAScript 2015, то можете изучить таблицу от kangax. Обратите внимание, что последние версии Edge, Chrome и Firefox почти полностью совместимы.
Но мы не живём в идеальном мире. Разработчикам приходится поддерживать старые версии браузеров, не поддерживающих самые современные и лучшие возможности JavaScript. А нам хотелось бы улучшить веб и наши кодовые базы. Это можно сделать с помощью Babel, JS-компилятора, преобразующего последние возможности SS-стандарта в ES5. Это поможет вам запускаться даже на очень старых браузерах наподобие IE 9. Для Babel написано несколько плагинов, облегчающих разработку с React, а также использование возможностей, не описанных спецификацией (например, ES7).
Рекомендации по использованию: если вы хотите использовать самые современные возможности JavaScript, но при этом необходимо сохранить поддержку старых браузеров.
- библиотеки
- фреймворки
- библиотека javascript
Источник: habr.com