Привет, ребята. Это всего лишь краткое введение в то, что произойдет в ближайшие пару месяцев. Я попытаюсь настроить базовую структуру приложения, используя Angular 2 и Symfony.

Итак, вы можете спросить себя: не являются ли Angular 2 и Symfony фреймворками приложений? Да, они. Но я считаю, что оба фреймворка имеют сильные стороны, которые можно и нужно использовать, используя их вместе.

Итак, в чем основная сила Angular 2? Проще говоря: Angular 2 — это самая модульная платформа приложений Javascript, доступная в настоящее время. Зачем использовать инфраструктуру приложений Javascript для рендеринга вашей страницы вместо рендеринга вашей страницы с помощью механизмов шаблонов на стороне сервера, таких как TWIG? Приложения Javascript обеспечивают гораздо более богатый пользовательский опыт, чем приложения, отображаемые на стороне сервера. Вы можете видеть это со всеми приложениями javascript, такими как Facebook, почти со всеми приложениями Google, а также со многими приложениями AngularJS и React, созданными такими разработчиками, как вы и я. Почему модульность так важна? Это позволяет вам легко повторно использовать ваш код. И как только вы сможете повторно использовать свой код, гораздо больше смысла тратить время и ресурсы на то, чтобы сделать этот код чистым, тестируемым и хорошо документированным. Angular 2 выводит концепцию модульности на новый уровень. Практически весь Angular 2 живет в классах, сервисах, компонентах и ​​модулях. Angular 2 побуждает вас мыслить веб-компонентами и хранить все ресурсы (например, SASS и файлы изображений), а также зависимости компонента (например, классы и службы) рядом друг с другом. Я твердо верю, что такие фреймворки, как Angular 2, захватят мир, что веб-страницы, отображаемые на стороне сервера, скоро будут считаться скучными, а типы веб-страниц, которые мы увидим через пару лет, не будут напоминать веб, который мы видим сегодня.

Наконец, в чем основная сила Symfony? Что ж, Smyfony — самая модульная среда PHP-приложений. Я уже подчеркивал важность модульности, но почему PHP? Большинство приложений Angular и React используют NodeJS на стороне сервера. И хотя NodeJS настолько великолепен во многих отношениях, распространение приложений NodeJS не так просто, как распространение приложений PHP. Приложения PHP могут работать практически на любом сервере. Неважно, корневой это, управляемый или общий сервер. Все, что нужно пользователю для установки приложения PHP, — это FTP-клиент и учетные данные базы данных, предоставленные его провайдером. Вот и все. Ни установки пакетов, ни скриптов обновления, ни задач сборки, ничего.

Итак, идея состоит в том, чтобы создать приложение Angular 2, которое использует Symfony на стороне сервера, имеет базовый бэкенд (где администраторы могут управлять своими пользователями), может быть легко протестировано и упаковано разработчиком и легко установлено людьми, которые хотите использовать приложение.

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

С наилучшими пожеланиями,

Алекс