@ber_enot
Веб-разработчик, Vue.js / Node.js

Что подразумевается под маленьким, небольшим, крупным проектом на PHP?

Часто встречаю выражения вроде "Решение подойдет для небольших проектов, а для крупных нужно использовать ...".
Вопрос: на основании каких критериев делается такое разделение?
Приведите, пожалуйста, примеры малых, крупных проектов.
Интересуют CMS, CRM-системы и т.д.

PS. Я понимаю, что сайт-визитка - малый проект, а google - крупный. Не нужно писать про них ;).
  • Вопрос задан
  • 450 просмотров
Решения вопроса 1
copist
@copist
Empower people to give
Зависит от количества технологий, которыми придётся воспользоваться для его реализации.
Я сейчас сам себе условно поставлю задания на разработку проектов 4х уровней сложности.

Простейший сайт-визитка.
Технологии:
  1. Дизайн: типовой, картинки со стоков или вообще нет, всего несколько страниц
  2. Реализация: HTML, CSS, может быть JS
  3. Средства разработки: очень простые, вплоть до notepad.exe
  4. Хостинг: бесплатный shared hosting
  5. Обновление: вручную, по FTP
Интернет-магазин средней сложности
  1. Дизайн: заказной, картинки, цены и описание конкретных товаров
  2. Реализация: HTML, CSS, JS, серверный язык программирования, база данных, кэширование. Возможно, интеграция с внешними системами, например, 1С, платёжные системы или доставка. В качестве базового решения использовать готовое, типа OpenCart
  3. Многопользовательский режим: несколько редакторов, посетители сайта, покупатели
  4. Средства разработки: графический пакет, IDE, клиентское приложение для базы данных
  5. Хостинг: платный shared или virtual dedicated
  6. Обновление: вручную
Информационный портал повышенной сложности
  1. Дизайн: заказной, штатный дизайнер, художник, фотограф
  2. Реализация: CSS/SCSS/LESS, сложный Javascript c фреймворками типа Angular, несколько серверных языков программирования, база данных с горизонтальным и вертикальным массштабированием, дублированием, распределённая файловая система, кэшированием, очереди заданий, фоновые задачи.
  3. Многопользовательский режим: любой может добавлять статьи с мульти-медиа контентом, многопользователькие чаты realtime, внутренняя система сообщений
  4. Средства разработки: графический пакет, IDE, клиентское приложение для базы данных, репозиторий кода
  5. Хостинг: virtual dedicated или dedicated + тестовый и демонстрационный сервера меньшей мощности + резервный + балансировка нагрузки
  6. Сервис поддержки пользователей, модерация статей и чатов
  7. Почтовые рассылки, подписки на отдельные темы или авторов, внутренняя система сообщений с дублированием на электронную почту
  8. Авто-тесты
  9. Обновление: автоматическое, через Chef, Capistrano или иной способ
Запредельно сложный сервис
  1. Дизайн: уникальный, специальный, заказной, несколько штатных дизайнеров, все непрерывно работают над улучшением и разрабокой новых возможностей
  2. Реализация: Reach Client Application, передовые клиентские технологии, реализация многопользовательского онлайн 3D мира, несколько серверных языков программирования, несколько типов баз данных с горизонтальным и вертикальным масштабированием, дублированием, кэшированием, очереди заданий, фоновые задачи; части системы общаются между собой по разным протоколам и асинхронно
  3. Многопользовательский режим: международный сервис, количество пользователей просто зашкаливает, они работают круглосуточно, нет периода однозначного снижения нагрузки на сервер для технического обслуживания
  4. Специфический фукционал: пользователи могут совместно делать необычные вещи, например, конструировать и выпускать реальные автомобили онлайн
  5. Средства разработки: чего только не используешь, лишь бы разобраться в коде и документации, который состоит из множества кусков и зависимостей, на разных диалектах разных версий языков, ежедневно изменяемый сотней программистов, тестовые сервера под каждую отдельную фичу; в разработке сразу несколько фич, и они конфликтуют между собой
  6. Хостинг: облачные сервера, много-много серверов, под все части системы резервирование, свой датацентр, свой оптоволоконный канал связи
  7. Авто-тесты, мониторинг, метрики, системы оповещения о сбоях и автоматического устранения аварий
  8. Резервные источники энергии, своя электростанция
  9. Круглосуточный сервис поддержки пользователей
  10. Управление персоналом: администраторы, электрики, программисты разной специализации, менеджеры, маркетологи, аналитики, тестировщики, бухгалтерия, отдел персонала, психолог, стоматолог, поликлиника, столовая, ресторан, фитнес-зал, спорт-комплекс, автопарк
  11. Внутрисистемная виртуальная валюта, возможность взаиморасчётов, найм, покупки
  12. Холдинг: подчинённые компании различных отраслей и сфер экономики или фирм, расположенные в различных регионах, с общей информационной системой
  13. Почтовые рассылки на миллионы подписчиков
  14. Мультиплатформенность: под разные операционные системы отдельная версия программного продукта
  15. Обновление: автоматическое, с бакапами до и после, авто-восстановлением при неудачном обновлении, специфическая система обновления; у каждой версии или модуля своя логика обновления; распределённое одновременное обновление большого количества серверов


Что из этого Гугль? Ничего. Он зашкаливает по сложности.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы