Найбільші вебсайти, побудовані на фреймворку Symfony2

Що спільного має урядова база даних Швейцарії, Vogue France та National Geographic Traveler Нідерланди? Всі вони працюють на Symfony2! У цій статті ми розповімо про найбільш навантажені вебсайти, які використовують цей високопродуктивний PHP фреймворк, та поділимось власним досвідом роботи з такими проектами.

По-перше, ми хочемо пояснити, чому вважаємо, що Symfony2 добре підходить для цього завдання.

Чому Symfony2 чудовий для великих вебсайтів?

Створювати великі вебсайти за допомогою Symfony2 легко, оскільки він має безліч корисних функцій:

  1. Composer — це менеджер залежностей, відповідальний за підтримку залежностей PHP компонентів. Він встановлює та оновлює бібліотеки, що використовуються в проекті.
  2. У Symfony2 все організовано за допомогою бандлів (структурованих наборів файлів), які легко керувати.
  3. Є можливість запускати консольні команди для автоматизації певних завдань.
  4. Веб-інструмент налагодження, який надає корисну інформацію про проблеми, виявлені на сторінках вебсайтів, що використовують Symfony2.

Хто використовує Symfony2?

Великі вебсайти, що використовують Symfony2, належать до різних категорій та галузей. Наприклад, BlaBlaCar — це сайт для пошуку попутників та спільного використання поїздок. Щоквартально його використовують понад 10 мільйонів людей. Symfony використовується в бекенді вебсайтів та застосунків, а також у бекофісі.

Сайт BlaBlaCar побудовано на Symfony2

Сервіс відео за запитом NatGeo Play також використовує Symfony2. Сайт дозволяє своїм користувачам дивитися обрані програми та документальні фільми, створені National Geographic, у браузері та на мобільних пристроях з iOS або Android.

Відеосайт NatGeo Play побудовано на Symfony2

Сервіс потокового музичного мовлення Spotify також покладається на Symfony2. У Spotify понад 75 мільйонів активних користувачів, з яких 20 мільйонів є платними підписниками. У середньому сервіс обробляє 600 тисяч запитів на секунду, при цьому понад половини трафіку надходить з мобільних пристроїв.

Коли обирали фреймворк для початку заміни застарілого коду в 2012 році, компанія розглядала кілька можливих варіантів, наприклад:

  1. CodeIgniter
  2. Zend Framework 2
  3. Symfony 2
  4. Kohana

Головною метою було знайти гнучку платформу, щоб легко ізолювати компоненти для тестування, створювати користувацькі URL з маршрутизацією та використовувати впровадження залежностей (допомагає перевизначити все відповідно до індивідуальних потреб). Надійність основи також була критерієм.

Компанії потрібна була нова платформа з хорошою документацією для швидшого навчання. Symfony2 задовольнив їхні вимоги. Технічні деталі обговорюються на презентації SymfonyLive London 2015.

Spotify працює на Symfony2

YouPorn, відомий сайт з відео контентом для дорослих, також працює на Symfony2.

Великі вебсайти, побудовані на Symfony2, які ми згадали, є чудовим аргументом для вибору цього PHP-фреймворку для вашого наступного проекту. Ви можете знайти більше проектів, створених з Symfony2, в нашому портфоліо або в Symfony Showcase. Нижче ми розповідаємо про власний досвід розробки великого вебсайту на Symfony2 для одного з наших клієнтів.

Великий вебсайт на Symfony2 для транспортної компанії MeinFernbus

Ми працювали над цим проектом разом з чудовою IT-командою MeinFernbus. Компанія є лідером німецького ринку автобусних перевезень на великі відстані. У 2015 році MeinFernbus об'єднався з іншою компанією, охоплюючи 76% відповідного ринку.

Вебсайт компанії MeinFernbus, створений на Symfony2

Структура проекту

Для MeinFernbus ми створили трьохкомпонентну систему: сайт продажу (фронтенд), систему управління компанією (бекенд) та API. Портал агентств і партнерів є окремими сервісами:

Структура проекту MeinFernbus

Symfony2 та інші використовувані технології

API використовується для управління всіма бізнес-процесами компанії. Сайт продажу (фронтенд) використовується для продажу квитків і підключається до API через бекенд. Проста CMS використовується для контролю зовнішнього вигляду та контенту, доступного на вебсайті. Вона була написана на Symfony2 за допомогою студійних та сторонніх пакетів.

Вебсайт MeinFernbus

Система управління компанією (бекенд) включає кілька ключових компонентів, відповідальних за планування поїздок, сповіщення користувачів про них, встановлення цін та управління агентствами і партнерами. Уся ця інформація візуалізується за допомогою бібліотеки D3.js.

Враховуючи специфіку послуги, Геоінформаційна система (GIS) є важливим компонентом, який:

  1. Отримує, фільтрує та обробляє дані про місцезнаходження автобусів.
  2. Готує дані для відображення на карті в реальному часі.
  3. Фіксує дані про затримку прибуття автобусів.
  4. Аналізує накопичені дані про затримки, необхідні для коригування розкладу автобусів.

Для ефективного виконання вищезазначених функцій система повинна обробляти багато запитів одночасно. Саме тому ми використали швидкий і легкий мікрофреймворк Silex для його розробки. Він має всі необхідні базові компоненти та може бути легко розширений компонентами Symfony2, якщо це необхідно.

MeinFernbus website

Нарешті, хочу зазначити, що процес створення великих веб-сайтів за допомогою Symfony2 вимагає серйозного планування. Вам слід виділити достатньо часу для прийняття рішень щодо архітектури та вибору компонентів, які допоможуть досягти цілей клієнта. Водночас Symfony2 є досить гнучким і може використовуватися для створення веб-сайтів різного розміру та типу: від відеохостингів до інтернет-магазинів.

Ми, студія stfalcon.com, створили широкий спектр веб-сайтів на базі Symfony2 і будемо раді допомогти вашому бізнесу скористатися нашим досвідом і експертизою.