Ответы пользователя по тегу Фреймворки
  • Как вы используете node.js в продакшене?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Что по вашему есть "монолитный фреймворк"? Типа куча кода без особых зависимостей? В свое время в php это было нормой ибо небыло нормального менеджера пакетов, сейчас там есть composer и все серьезные и претендующие на эту роль фреймворки стараются по возможности не изобретать велосипеды. Хотя эта культура разработки еще только проникает в умы PHP-щников. У Python или Ruby разработчиков с использованием модулей все хорошго. В JS есть свои проблемы на этот счет. То какой-то разработчик забьет на поддержку своего модуля, то не особо парятся по поводу BC... Словом, жизнь боль.

    Я использовал node.js только в качестве демона (обработчики очередей на node.js) и как push-сервер (по сути тот же демон обработчик очередей, очередь сообщений связывает ноду и основное приложение). Делать на нем что-то жирное и большое считаю дурной затеей. Маленькие web-сервисы еще можно. но есть свои нюансы при деплое.
    Ответ написан
    Комментировать
  • Для какого типа веб проектов используют PHP фреймворки?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Все, в том числе и эти ваши CMS создано на базе фреймворка. В WP фреймворк - API для работы с данными, плагинами, система хуков. В Joomla есть довольно таки неплохой фреймворк, Drupal частично основан на компонентах Symfony, PHP BB туда же. Ядро любой CMS грубо говоря - фреймворк.
    Ответ написан
    Комментировать
  • Kohana vs Yii vs ...? Какой фреймворк способен максимально эффективно использовать ресурсы сервера?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Symfony2 так как дешевле купить еще пару серверов нежели оплачивать оверхэд на поддержку самописной херни (оплачивать деньгами или, если вы все будете писать сами, своим временем). Архитектура приложения решает все же достаточно много. Узкие места можно написать на Go (Node.js все же для критичных мест я бы использовать не стал), можно не использовать ORM а обойтись Doctrine DBAL. Как вариант можно просто выкинуть PHP и писать на голом Hack.

    Так же можно попробовать Phalcon, но я если честно его не трогал даже по причинам описанным выше. Можно еще потыкать ReactPHP как основу, но это уже повышает риски. Если вам нужна производительность и при этом не хочется писать говнокод, можно взять Silex и на его основе писать свой проект, со своей архитектурой...

    Вообще можно неплохо утилизировать ресурсы сервера за счет грамотных настроек базы и подключением кешей.
    Ответ написан
    Комментировать
  • Какой ваш любимый PHP Framework?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    И да начнется срач

    1. Symfony2
    2. Silex, Yii1, Slim, FatFree, CakePHP, Zend1 (если мы про проекты а не потыкать)
    3. Если волнует качество кода, то лучше не придумать. Все по best-practice, огромное сообщество разработчиков. двигатель мира PHP.
    4. Для простых проектов может быть черезчур избыточным и сложным. Необходимо понимание того что делаешь.
    5. Нормально, с кешерами, грамотной архитектурой, правильно настроенным сервером... Пожалуй это самый малозначительный параметр для выбора фреймворков. Все упирается в архитектуру вашего приложения и базу.
    6. Не веду такой статистики. Большая часть проектов - API сервисы либо внутренние сервисы компаний. Да и считаю это пустым.
    7. Нет.

    Если вы решили таким образом выбрать фреймворк на основе которого хотите сделать проект... то вы выбрали очень плохую методику.
    Ответ написан
    Комментировать
  • Выбор фреймворка для создания REST-сервисов

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Symfony имеет все нужные инструменты (Fos/rest-bundle, jms/serializer-bundle, аннотации, кучи плюшек).

    Последний год пишу REST-Api на Silex+Doctrine. Все собственно то же самое что и в Symfony, только чуть проще структура выходит. Ну и да, нужно потратить день-два на настройку темплейта для проекта (что бы можно было использовать все теже аннтоации, jms-serializer, всякие хэлперы, генератор документации и т.д.). А уже этот темплейт можно реюзать.

    Более того, можно еще больше минимизировать рутину, если использовать десериализацию данных запроса, но там есть нюансы.

    Так же для внедрения всяких полезностей вроде CORS или OAuth можно использовать мидлвары (Поддерживает все фреймворки реализующие HttpkernelInterface, то есть Symfony, Silex, Laravel и т.д. Ну и можно прилепить к любому фреймворку декоратор).
    Ответ написан
    Комментировать
  • Нужен ли php фреймворк для реализации чеклиста

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вам для этой задачи больше пригодился бы Angularjs. Очень бы упростило логику приложения за счет MVVM.

    Ну а серверная часть в таком случае будет простой REST-апишкой, можно взять тот же silex и быстренько наваять.

    Плюсы фреймворков в том, что можно быстро разрабатывать и не тратить много времени на реализацию всего-того что может понадобиться.
    Ответ написан
    1 комментарий
  • Как сконвертировать HTML в PDF на PHP сервере?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    wkhtmltopdf или phantom.js. Делаете консольную команду, либо добавляете в очередь, либо просто в скрипте делаете exec и вуаля. Это самый цивильный вариант, который относительно стабильно работает.
    Ответ написан
  • Какой язык лучше для движка под крупный ресурс?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    То что вы описали реализуется на чем угодно. Обработка видео всеравно будет делаться на отдельном сервере через *MQ какой, то есть тут от языка который будет добавлять в очередь на обработку мало чего зависит. Остальное - стандартный функционал.

    По поводу производительности: facebook/vkontakte написан на php, что как бы намекает на то что сам язык роли не играет. twitter первое время был на ruby, сейчас ruby+scala. github - ruby.

    Если брать PHP - то брать за основу Symfony2 или брать его компоненты. У этого фреймворка пожалуй самая развитая экосистема, на его компонентах базируются множество других (в том числе из популярных - Drupal). Ну и по сути, помимо zend2 для чего-то серьезного и на вырост вообще как бы и нечего предложить.

    Есть еще Ruby с его рельсами и множеством других интересных фреймворков.

    Есть еще Scala, Python... много чего есть.

    По другим языкам не подскажу. Рекомендую вам просить кандидатов не указывать явно стэк технологий, пусть сами выберут и аргументируют.
    Ответ написан
    7 комментариев
  • Какие инструменты, технологии для web-разработки вы используете?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Попробуйте поработать под linux (Debian/Ubuntu), ибо для разработки под WEB удобнее ничего увы нет (если только вы не .NET программист).

    Из backend-фреймворков - Silex/Symfony/Zend, другие даже не стоит смотреть первое время, можно перейти в любой момент после одного из этих трех, зато сразу уменьшается вероятность написать что-то не правильно, не красиво... Хотя и с Symfony сделать глупость можно, если постараться, но во всяком случае эти фреймворки стараются учить хорошим подходам к проектированию приложений.

    Откажитесь от Denver (а еще лучше, все же перейдите на linux, хотя бы в виртуалке), не ставьте Apache, используйте встроенный в php (с версии 5,4) сервер. В целях разработки довольно удобно, не нужно прописывать vhost от проекта к проекту.

    Изучите Bash (минимально, хотя бы основы), GIT, познакомьтесь с SSH и SCP, работайте с базой через консольный клиент (phpmyadmin не нужен), заодно потренируетесь писать SQL запросы. Если хотите все же остаться на Windows, ставьте MinGW (обычно при установке GIT требуется).

    Попробуйте изучить системы сборки проектов (Phing, Ant), учитесь покрывать код тестами (PhpSpec2, PHPUnit), используйте стандарты PSR (в частности используйте Composer).

    Ну и почитайте чего про TDD/BDD, SOLID, GRASP...

    Из языков рекомендовал бы изучить в обязательном порядке javascript, и посмотреть в сторону Ruby/Python, или же, Golang.
    Ответ написан
    Комментировать
  • В каком php- фреймворке лучше всего разработана система лэйаутов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    в yii "лэйауты" подразумевают собой несколько базовых шаблонов. Сделано так себе.

    Мое мнение - берите любой фреймворк и прикрутите twig, который поддерживает наследование шаблонов, а значит вы можете реализовать очень гибкую структуру оных.
    Как бонус - все что вы выводите по умолчанию эскейпится, что снижает вероятность xss уязвимостей.
    Ответ написан
    2 комментария
  • Есть ли аналоги angularjs, более простые?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    С чем именно у вас проблемы? Ибо просто так сдаваться и спускаться на ступеньку ниже... я думаю вы недостаточно пробовали (отсилы пару дней).

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

    Хотя под ваши требования подходит backbone.js.
    Ответ написан
    Комментировать
  • Какой выбрать php-фреймворк для простых и средних проектов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    yii устарел... вот и все. эта самая "2 версия на носу" уже 2 года, а толку? Нету роадмэпа, комьюнити слабенькое (в среднем по уровню), не так много качественных расширений, нельзя использовать просто так отдельные библиотеки (ну как... можно, но со своими приблудами)... За это время успели выйти Silex/symfony2, причем symfony уже имеет версию 2,4, огромное комьюнити и массу библиотек и инструментов упрощающих жизнь.

    Для небольших и средних проектов стоит посмотреть в сторону микрофреймворков аля Silex. Он неплохо расширяется, так что то что он micro вам не помешает.
    Ответ написан
    2 комментария
  • Миграция мозга WordPress -> Symfony (или любой современный фреймворк)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Хотите мигрировать на симфони? Тогда забудьте это детище php4. Делать сайты визитки на симфони крайне не выгодно, но если уж вы добрались до сложных порталов… документацию идите читать к симфони, вот и все. Почитайте про компоузер и прочее, матерьялов в сети достаточно для быстрого старта. Правда старт на симфони будет не таким быстрым как на Yii, за счет большего порога вхождения, но под Yii все же с документацией местами плачевно + убогое комьюнити.
    Ответ написан
  • Новый CMS для создания небольшого интернет магазина?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Новый? А что для вас новый? SYmfony2 — самый новый фреймворк, куча мелких микро-фреймворков, куча двжиков для интернет магазинов… Из готового толкового мало.
    Ответ написан
    Комментировать
  • С чего вы начинаете писать cms?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну по сути…
    > composer.phar install
    > app/console generate:bundle
    и т.д.

    То бишь за основу берется какой-то мощный фреймворк, позволяющий создать гибкую структуру компонентов. Мне вот нравится Symfony в плане гибкости. Модно написать какой-то бандл и без проблем использовать его в других проектов тратя минимум времени на доработки. За счет возможности написания агрегаторов, можно реализовать админку и возможность для каждого модуля написать часть оной и собрать все под одной крышей. Вы можете взять за основу другой фреймворк, и начать делать на нем.

    Делать полностью с нуля нету никакого смысла, кроме как самообразование.
    Ответ написан
    Комментировать
  • Как совместить js framework с серверной шаблонизацией?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Скажу что ничего из выше сказанного не понял.

    Тобиш у вас задача какая? генерить HTML на стороне сервера для данных которые появились в JS? или и данные и шаблоны на сервере?
    Ответ написан
  • С какого фреймворка стоит начать (Yii, zend, symfony)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начинающего проще будет Yii. Он простой как пробка, но в то же время, при определенном опыте работы, на нем можно писать неплохие проекты.

    Zend — тут ничего не могу сказать. Наверное только с него проще будет переходить на Symfony. В этом плане к слову Yii чуть проигрывает — с него слазить сложнее. я 2 месяца плевался когда на симфони переходил.

    Symfony 2 наверное самый крутой PHP фреймворк из существующих сегодня, ну или самый перспективный. Я бы начал сразу с него, хотя будет тяжело, зато больше опыта.
    Ответ написан
    9 комментариев
  • Есть ли фреймворки на PHP 5.4+?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Смысла особо нету. Вы можете взять любой фреймворк под PHP 5.3 (Symfony2, Zend2, Yii2 который выйдет) и использовать там все прелести PHP5.4 сколько захотите.
    По сути, все нововведения PHP5,4 конкретно фреймворку не нужны. Трейты? это макросы обычные. Содержимое трейта заменяет метко использования трейта в коде — ничего больше. Код по сути все так же дублируется. Как по мне использование трейтов должно быть сведено к минимуму. Не могу придумать такой ситуации когда они реально нужны. Для себя я использовал трейты только для моделей Yii 1.* что бы не писать каждый раз в модели метод model().
    Синтаксический сахар полезен только для пользовательского кода (конфиги, для моделей и контроллеров), то же относится и к остальным плюшкам.
    Единственная полезная вещь в PHP 5,4 — увеличение производительности, но опять же на код и архитектуру фреймворка это никак не должно влиять.

    Вобщем, ничто не мешает использовать PHP 5,4 с имеющимися фреймворками.

    Если такой ответ вас не устроит, присмотритесь к auraphp. Архитектура оного мне чем-то напоминает ужасную смесь Yii и Symfony2 со своими прелестями. Но там тоже «мощь» PHP5,4 не особо используется, опять же так как это лишено смысла.

    Вот если бы ввели аннотации/атрибуты объектов…
    Ответ написан
    7 комментариев
  • Какой фрэймворк учить и по каким мануалам?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я использовал Yii с момента выхода 1.0. Это очень удобный фреймворк на котором можно развернуть что-либо достаточно быстро. К сожалению, с простотой использования приходят проблемы. А именно — нулевое комьюнити, быдло-разработчики и т.д. Сами расширения для фреймворка очень отличаются друг от друга не только по качеству, но и по реализации. Мне допустим не понятно зачем нужна такая большая иерархия компонентов, виджетов, расширений… Да и грядущая ветка Yii 2 особо погоды этому фреймворку не делает. Так что, как это не печально, перспектив у него мало. Только для начинающих было бы полезно его знать.

    Zend не люблю с первых версий, и это сугубо субъективно. Это довольно качественный фреймворк (только с версии 2.0) который было бы полезно потыкать.

    По работе пришлось сменить уже привычный Yii 1.* на Symfony 2. По началу я плевался от всех этих «по феншую». Необходимость на каждую пропертю в модели писать свой геттер/сеттер (использую в связке с Doctrine2). Но сама концепция «компилируемый» php мне очень нравится. Аннотации (к слову, очень жаль что тикет с просьбой добавить их нативно убрали), контейнер зависимостей и прочее делают разработку более элегантной. Как уже говорили выше — этот фреймворк просто заставляет писать хорошо (хотя плохо написать очень даже возможно). Если сравнивать качество решений для этих трех фреймворков, пожалуй пока лидирует Zend, но решение для оного легко переносятся на Symfony.

    На данный момент самый перспективный фреймворк — Symfony 2 (причем сразу можно брать на изучение 2,1). Остальные же — тоже довольно интересны и познавательны, но я к ним по своей воле уже не вернусь.
    Ответ написан
    3 комментария
  • Движок для создания API

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Я обычно API-шки на Yii пишу, удобно, быстро и гибко.
    Ответ написан
    2 комментария