Веб приложение (public)
Публичные данные имеют следующую файловую структуру:
|-- public/
| |-- css/ # Каскадные стили
| |-- fonts/ # Фонты
| |-- img/ # Изображения
| |-- js/ # Java Scripts
| |-- schemes/ # Схемы
| |-- .htaccess
| |-- favicon.ico
| `-- index.php # Вход в приложение
Входной точкой в приложение является файл - index.php
.
Основной набор Java Script библиотек, сервисов и фреймворков имеют следующую файловую структуру:
|-- public/
|-- js/ # Java Scripts
|-- app/
| |-- bb-todo/ # Компоненты реализующие тестовый пример `ToDo`
# на основе фреймворка `Backbone`
| |-- services/ # Сервисы: `Datepicker`, `FormValidation`, `MaskInput`, `Highlight`
| |-- app.js # `App` класс
| |-- lang.js # `Lang` класс
| `-- system.js # `System` класс
|
|-- lib/ # Библиотеки
`-- main.js # Инициализация Requirejs
Для работы приложения на стороне клиента основные ресурсы загружаются
с помощью макета app/Views/Layout/base.html.twig
.
Сюда входят следующие ресурсы:
- Bootstrap является самым популярным HTML, CSS, JS фреймворком для создания гибких, мобильных проектов в интернете.
- Font Awesome дает вам масштабируемые векторные иконки, которые мгновенно могут быть настроены - по размеру, цвету и всему, что может быть сделано с помощью CSS.
- Google fonts Фонты, с помощью которых можно отображать текст на вашем сайте.
- jQuery - библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX.
Загрузчик (main.js)
Загрузка клиентской части приложения начинается с загрузки файла main.js
Локализация
На клиентской стороне для обеспечении локализации используется класс Lang
Сервисы
Сервисы для клиентского приложения, расширяют возможности создания пользовательского интерфейса.
Backbone
Если вы создаете сложное одностраничное приложение, то можно использовать известный JavaScript фреймворк Backbone.