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

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

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

PS. Я понимаю, что сайт-визитка - малый проект, а google - крупный. Не нужно писать про них ;).
  • Вопрос задан
  • 453 просмотра
Решения вопроса 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. Обновление: автоматическое, с бакапами до и после, авто-восстановлением при неудачном обновлении, специфическая система обновления; у каждой версии или модуля своя логика обновления; распределённое одновременное обновление большого количества серверов


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

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

Похожие вопросы