За последние 24 часа нас посетили 17598 программистов и 1719 роботов. Сейчас ищет 1661 программист ...

Фреймворк. Нужен или нет?

Тема в разделе "PHP для новичков", создана пользователем xCRABx, 14 дек 2015.

  1. xCRABx

    xCRABx Активный пользователь

    С нами с:
    17 мар 2011
    Сообщения:
    10
    Симпатии:
    0
    Начали писать большой проект, поэтому я решил пересесть на фреймворк, выбрал Laravel.
    Стоит отметить, что уже было написано: роутинг, несколько моделей, несколько представлений, сущность пользователя для БД.
    Всё это я перенёс на Laravel. И что я вижу... У Laravel время выполнения скрипта 0.046, а у самописного сайта 0.0018. Разница в 25 раз!
    Поэтому с этим у меня возник вопрос: зачем вообще использовать фреймворки, если они такие медленные?
    P.S. Да, я не использовал интерфейсы, пространства имён и т.д., но мне это и не было нужно.
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Для ускорения работы. Естественно, любой фреймворк будет потенциально медленнее, как универсальное решение. Замедляют не интерфейсы и пространство имён, а попытка сделать универсальный, к примеру, роутер, который можно будет настроить под любые желания разработчика. Аналогично с универсальной работой с базой, модели ActiveRecord и т.п. Но при использовании фреймфорка не нужно уже решать общие задачи, можно сосредоточиться на бизнес-логике
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    ну наверное за тем что там написано куча готового кода и она уже протестирована миллионами людей.
    + тебе не надо фантазировать как там и что будет, ты подстраиваешься под ФВ.
     
  4. xCRABx

    xCRABx Активный пользователь

    С нами с:
    17 мар 2011
    Сообщения:
    10
    Симпатии:
    0
    Пока даже ускорения работы нет... Всё остановилось на разбирании того, как устроен фреймворк.
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    кстати, существует еще такая хрень как микро фреймворки, может тебе подойдет.
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Смыслом изучения и использования фремворков может быть то, что за них больше платят)
     
  7. xCRABx

    xCRABx Активный пользователь

    С нами с:
    17 мар 2011
    Сообщения:
    10
    Симпатии:
    0
    Посмотрел... Интересная вещь.
    Будут какие-нибудь советы или здесь каждому своё?
     
  8. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Потому что время разработчика дороже. Потому что всю это обвязку так или иначе придется писать для проекта чуть сложнее табуретки и не факт, что оно в итоге будет быстрее и менее глючное, чем используемый тысячами людей фреймворк. А ещё есть готовый каркас с документацией под который всегда можно привлечь сторонних разработчиков, не объясняя им при этом каким таким желанием левой пятки всё собрано в один god object и как эту хрень теперь расширять. Ты просто берешь и пишешь, не грузя себя лишними проблемами.
    В чем затык?
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    проще менять разрабов, когда они все знают фреймворк.
     
  10. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Не надо. Ради призрачного ускорения получите обрезок фреймворка по функционалу и точно такое же количество проблем ) Не то что бы они плохи, просто нужно понимать "когда" и "зачем".
     
  11. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Джва года ждал этот тред. Фреймворки - зло, композер для лохов.
    Самое обидное в том, что весь этот срач толкают и будут толкать в массы. Вангую уроки от поповых.
    Задача любого фреймворка или инструмента упростить решение той или иной задачи, сделать его максимально компактным и производительным. Позволять пользователю быстро решать поставленную задачу в минимум кликов и символов. И это очень хорошо.
    Хорошо пока не приходит вася, который учит фреймворк и ничего не знает о стандартных возможностях языка. Вася знает возможности фреймворка, знает что даже есть какие-то зависимости в композере. Знает что такое MVC и неймспейсы. Но вася ничего не знает о том, как реализован его любимый фреймворк. Потому что знания дальше документации и уроков на ютубе не идут. В крайнем случае он зайдёт на стаковерфлоу и на корявом иврите спросит почему что-то там в его любимом фреймворке не работает.
    И начинается ад. Ад для всего сообщества, потому что таких вась и поповых становится овермного. Они вползаю на рынок с жадными воплями "ларавель! кодэгнайтер!" и засоряют его своими немытыми пятками. Они дрочат продвинутых рекрутеров и обманывают простых. Они плодят код, который вселяет тремор. Для работы со строками они грузят тонны покетов из композера, даже если для фреймворка есть.
    Меня дико раздражает вся эта биомасса и всё что она делает. На пути своего совершенства я не раз спотыкался от того, что всегда есть что изменить и если ты хочешь действительно хороший продукт, который будет удовлетворять тебя по всем параметрам, включая производительность, ресурсозатратность и расширяемость, то стоит начать писать что-то своё. В противном случае развития просто нет.
     
  12. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Все люди как люди и только пхпшники рассуждают о вреде менеджера зависимостей и фреймворков, считая что они то ого-го ))
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    В соседнем треде все пытаюсь объяснить юному падавану, что пытаться кодить на JQuery и спрашивать постоянно, почему то-то и то-то не работает, совершенно не зная при этом JS - это ооочень не круто. Пока успехи не очень.
    А тут у кого какая цель. Кому развиваться, а кому "поднять немного бабла бесплатно без смс". Второй случай превалирует у планктоноты. Она считает, что раскурив видеокурсы на тытубе достигло необходимую планку, переваливаться за которую не стоит. Хотя даже не в курсе, что эта планка - всего лишь плинтус.
     
  14. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Т.е. проблема не в фреймворках, а в дебилах, которые ими пытаются заменить отсутствие мозга?
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    композер-то тебе чем насолил?
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Грубовато сказно, но да.
    Это как права купил, водить не купил.
     
  17. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Фрейморки не нужны - всё легко можно запихать в один большой god object за пару вечеров!
    Композер не нужен - он отупляет, заставляя использовать готовые решения, вместо прикладывания собственных титанических мозговых усилий.
    Гит не нужен - в моем нотепадике и так есть кнопка отмены, а с коллегами мы всегда можем договориться в курилке.
    Deployer? Нафига? Ведь есть ftp, phpmyadmin и панелька в хостинге.
    IDE? Мой блокнотик и так все прекрасно раскрашивать умеет.

    Вроде всё перечислил ))
     
  18. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    ТС пишет о скорости исполнения, якобы зачем фреймворк если он добавляет тормозов. Это большая ошибка. Скорость исполнения это не фетиш на который надо дрочить. Гораздо важнее сосредоточиться на цели, не отвлекаясь на детали. Готовые компоненты как раз помогают этому.

    Да и если разобраться, тормоза можно серьёзно уменьшить. В основном они следствие большого количества файлов в проекте, это решается склейкой. Разница с "ручным" вариантом скорее не в N раз, а на фиксированные X миллисекунд и с ростом проекта разница нивелируется.
     
  19. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Все зависит от задачи.
    Если задача небольшая то использовать целый фреймворк может быть - как бить "из пушки по воробьям".
    Иногда достаточно взять из фреймворка только несколько библиотек. и задача решена быстро и качественно.
    Если проект крупный, то возможно потребуется использовать почти все возможности фреймворка. и это будет логично.
    Если проект нетривиальный, и там нужн чтото необычное, такое чего нет в полном объеме в фреймворках, то логичнее и быстрее запилить своё, чем адаптировать и пытаться состыковать нестыкуемое.

    Нужно включать голову, и всего-то.
     
  20. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Фактически, если вы отказываетесь от фреймворка, вы создаете свой фреймворк :) В наше время, слава макаронам, это облегчается наличием внятных стандартов PSR и посредством composer. Можно собрать в комплект своё плюс что-то стороннее, что, возможно, вы замените на своё позже. Или наоборот. ))) Например, я наблюдаю, что Symfony HttpFoundation попадает во всё большее количество мест, даже если эти места "не на симфони". Просто незачем повторять этот хорошо отлаженный пакет.

    Добавлено спустя 3 минуты 47 секунд:
    Композер стирает границы. Так что резюмирую ответ топикстартеру:

    Не используй фреймворки, если не хочешь, но не отказывайся от стандартов.
     
  21. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Да кстати, если проект крупный, логично что под него будет свой VPS, можешь еще такую штуку посмотреть как phalcon, фреймворк, но он написан как расширение для РНР, что собственно увеличивает его производительность во много раз.

    PS как было сказано все зависит от задачи.
     
  22. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Я даже для одностраничных сайтов в некоторых случаях использую фреймворк. К примеру, если к этому одностраничному сайту нужна достаточно развитая админка (был такой заказ, на одностраничнике надо было менять фотографии и подписи к фотографиям в 3 разноплановых галлереях, плюс ещё там фактически были зачатки интернет-магазина).
     
  23. Anhk

    Anhk Активный пользователь

    С нами с:
    13 дек 2015
    Сообщения:
    219
    Симпатии:
    11
    такой херни я ещё не читал.
    композер - говно, фреймворки - говно.
    слушай, иди на асм всё пиши, что ты здесь делаешь? ещё можешь вернуться к первым эвм.
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Слушай, ну он же аргументировал свою позицию. Фреймворки хороши как инструмент. Но плохи как массовый заменитель языка в мозгу нуфагов. И из первого давно смутировали во второе. В итоге имеем армию кодеров, которые знают какой-нибудь фреймворк, но не знают PHP. С JS сейчас такой кризис. Рынок полон JQuery-программиздов, которые не знают JavaScript, но умеют копипастить сниппеты.
     
  25. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    И это весь ваш аргумент на тему того что я написал ? Вы состоятельный человек.
    Как это относится к повестке дня ?

    По коду он маленький, по возможностям он удовлетворяет все потребности.
    Не обязательно титанических, но ты прав.
    Гит нужен в случае когда с коллегами в курилке не договорится.
    Не ко мне, но когда-то начинал с phpmyadmin. Благо светлые люди привили любовь к консоли.
    Согласен, notepad++ незаменим.