Django против FastAPI в 2023 году для Питон разработки. Что лучше для веб программистов?

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 109

  • @Light-tx6kz
    @Light-tx6kz 8 місяців тому

    Благодарю! Отличный канал. Удачная рекомендация.

  • @eurodoo
    @eurodoo Рік тому +9

    Блин эти мамкины программисты достали только время зря потратил) какойто джун мысль сформировать не можешь) ты бы лучше реальные примеры показал вместо кликбейтного титла

  • @ДмитрийБондаренко-к6ж

    Очень наглядно, прям четко ответ на мой запрос. Спасибо, подписался)

  • @romanbush5164
    @romanbush5164 Рік тому +15

    В fast api нужно придумать свои костыли, когда как в django особенно в DRF все элегантно и чётко с соблюдением лучших практик, убедился на личном опыте)

    • @_balancy_
      @_balancy_ Рік тому

      Насчет бест практис неверно, джанго построен на active records, его не разбить по чистой архитектуре на слои, чтобы были независимо орм модели и отдельно модели домена.

    • @duckstalk
      @duckstalk 29 днів тому

      @@_balancy_ разбить, но с некоторой болью в пятой точке))

    • @_balancy_
      @_balancy_ 29 днів тому

      @@duckstalk если джанго орм не юзать, можно)

  • @yurgango6444
    @yurgango6444 8 місяців тому

    Познавательный канал! Посоветуйте начинающему программисту на каком языке проще и лучше написать доску объявлений?

  • @larionovartemy228
    @larionovartemy228 8 місяців тому

    Мне подсказали, что джуну намного легче будет начать с Django ( и DRF ), а уж потом, начинать знакомиться с FastAPI

  • @zubenkogg7988
    @zubenkogg7988 Рік тому +2

    но на django создать админа или работа с административной модели легче

  • @Roman-ew2tu
    @Roman-ew2tu Рік тому +14

    иы ускорил, или ты реально такой трындычливый?

  • @usernoname-wv6of
    @usernoname-wv6of Рік тому +8

    Все понятно, учишь Джанго + DRF, а потом следом FastAPI и дополнительные ОРМы

    • @trankov
      @trankov Рік тому +1

      Не нужно DRF, он монструозен и зависит от особенностей самого Django. Есть Django Ninja, он даёт вам подход FastAPI на Django, при этом полную свободу.

    • @usernoname-wv6of
      @usernoname-wv6of Рік тому +1

      @@trankov Не слышал о таком еще, спасибо

    • @PythononPapyrusRU
      @PythononPapyrusRU  Рік тому +1

      Да, DRF огромный, но на нем много проектов пишут. Однако, Django Ninja классная вещь, тоже о ней не слышал

    • @unstoppableharrison140
      @unstoppableharrison140 Рік тому +1

      @@trankov не видел вакансий для Django Ninja, в отличии от DRF

    • @trankov
      @trankov Рік тому +1

      @@unstoppableharrison140 один из типовых бессмысленных комментариев. Ок, не видели. Спасибо за ненужную информацию.

  • @user_kart
    @user_kart 7 місяців тому

    Основной посыл:
    - фастапи для микросервисов
    - Джанго для монолита
    Если знаешь фронтенд фреймворк то Фаст апи наверное хорошим дополнением будет

  • @RomanUnreal
    @RomanUnreal Рік тому +1

    спс за инфу

  • @Влад-ь7о8ъ
    @Влад-ь7о8ъ 29 днів тому

    Для реализации регистрации в fast api есть прекрасная библиотека fastapi-users

  • @bernardsoul8936
    @bernardsoul8936 3 місяці тому

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

    • @PythononPapyrusRU
      @PythononPapyrusRU  3 місяці тому

      Согласен с встроенными функциями, но какая проблема в алебмике?

    • @bernardsoul8936
      @bernardsoul8936 3 місяці тому

      @@PythononPapyrusRU они напрямую пишут в файле миграций, проверяйте что сгенерил алембик перед запуском миграций. Бывает багует если внутри модели ссылаешься на emun. И что это вообще за софт такой, перед запуском которого надо смотреть, что он там нагенирил

  • @digitalberd
    @digitalberd Рік тому +6

    FastAPI вроде в 3 раза быстрее + асинхронный?

    • @moderaptor
      @moderaptor Рік тому +1

      тссс, это секрет

  • @kirito_fox_kads1261
    @kirito_fox_kads1261 6 місяців тому

    Спасибо за видео, убедил использовать FastAPI, люблю свободу:)
    Не знаю, ответит ли автор, но тем, кто шарит за программирование, хочу понять некоторые моменты:
    собираюсь отучиться на айтишника (сначала в колледже), потом в унике, понимаю, что все смотрят на это по-разному, но в этом есть необходимость...
    ну так вот, но бросать самостоятельно развиваться в сфере не планирую, хотелось бы услышать "зрелый" совет: с чего начать изучать Python, по книгам, по курсам, по различным сайтам, комбинируя? Есть ли смысл сосредотачиваться на самом Python'е, углубляться в Алгоритмы и СД, ООП и т.д
    И как понять, что можно переходить на следующую ступень? Python мне нужен для backend'a, но скорее всего, я через время займусь ML/AI, поэтому в данном случае Python - константа (для тех людей, кто недолюбливает этот язык или считает его неуместным)

  • @asmr_codster
    @asmr_codster Рік тому +1

    Админка кстати у django классная
    А разве на django пилят вебсервер ? На работу со статикой вроде есть как обычно nginx/apache

  • @yarko6734
    @yarko6734 10 місяців тому +2

    Можно ли работать бекендером не зная сильно Джанго? А работать с FastAPI или Flask?

  • @yuriyokal7307
    @yuriyokal7307 Рік тому +5

    А кто мешает чистую архитектуру использовать в django model -> repository -> use case -> interactor -> controller -> view? И ещё не понятно что в fastapi не MVC в базовом варианте?))

    • @h3ckphy246
      @h3ckphy246 Рік тому +1

      ничего не мешает, просто большинству это нахер не надо. Лишь бы побыстрее состряпать что-то да запустить

    • @yuriyokal7307
      @yuriyokal7307 Рік тому +1

      @@h3ckphy246 я например 6 лет работаю бекендером на пайтоне, до этого 3 года на PHP и проблема в том что для java и c# с интернатуры начинают рассказывать про архитектуру приложения... А в пайтоне нужно этими вопросами самому интересоваться. Но говорить что какой то фреймворк не даёт что то сделать неправильно. Что на django, flask, fast api, aiohttp и так далее можно подключать разные базы данных и если не пользоваться generic в джанго то можно строить архитектуру отличную от того что обычно все показывают в видео уроках.

    • @PythononPapyrusRU
      @PythononPapyrusRU  Рік тому

      Я согласен, можно построить хорошее приложение. Проблема тут другая: сам django построен плохо и шанс что в проекте будет какая-то уникальная архитектура очень мал. То есть, большинство об этом не задумываются, а дополнительные библиотеки только усложняют процесс.
      В fastapi тоже можно плохо написать код, но там нет конкретных правил как в django: используй generic, ставь сюда модель, здесь используй ОРМ запросы

    • @yuriyokal7307
      @yuriyokal7307 Рік тому

      @@PythononPapyrusRU Отношусь уважением к контенту что вы делаете. Просто хочу подчеркнуть для начинающих что не фреймворк плохой, а бывает плохая прокладка между креслом возле компьютера и клавиатурой. Если не использовать generic разделить инфраструктуру и доменную логику... Я чисто вижу проекты где люди прописывают логику во view слое и получается что если нам нужно её протестировать то нужно писать http запрос)))

    • @ShowNoMercy
      @ShowNoMercy Рік тому

      @@yuriyokal7307 вот тут то и понимаешь, что если джанговские дженерики для нормального кода не подходят, то с джанговской архитектурой что-то не так. (старая она)

  • @АндрейТаранов-ь8э
    @АндрейТаранов-ь8э 8 місяців тому

    порекомендуйте модуль аутентификации для fastAPI для ламера. Спасибо

    • @PythononPapyrusRU
      @PythononPapyrusRU  8 місяців тому +1

      fastapi-users
      www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=fastapi-users.github.io/fastapi-users/10.1/configuration/full-example/&ved=2ahUKEwjR-aL3zdqEAxUD_rsIHSkkA3gQFnoECBsQAQ&usg=AOvVaw1gBIdyvgEGXSOF9n-m5cke

  • @DEKJ1000
    @DEKJ1000 Рік тому

    Удивился но посмотрел. Ну по моему это все равно что ставнивать стол и сумку. Это разные инструмены для разных задач и условий.

  • @blin_dog2793
    @blin_dog2793 11 місяців тому +1

    Django же поддерживает Redis, разве нет? 10:20

    • @shedryn
      @shedryn 10 місяців тому

      Да

  • @why_me_why_not
    @why_me_why_not 5 місяців тому

    FastApi асинхронный и быстрее. Всё, это единственное преимущество. Остальные доводы типа сложно подключить Mongo или архитектура не такая - это уже вопрос кривизны рук, знания фреймворка и внедряемой технологии.

  • @vasisafronov
    @vasisafronov Рік тому +3

    FastAPI очень новый? Первый релиз был опубликован 15 декабря 2018 года!!! Это типа "очень новый"?)) А я думал очень новые это блэкшип и лайтстар))) "все вот это придется писать самому" - а что все? алхимию установить в одну команду? если ты делал это однажды, то проблем не возникнет, сам джанго дольше настраивать будешь)) Нужно было упомянуть что MVC в джанго это не тот привычный MVC паттерн из учебников, в джанго даже его извратили по своему. Почему не озвучена проблема "а где писать бизнес логику в джанго" об это спотыкается каждый. В итоге тебе все равно приходится переизобретать архитектуру проекта)) В добавок если ты понимаешь джанго, то у тебя нет особых проблем сделать структуру проекта в стиле фласка/фастапи.

    • @РжавыйДрандулет
      @РжавыйДрандулет Місяць тому

      Охохохо
      я конечно сам вообще с автором не согласен, но вот "алхимию установить в одну команду"
      Ага конечно
      Она безусловно простенькая, но один хер придется расписать все самому буквально, когда как в джанго это из коробки

  • @Edvard-Aliev
    @Edvard-Aliev Рік тому +2

    Python крутой по этому в 2023 я перешёл на golang и микросервисы.

  • @КоньЛюдоед-ф6ф
    @КоньЛюдоед-ф6ф Рік тому

    блин а ссылочку сразу бы указали на тему "у меня было видео о том что невсегда нужны микросервисы"

  • @СергейКоновалов-с5к
    @СергейКоновалов-с5к 7 місяців тому

    сижу читаю fastaapi и Jinja2 😁

  • @alexchto
    @alexchto Рік тому

    Этот вопрос скорее для вкатывателей в ай ти. Что учить, чтобы быстрее найти работу

    • @yuriyokal7307
      @yuriyokal7307 Рік тому

      использую кривую логику из контроллера напрямую обращаться к entity и прописывать бизнес логику в контроллере и говорить что джанго не даёт внедрять архитектуру, печалька чему вкатывателей учат...

    • @ДаниилСоловьев-э6ш
      @ДаниилСоловьев-э6ш Рік тому +3

      Забудьте об этом) Айти сейчас другое, быстро не получится вкатиться. Если хотите на работу, то подготовьте подушку безопасности на ближайшие полтора или 2 года и начинайте ботать с азов computer science.

    • @yuriyokal7307
      @yuriyokal7307 Рік тому

      @@ДаниилСоловьев-э6ш а у вас получилось вкатиться?)

    • @ДаниилСоловьев-э6ш
      @ДаниилСоловьев-э6ш Рік тому

      @@yuriyokal7307 да, но как вспомню, что буквально 4 года назад брали просто за знания синтаксиса, аж не по себе становится. Я учил CS, потом переходил с одного направления на другое, изучал python, js, go, потом случайно попал на работу фулл-стеком

    • @societedetesteble5796
      @societedetesteble5796 Рік тому +2

      @@ДаниилСоловьев-э6ш ботать с азов computer science? не соглашусь в корне с этим выражением. imagine лицо человека, который полгода тратит свою подушку безопасности, но еще не начал вкатываться даже в яп, в веб. слишком громкое выражение "ботать". можно посмотреть, поучить, что интересует - потыкать, этого хватит трейни вполне даже сейчас.

  • @ctsrazor
    @ctsrazor Рік тому +1

    Не имеет смысла тратить время на изучение fastapi, к тому же когда есть lightstar. А Django как и Laravel это стандарт индустрии. Это своя отдельная вселенная со своими нюансами.
    Если кому-то нужен инструмент что бы быстро перекладывать json в базу и обратно то для этих целей есть go, который делает это в разы быстрее

    • @vasisafronov
      @vasisafronov Рік тому +2

      Лайтстар очень молодой как раз. Если ты пишешь апишки для микромагазинов продажи всякого хлама, то конечно можешь тащить джанго и что угодно. Но обычно отталкиваются от экспертизы команды разработки и от того какой фреймворк заапрувили безопасники. Лайтстар крутой, но сырой) А вот как раз фастапи это уже стандарт практически, к тому же с обновлением пайдантика до 2 версии он стал практически таким же быстрым, как лайтстар с мсгспек. Джанго использовать в 2023 году хоть для чего-то вообще намекает на отсталость техлида в команде.

  • @JustLikeChannel
    @JustLikeChannel Рік тому

    на счет: "всего 2 варианта" это не правда

  • @АртемАртеменконезабывайвыходит

    покажешь как парсить соц сети с промедутком в 10-15 минут на фастапи используя ребит?

    • @moderaptor
      @moderaptor Рік тому

      может ещё показать как hello world написать ?

    • @artemunix5223
      @artemunix5223 Рік тому +1

      @@moderaptorа ты сможешь?

    • @moderaptor
      @moderaptor Рік тому

      @@artemunix5223 не, я ток трусить хрень в интернете могу. а так у меня свой бизнес

  • @nadyashaymardanova6000
    @nadyashaymardanova6000 3 місяці тому

    😀

  • @Mrnsky
    @Mrnsky Рік тому

    все у автора в джанго очень очень сложно проблема не в джанго а в авторе

  • @VitalySem
    @VitalySem Рік тому +4

    У Django не MVC, a MVT

    • @ДаниилСоловьев-э6ш
      @ДаниилСоловьев-э6ш Рік тому +2

      MVT это реализация MVC в Django

    • @VitalySem
      @VitalySem Рік тому +5

      @@ДаниилСоловьев-э6ш , ну, тим не менше, кажуть, не плутати ці поняття. Холіварна тема)

  • @lexkosha
    @lexkosha Рік тому +15

    😂 поржал. Парень точно не знает Django, Монго сложно подключить? Удаляй питон парень))))

    • @deadbasside694
      @deadbasside694 Рік тому +2

      В джанго кусок говна вместо архитектуры, зайди в исходники. Так что не обольщайся)

    • @kieled6530
      @kieled6530 Рік тому +1

      ​​@@deadbasside694 ага, поэтому он используется в продакшене уже столько лет крупнейшими компаниями. Какие именно моменты в архитектуре сорцов джанги тебя смутили? Не пытался ли ты понять почему так было сделано?

    • @Fartek2
      @Fartek2 Рік тому

      @@kieled6530 в Джанго правда очень много бойлерплейта

    • @Fartek2
      @Fartek2 Рік тому

      @@kieled6530 очень мало новых проектов начинаются на Джанго, так что про код в продакшене спорно

    • @kieled6530
      @kieled6530 Рік тому +5

      @@Fartek2 откуда цифры что сейчас мало проектов начинается на django. Это по-прежнему популярнейший фреймворк на python. Он развивается и приобретает новые фичи. То что хайп переключился на другой язык программирования не значит что в новых проектах он не используется. Я, например, вижу что Django более распространен как на рынке труда, так и в качестве фреймворка для новых проектов. Фриланс рынок тоже насыщен более в сторону Django. С обучающими материалами как платными, так и бесплатными все дела обстоят точно так же

  • @jamjam3337
    @jamjam3337 Рік тому

    👏👍

  • @ShowNoMercy
    @ShowNoMercy Рік тому +4

    DRF ужасен. Сериализаторы убогие и не интуитивные.
    Django filters плох, лучше самому писать.
    Асинхронки нету, серверы буду жрать нереально.
    Сейчас лучшие варианты:
    1) Нужен HTML?
    Django (+alpine,+htmx) + Django Ninja.
    2) API only + нужно быстро но красиво?
    Fastapi + Dependency Injector (DDD, repository pattern) + Django ORM/Admin/Migrations.
    3) API only и времени заказчик даёт вагон? (не актуально в 99% случаев)
    Fastapi + Dependency Injector (DDD, repository pattern) + sqlalchemy/mongoengine
    Проблема с sqlalchemy в основном в том, что ORM только для синхронки, а для асинхронки юзай core.
    Проблема со всеми остальными Postgres orm в кривейших миграциях и отсутствии ряда фишек.
    Так что у нас 3 orm на выбор, может ещё peewe, не особо знаком.
    4) Микросервисы? Не много?
    Если не много, то monorepo на django + fastapi/django ninja.
    И сплитим аккуратно. Но в целом надо думать тут.
    5) Микросервисы? Много?
    Киваем куда-то в сторону коллег с Java (Spring Boot) / JS (Nest)
    На питоне можно написать микросервис, но не целую микросервисную архитектуру (в разумные сроки и с разумным к-вом багов имею ввиду), нет фреймворка.

    • @Fartek2
      @Fartek2 Рік тому +1

      в алхимии давно уже с 1.4 версии есть асинк, сейчас уже релиз 2.0 официально вышел(тоже полная поддержка асинка)

    • @ShowNoMercy
      @ShowNoMercy Рік тому

      @@Fartek2 в 1.4 он такой себе. и в доках писали, что не продакшин реди. спасибо, гляну 2.0. ещё бы celery добавили поддержку asyncio

    • @stoparb357
      @stoparb357 Рік тому

      @@ShowNoMercy в celery асинк? типа для асинхронных библиотек, которые будут в нем исполняться или какой смысл?

  • @semyonmityaev
    @semyonmityaev Рік тому +2

    ПаттЭрны... аааа... Кровь из ушей. пАттерны, мазафака, Википедия гугл фирштейн?

  • @dedpihto680
    @dedpihto680 11 місяців тому

    чушь какаято. ролик ни о чем. если вы чего то не можете сделать в джанго значит вы плохо его знаете. а если в нем все таки чего то нет что вам нужно то всегда можно найти и прикрутить туда нужную библиотеку на питоне. к тому же большая часть работы в интернете это сопровождение уже готового проекта на джанго или его допиливание и тд. короче если вы новичок зашли сюда чтото выбрать то вам полюбому джанго. а если вы про то и сами разберетесь что и для чего вам нужно без роликов на ютубе.
    особенно новички недооценивают систему авторизации. многие фишки безопасности скрыты в недрах джанго вы никогда или не скоро сможете что такое же написать

  • @nadyashaymardanova6000
    @nadyashaymardanova6000 Рік тому +1

    😠

  • @UladzimirShytsko
    @UladzimirShytsko Рік тому

    Очень очень очень очень очень ...