🧐Почему Python хорош для веб-разработки?💡Несмотря на то что в современном Вебе можно фактически без бэкенда — чисто на фронтенд-технологиях, на JavaScript — собрать себе single page application или progressive web application, все равно это слишком сложно, плохо индексируется и требует крутых разработчиков.Если мы хотим сделать сайт или сервис, мы используем комбинированный подход: у нас какой-то бэкенд осуществляет логику и создает веб-страницы и какой-то фронтенд рисует эти веб-страницы в браузере. И когда нам надо быстро это все на чем-то собрать, то выбора особо нет.🤔Возможные варианты.C#. Microsoft действительно молодцы, они сделали .NET Core и всячески ее продвигают. Но, во-первых, это новая кроссплатформенная технология, и там еще не все гладко. Во-вторых, это действительно дорого, разработчиков C# мало — просто потому, что она непопулярна.
Java. Это сложно. Сделать нормальный сайт на Java — это не 10 строчек кода, как на Python. Это много кода, это фреймворки, и нужно знать специфику настройки Java-серверов. В общем, сплошные боль и страдания.
PHP. В последних версиях он замечательный, но нельзя просто так взять и использовать PHP 7.2. Если обычный, не топовый разработчик делает сайт на PHP, он не будет писать только на 7.2: все равно придется читать какие-то учебники, туториалы, везде куча legacy-кода, и это не очень хорошо.
JavaScript и Node.js. Это замечательно и очень современно, когда один язык и на фронтенде, и на бэкенде. Только не очень стабильно. Node.js — хорошая штука, но проблематично развернуть ее в продакшене так, чтобы она не падала и работала устойчиво. Плюс, если мы хотим писать качественный код на JavaScript, нам нужен не JavaScript, а TypeScript. А вот TypeScript неожиданно сложный, при виде него у рядового разработчика вскипают мозги.
✅А вот преимущества python в веб разработке перед главным конкурентом PHP.1. Продуманный дизайн2. В простоте обучения Python выигрывает3. Улучшенная структура4. Python более читабельный стек5. Синтаксис намного проще, чем PHP6. Более простые и легкодоступные инструменты Инструменты отладки7. Явный победитель в управлении пакетами8. Лямбды, предоставляемые Python, дают преимущество перед PHР9. Python более универсален, чем PHP10. Огромная поддержка и сообществоЧто входит в базис для веб-разработки на Python📄Веб-фреймворки Django, Flask, aiohttp, Tornado и т. д. (и знать о существовании остальных).
📄Протоколы и API: в первую очередь http, JSON-RPC, Protocol Buffers, gRPC.
📄ORM и миграции, реляционные базы данных, SQLAlchemy, SQL, PostgreSQL, MySQL.
📄Основы HTML, CSS, Bootstrap, а также JS-фреймворки и JQuery.
📄Принципы работы приложений на продакшене, тестирование, юнит-тесты, автотесты, системы контроля версий, git.