Скачать фреймворк
актуальная версия: 0.1.1 Alpha
Архив версий

Фреймворк распространяется в соответствии с лицензией MIT.

Системные требования: PHP 5.4 и более новые версии, MySQL 5.6 и выше или MariaDB 10 и выше, Linux, Nginx/Apache.

Что такое фреймворк?

Фреймворк — это сконцентрированный опыт разработчиков (программистов), проявленный в виде множества наработанных скриптов, функций, классов, методов, шаблонов, алгоритмов, подсистем, документаций и т.п.

Сайт или веб-приложение обычно состоит из двух логических частей:

  • серверная часть (back-end)
  • клиентская часть (front-end)

Серверная часть находится на физическом/виртуальном хостинге в виде исполняемой программы и серверных скриптов, взаимодействует с диском сервера (хостинга), базой данных, работает с сетевым окружением. Серверная часть принимает, обрабатывает и хранит данные от пользователя (клиента). Серверная часть отдаёт данные пользователю (клиенту). Такие процессы явным образом не видны пользователю (клиенту).

Говоря бытовым языком:

  • Cерверная часть (back-end) - это то, что под капотом автомобиля, то есть то, что не видно, пока не заглянешь туда и не начнёшь с этим разбираться.
  • Клиентская часть (front-end) - это интерфейс, то есть корпус и салон автомобиля, приборная панель, руль, педали, лобовое окно, магнитола. Клиентская часть - это всё то, что пользователь наблюдает в окне своего браузера, тексты, картинки, аудио и видео материалы, поля ввода, кнопочки, формы для заполнения данных, окна. За отрисовку интерфейса отвечают клиентские (браузерные) скрипты и технологии: HTML, CSS, JavaScript, Flash.

В связи с таким естественным логическим разделением, также разделяются фреймворки и специалисты. Нередко можно увидеть название вакансий и резюме "В компанию такую-то требуется Front-end разработчик.", "Требуется Back-End программист" или "Ищу работу Full-stack разработчиком".

BlueWhale является back-end и front-end фреймворком.

Ниже приведены подсистемы, которые имеются почти в любом back-end фреймворке в том или ином виде, в большей или меньшей степени функциональности.

Примечание: Перечисленные ниже подсистемы имеются во фреймворке BlueWhale. Некоторые в минимальном виде.

В списке лишь технические подсистемы, а существуют ещё подсистемы для решения бизнес-задач, так называемая бизнес-логика.

Составные части back-end фреймворков

  • Подсистема работы с базой данных. Безопасное выполнение запросов, защита от SQL-injection.
  • Подсистема кэширования данных.
  • Механизм сессий и разделения на пользователей.
  • Механизм оптимизации загрузки страниц: объединение и сжатие CSS и JavaScript.
  • Подсистема профайлинга и отладки.
  • Подсистема мультиязычности/локализации/интернационализации (i18n).
  • Подсистема многосайтовости, разделение конфигураций.
  • Модульность.
  • Подсистема шаблонизации.
  • Подсистема построение меню.
  • Работа с древовидными данными, вложенные множества (Nested Sets).
  • Подсистема роутинга, поддержка ЧПА (Человеко-Понятые Адреса).
  • Организация кода и файлов под MVC-модель.
  • Формирование пользовательских форм и элементов управления (кнопочки, поля ввода, раскрывающиеся списки, слайдеры и т.п.).
  • Обработка внешних данных, валидация, обработка форм.
  • JavaScript API.
  • Функции безопасности, для предотвращения XSS, CSRF и т.п.

 

Чем удобнее реализованы подсистемы, чем понятнее и приятнее (для программиста) выполнена архитектура фреймворка, тем выше эффективность работы исполнителя (программиста) над проектом.

актуальная версия: 0.1.1 Alpha

Фреймворк распространяется в соответствии с лицензией MIT.

Системные требования: PHP 5.4 и более новые версии, MySQL 5.6 и выше или MariaDB 10 и выше, Linux, Nginx/Apache.