От автора: прежде чем говорить про JavaScript фреймворки, давайте определимся, что я подразумеваю под словом «фреймворк», так как термин довольно размытый. Фреймворком я называю библиотеку, определяющую структуру всех аспектов и уровней приложения и облегчающая разработку. Уровни, в данном случае, это базы данных, модели, контроллеры, отображаемые элементы, представления, сети и т.д.
Фреймворки помогают решить большинство известных проблем, которые возникают при работе с приложениями. Они содержат готовые решения по дизайну, а также тщательно разработанные руководства; в этом плане они не должны вызывать никаких трудностей.
В хороших фреймворках заданы отлично продуманные параметры по умолчанию, они работают по принципу «конвенция превыше конфигурации». Одним из лидеров среди фреймворков является мой любимчик — Ruby on Rails. В сфере JavaScript таковыми являются Angular и Ember.
Теперь, когда мы все прояснили, я хотел бы ответить на вопрос, заданный в заголовке: Какие JavaScript фреймворки стоит освоить в 2018?
Мой ответ: Никакие.
Сейчас объясню, почему.
До тех пор, пока в работе от вас не требуется использование фреймворка, не нужно осваивать его только для того, чтобы освоить. Я имею в виду, не нужно учиться его использовать. Это знание очень быстро устареет.
Но узнать, по какому принципу работает фреймворк, однозначно стоит. Это очень ценное знание. Если вы изучаете фреймворки для того, чтобы найти хорошую работу, знание принципов его работы пригодится гораздо больше, чем знание, как его нужно использовать.
Учитесь использовать фреймворк только когда возникнет необходимость.
По моему мнению, чтобы стать востребованным разработчиком, нужно освоить более важные навыки:
Изучите все, что можно, о самом языке JavaScript: его сильные и слабые стороны, новые фичи. Научитесь создавать и применять различные структуры данных в JavaScript.
Изучите рабочую среду JavaScript, например, Node и браузеры, и насколько они однопоточные. Узнайте про их API и ограничения, про цикл событий, стек вызовов ОС. Убедитесь, что в теме средств разработки браузера вы чувствуете себя уверенно.
Научитесь передавать код от клиента на сервер и выполнять предзагрузку исходных данных. Научитесь минимизировать загрузку JavaScript и выполнять синтаксический анализ браузеров, а также загружать JavaScript по требованию.
Узнайте о преимуществах функционального программирования и используйте их. По возможности старайтесь объяснять, а не указывать.
Ознакомьтесь с маленькими библиотеками JavaScript, которые делают одну вещь и делают ее хорошо. Выбирайте библиотеки с наименьшим API и не заостряйте внимание на API, лучше сфокусируйтесь на том, на что способны эти библиотеки.
Научитесь создавать API с масштабируемыми данными (рассмотрите GraphQL).
Ознакомьтесь с работой CSS и научитесь минимизировать с его помощью JavaScript код приложений. Изучите новый Flexbox и Grid макеты. Узнайте больше об адаптивном дизайне UI.
Научитесь добавлять статические типы в JavaScript с помощью TypeScript (или Flow) и узнайте, где нужно сфокусироваться на типах, а где на тестировании.
Спасибо за ваше время.
Автор: Samer Buna
Источник: //medium.com/
Редакция: Команда webformyself.
Комментарии (1)