Пишу как будущий заказчик, которому потребуется найти постоянного исполнителя/-лей для написания движка под ресурс с ожидаемой топовой суточной посещаемостью от 500 тысяч уникальных посетителей.
Контент по категориям и рубрикам - сотни тысяч видео (от 360p до 2/4K), изображений (от 100x100px до 10000px) и аудио; система вывода материалов (за сутки, неделю, месяц, все время с сортировкой по разным шаблонам); система учетных записей (по группам) с регистрацией по e-mail или через API социалок; система комментариев; возможность загрузки собственного контента, формируя личное портфолио; система вопросов-ответов; система подписки на автора/материал и RSS; система жалоб и обратная связь; система голосований; система простого и расширенного поиска; система внутренней аналитики и т.д.
Короче, движок будет постоянно дописываться и улучшаться под нужды отдельного ресурса. Однако стоит вопрос выбора фреймворка (сарказм о собственном не уместен). Ориентируюсь на высокий уровень безопасности и скорости работы фреймворка (при условии правильно растущих рук у разработчика/-ков самого движка) с большими возможностями последующего расширения. Также хочется, чтобы фреймворк был затребован у многих разработчиков, а не использовался десятком-вторым кодеров.
P.S. Стоимость подобной разработки в соотношении "от $..." тоже напишите, если есть желание.
То что вы описали реализуется на чем угодно. Обработка видео всеравно будет делаться на отдельном сервере через *MQ какой, то есть тут от языка который будет добавлять в очередь на обработку мало чего зависит. Остальное - стандартный функционал.
По поводу производительности: facebook/vkontakte написан на php, что как бы намекает на то что сам язык роли не играет. twitter первое время был на ruby, сейчас ruby+scala. github - ruby.
Если брать PHP - то брать за основу Symfony2 или брать его компоненты. У этого фреймворка пожалуй самая развитая экосистема, на его компонентах базируются множество других (в том числе из популярных - Drupal). Ну и по сути, помимо zend2 для чего-то серьезного и на вырост вообще как бы и нечего предложить.
Есть еще Ruby с его рельсами и множеством других интересных фреймворков.
Есть еще Scala, Python... много чего есть.
По другим языкам не подскажу. Рекомендую вам просить кандидатов не указывать явно стэк технологий, пусть сами выберут и аргументируют.
Мое чисто субъективное мнение: Python для web ненужен. Я пробовал писать на Django, оно конечно круто, но на php под web как-то удобнее. Как альтернатива - ruby (но я на нем не пишу).
Вы перечислили по сути 3 самых популярных на фриланс биржах фреймворки. Опять же субъективное мнение: выбросить из него yii и ткнуть пальцем. Писать на yii гибкие приложения очень нелегко. Фреймворк не задает жестких ограничений, так что обычно все обрастает кастылями и велосипедами. С Zend/Symfony ситуация другая. Эти фреймворки создавались для серьезных проектов. Ну и в копилку Symfony - они не так давно получили $7 млн инвестиций на развитие экосистемы и сообщества. Плюс многое говорит то, что в мире php есть только два сертификата - по Zend и по Symfony.
Окай, тогда уже при поиске самого разработчика/-ков буду делать упор на эту пару. Вообще, к ним и склонялся ранее, однако уточнение - залог совершенства.
@Jeth ну про Yii он немного загнул. Крупных проектов на Yii хватает и говорить, что он не предназначен для этого - как минимум глупо. Ну и стоит учесть про большое коммьюнити. Найти разработчика не составит труда.
@Fesor не понимаю, если фреймверк не загоняет рамки, то почему он же не дает писать гибкие приложения?) Взаимоисключающие параграфы как бы)
@slvABTOP, отсутствие рамок равносильно тому, что все пишут как хотят. Если бы в документации был акцент на какие-то best practive... Я работал с Yii достаточно, я знаю как он устроен от корки до корки. Он простой как пробка, от того все проблемы и идут. Скажем в версиях 1,1 мне приходилось переопределять кучу сервисных классов ради каких-то мелких мелочей. Просмотрев исходники Yii2 - я вижу все те же проблемы. Он мне просто не подходит.
90% проектов на yii, больших и малых, что я видел это кастыли и велосипеды. Каждый норовит сделать так как ему нравится, а не как нужно делать. Да и еще - если я возьму Symfony или Zend то я точно буду знать что попадет в следующий релиз, что там не сломают совместимость между версиями потому что кто-то не выспался (ну... не точно, но все же с ревью кода и покрытием тестами у них по лучше чем у Yii). С Yii у меня такие проблемы были, когда после обновления на минорную версию у меня что-то отвалилось. Сейчас Yii2 только появилась, так что ближайшее время так же будут какие-то такие проблемы в связи с небольшим количеством мейнтейнеров и ревьюверов.
В больших и долгоживущих проектах, где постоянно ведется разработка новых фич и т.д. упор должен идти не на простоту фреймворка, а на архитектуру. Соблюдение общих принципов проектирования, применение паттернов и т.д. Применение тестов (юнит, интеграционные, функциональные), разработка через тестирование и т.д. Да, разработка с таким подходом будет немного дольше, но зато дальнейшее развитие и поддержка проекта обойдутся дешевле. Ну и опять же, при поиске нового разработчика ему будет намного проще вникнуть в архитектуру проекта, ибо возможностей по вставке своих велосипедов там меньше.
p.s. Я работал с Yii почти 3 года. Последние 2 года работаю с Symfony/Silex. Это мое субъективное мнение, оно не претендует на истину. Просто некая статистика подведенная мною. Писать на Yii качественные и большие приложения можно, я не спорю. Но в Yii есть очень большой соблазн вставить кастыль и забить (в некоторых случаях). Ну и с масштабированием приложения у него все же проблемы.
Язык не важен. Тот же php справиться на ура. Фреймверк.... ну раз ориентация идет на скорость, то phalcon) Если же нету желания связываться с pecl фреймверками, то yii/laravel.
Уровень более менее одинаковый. Скорее тот кто будет писать, накосячит, чем непосредственно во фреймверке будет уязвимость. Ну и все они довольно активно разрабатываются, в том числе и исправляют найденные уязвимости.
@Jeth symfony/zend, если мы про безопасность. Laravel базируется на компонентах симфони, так что у него так же все должно быть хорошо. + у этих фреймворков и их компонентов предсказуемый цикл разработки, есть четкий роадмэп и т.д.