Цель каждой структуры одинакова: создание надежного приложения. Поэтому вам будет необходимо выяснить, хотите ли вы, например, более объектно-ориентированный или более функциональный подход при создании приложений.

После того, как вы приобрели инструментарий и экосистему JavaScript, и определили, какие части вам больше всего нравятся, выберите структуру, которая подходит по вашему выбору.

Вам также придется решить, какой контроль вы хотите по архитектуре вашего приложения. Если вы хотите самостоятельно принять большинство решений по архитектуре, вам может быть больше интересно объединить разные библиотеки, что более совместимо с тем, как работает React. Но если вы предпочитаете принимать большинство решений, сделанных для вас, и вы можете отказаться от некоторой гибкости, то, возможно, Angular или Ember станут лучшим выбором, поскольку оба они предоставляют более упрямые способы написания вашего приложения прямо из коробка.

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

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

И это то, что мы рекомендуем: хорошо изучите JavaScript и его современную экосистему. Изучите Node.js, даже для вашей клиентской разработки, поскольку это принесет много хорошего инструментария, чтобы помочь связать ваш код, запустить линтеры, чтобы избежать распространенных синтаксических ошибок, выполнять модульные тесты и многое другое. После того, как вы приняли Node.js, обязательно принесите все свои зависимости через NPM, включая ваши зависимости CSS, такие как Font Awesome, Twitter Bootstrap и т.д. Изучите ES2015 (также известный как ES6) и все его новейшие функции через Babel, который преобразует код ES6 обратно в код ES5 JavaScript, который браузеры могут понять, так как они не были полностью обновлены, чтобы поддерживать новейшие функции JavaScript. Кроме того, если вы являетесь поклонником строго типизированных языков, то обязательно посмотрите в Flow и / или TypeScript.