движок fast app что это

Новый сервис Huawei позволяет запускать Android-приложения без установки

С тех пор, как Huawei запретили пользоваться сервисами Google, китайцы пытаются всячески минимизировать понесённые из-за этого потери. Сначала Huawei взялась перевыпускать уже существующие смартфоны под новыми названиями и с более продвинутым «железом». Это позволило ей продолжить устанавливать на них Google Play Services, потому что по документам это были не новые устройства, а старые, на которые санкции США не распространяются. Тем не менее, очень быстро стало понятно, что бесконечно долго на этом выезжать не получится и надо делать что-то на перспективу.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Huawei развивает свой магазин приложений, делая его похожим на Google Play

Читайте также: Сколько приложений работают с Huawei Mobile Services

Первоочередной целью Huawei было создать конкурентоспособный магазин приложений. Несмотря на то что у неё уже был каталог AppGallery, его предстояло наполнить софтом, чтобы он стал интересен не только китайской аудитории, для которой изначально и создавался, но и всем остальным. Это было сложной задачей, но Huawei, надо отдать ей должное, довольно неплохо с ней справилась и расширила ассортимент AppGallery настолько, что им даже стало можно пользоваться в России. А чтобы стало совсем здорово, китайцы решили позволить владельцам фирменных смартфонов запускать приложения для Android без установки.

Как запускать приложения без установки

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Quick Apps доступен только в AppGallery

Механизм, который обеспечивает запуск приложений без предварительной установки, называется Quick Apps и, по сути, является аналогом Instant Apps от Google. Поэтому ограничения, которыми они связаны, у них примерно одинаковы. Из-за того, что софт не может сохранить в памяти устройства все свои файлы, то и его функциональность будет неполной. В результате, если вы попробуете запустить игру без установки, скорее всего, вам будет доступна только пара первых уровней, а для продолжения придётся произвести полную установку.

Тем не менее, Huawei уверяет, что благодаря Quick Apps пользователи смогут экономить пространство при использовании тяжёлых приложений, требовательных к ресурсам. Получается, что большая часть функций ПО, установленного таким образом, всё-таки сохранится, хотя это только предстоит проверить. Но, если китайцы действительно позволят пользоваться большей частью возможностей приложений из AppGallery, не устанавливая их, это будет прорыв.

Как работает Quick Apps

Несмотря на то что утверждается, что Quick App не требует установки приложения в принципе, на самом деле это не совсем так. Чтобы игра или программа запустились, необходимо, чтобы небольшой пакет данных всё-таки был загружен на устройство. Однако его объём чаще всего не превышает 3% от суммарного веса приложения, которое пользователь хочет опробовать. Это, во-первых, отличный способ сэкономить доступное пространство, если его немного, а, во-вторых, очень удобно в качестве продвинутого демо-режима. Активация Quick Apps происходит по нажатию на отдельную кнопку, которая располагается в интерфейсе рядом с кнопкой загрузки.

Читайте также: Huawei не вернётся на Android после запуска HarmonyOS

Прямо сейчас механизм Quick Apps доступен только на Huawei Mate 30 и Mate 30 Pro, потому что им действительно нужнее. Дело в том, что это единственные смартфоны компании, которые изначально несовместимы с сервисами Google, а потому их владельцам приходится обходиться собственными службами Huawei, во многом не дотягивающими до решения поискового гиганта. Впрочем, есть надежда, что совсем скоро китайцы развернут Huawei Mobile Services среди всех пользователей и тогда все мы сможем без проблем испытать Quick Apps в реальных условиях.

Источник

Почему стоит начать использовать FastAPI прямо сейчас

Привет, Хабровчане! В преддверии старта занятий в группах базового и продвинутого курсов «Разработчик Python», мы подготовили для вас еще один полезный перевод.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Python всегда был популярен для разработки легковесных веб-приложений благодаря потрясающим фреймворкам, таким как Flask, Django, Falcon и многим другим. Из-за лидирующей позиции Python как языка для машинного обучения, он особенно удобен для упаковки моделей и предоставления их в качестве сервиса.

В течение многих лет Flask был основным инструментом для таких задач, но, если вы еще не слышали, на его место появился новый претендент. FastAPI – это относительно новый фреймворк на Python, создание которого было вдохновлено его предшественниками. Он совершенствует их функционал и исправляет множество недостатков. FastAPI был построен на базе Starlette, и несет в себе кучу потрясающих функций.

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

Прекрасный простой интерфейс

Все фреймворки вынуждены балансировать между функциональностью и предоставлением свободы разработчику. Django мощный, но слишком упрямый. С другой стороны, Flask достаточно высокоуровневый, чтобы обеспечить свободу действий, но многое остается за пользователем. FastAPI в этом плане ближе к Flask, но ему удается достичь еще более здорового баланса.

Для примера, давайте посмотрим, как в FastAPI определяется конечная точка.

Простой пример приложения с uvicorn :

Теперь приложение может принимать запросы. В этом случае запрос будет выглядеть следующим образом:

Вишенкой на торте будет автоматическая генерация документации в соответствии с OpenAPI с помощью интерактивного интерфейса Swagger.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это
Интерфейс Swagger для приложения на FastAPI

Async

Одним из самых больших недостатков веб-фреймворков Python WSGI по сравнению с аналогичными в Node.js или Go, была невозможность асинхронной обработки запросов. С момента появления ASGI – это больше не проблема, и FastAPI в полной мере реализует эту возможность. Все, что вам нужно сделать – это просто объявить конечные точки с помощью ключевого слова async следующим образом:

Внедрение зависимостей

В FastAPI есть действительно классный способ управления зависимостями. Несмотря на то, что разработчиков не заставляют насильно использовать встроенную систему внедрения для обработки зависимостей на конечных точках, такой способ работы настоятельно рекомендуется.

Для примера, давайте создадим конечную точку, где пользователи могут оставлять комментарии к определенным статьям.

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

Легкая интеграция с базами данных

Что бы вы ни выбрали, будь то SQL, MongoDB, Redis или что-нибудь другое, FastAPI не заставит вас строить приложение вокруг базы данных. Если вы когда-нибудь работали с MongoDB через Django, вы знаете, насколько это может быть болезненно. С FastAPI вам не нужно будет делать лишний крюк, поскольку добавление базы данных в стек пройдет максимально безболезненно. (Или, если быть точнее, объем работы будет определяться выбранной базой данных, а не сложностями, появившимися из-за использования какого-то конкретного фреймворка.)

Серьезно, посмотрите на эту красоту.

Вуаля! Уже вижу, как вы печатаете

в терминале на своем компьютере.

Поддержка GraphQL

Когда вы работаете со сложной моделью данных, REST может стать серьезной преградой. Очень не круто, когда малейшее изменение на фронте требует обновления схемы конечной точки. В таких случаях спасает GraphQL. Несмотря на то, что поддержка GraphQL – это не что-то новое для веб-фреймворков Python, Graphene и FastAPI хорошо работают вместе. Нет необходимости дополнительно ставить какие-либо расширения, например graphene_django для Django, все просто будет работать с самого начала.

+1: Отличная документация

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

Если вы хотите увидеть FastAPI в действии, то у меня для вас припасено отличное руководство. Я написал подробную инструкцию, с помощью которой вы можете развернуть свою модель машинного обучения на Docker, Docker Compose и GitHub Actions!

Подводя итог, независимо от того ищите ли вы быстрый и легкий фреймворк для работы с вашей моделью глубокого обучения или же что-то более сложное, FastAPI – это ваш вариант. Я почти наверняка уверен, что он вам подойдет.

Источник

Fast app resume для Windows Phone 8

В продолжение последней статьи про интеграцию в хаб «Фотографии» сегодня раскроем тему Fast Application Resume, которая появилась в WP8, и рассмотрим, для чего он нужен и какие преимущества дает использование этой функции, а также различные сценарии использования App Resume.

Забегая вперед, хотелось бы отметить упомянутую проблему использования Fast Resume вместе с Photo Sharing, Push Notification и т.д. Как оказалось, проблемы нет. Почти нет. Если пользователь обновил свой телефон (WP8 Update 3), то с новым обновлением проблем с переходом по Url уже нет. Однако коллега texnedo показал один интересный сценарий, при котором наблюдается баг с AppResume. Если в приложении включен App Resume и залочить экран не сворачивая приложения, то приложение просто восстанавливается без перехода по toast url.

Для чего нужен App Resume?

При классической модели выполнения приложения, клик по тайлу (на рабочем столе или при клике в списке приложений) не только запускает, но и перезапускает приложение, если оно было запущено и свернуто. В некоторых случаях проще не перезапускать приложение, а возвращаться в уже запущенное приложение так, словно пользователь вернулся по кнопке «Назад». Для «тяжелых» приложений значительно быстрее вернуться в запущенное приложение, нежели перезапускать его и заново инициализировать данные, что субъективно сокращает время «запуска».

Как и в случае с Fast Application Switch (в отличие от App Resume, эта возможность быстрого возврата в запущенное приложение после сворачивания по кнопке «Назад»), App Resume не является заменой Tombstone и нужно учитывать, что если приложение «уснуло», то необходимо полностью сохранять данные и самостоятельно их восстанавливать.

Теперь рассмотрим, как интегрировать эту фичу в приложение, рассмотрим различные сценарии возврата.

Как включить App Resume

Включить эту возможность достаточно просто: все, что надо сделать, это открыть файл WMAppManifest.xml в режиме редактирования XML (в контекстном меню – Open With – Xml editor) и дописать атрибут:

В конечном итоге строка по умолчанию в манифесте вида:

будет выглядеть следующим образом:

Как работает App Resume

Для демонстрации деталей работы App Resume сделаем простое приложение с возможностью навигации между двумя страницами. Также на обеих страницах будем выводить значение какой-нибудь переменной, которое можно будет менять по кнопке, и будем показывать историю навигации, в том числе, было ли приложение запущено или активировано.

Для простоты, значение переменной сохраним в памяти в статичном классе в статичном поле и будем выводить на обеих страницах в OnNavigateTo

Для того, чтобы разобраться, как именно работает App Resume, мы должны временно закомментировать строчку:
RootFrame.Navigated += CheckForResetNavigation;
в App.xaml.cs, где в обработчике хранится код.

В первую очередь проверим Fast Application Switching. Запустим приложение и увеличим счетчик до какого-нибудь числа (пускай будет 4) и посмотрим, что у нас будет до сворачивания приложения и возврата по кнопке «Назад»

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Как мы и ожидали, вся разница в способе запуска приложения. Изначально приложение было запущено, а потом активировано по кнопке «Назад».

А теперь посмотрим, что было бы, если бы мы свернули приложение и вместо кнопки «Назад» запустили приложение через основной тайл приложения.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Как мы видим, приложение было запущено, а не активировано, и мы оказались на главной странице. Кроме того, значение переменной было сброшено. Явно необходимо восстанавливать все пользовательские данные из хранилища.

А теперь, если включить в манифесте App Resume, то, в конечном итоге, мы увидим другую картину:

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

А вот это уже интереснее — приложение было активировано, а не запущено, при этом мы оказались на главной странице и значение счетчика сохранилось! А нашу вторую страницу мы увидим, только если нажмем кнопку «Назад». Если бы мы не выводили историю навигации, то можно было бы подумать, что приложение было просто перезапущено. Самое интересное началось бы, когда пользователь попытался выйти из приложения по кнопке «Назад» — для этого ему придется три раза нажимать эту кнопку. Далее мы рассмотрим, для чего был так сделан App Resume и какие сценарии использования такого поведения мы можем использовать.

App Resume как способ «быстро запуска» приложения

То, что мы видели в предыдущем разделе, дает интересную пищу для размышлений. Мы можем использовать App Resume для быстрого запуска приложений с сохранением всех данных, загруженных в память, но нам надо избавиться от старой истории навигации. То есть по сути пользователь должен по кнопке «Назад» выти из приложения. Если вы создаете свое WP8-приложение в студии начиная с версии VS2012, то необходимые методы уже добавлены в сгенерированный проект. Для рассмотрения работы App Resume мы временно закомментировали строку с обработчиком App Resume:
RootFrame.Navigated += CheckForResetNavigation;

Если мы раскомментируем эту строку, то уже не увидим историю навигации.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

По сути, выглядит так, словно приложение было запущено (пользователь попадает на главную страницу и по кнопке «Назад» выйдет из приложения), но при этом данные в памяти остались.

Рассмотрим подробнее, что выполняется в этом методе.

В методе InitializePhoneApplication (файл app.xaml.cs) есть отдельная подписка на событие Navigated:
RootFrame.Navigated += CheckForResetNavigation;

История навигации удаляется по аргументу Reset:

И, соответственно, далее в методе ClearBackStackAfterReset чистится история навигации:

Почему здесь есть подписка на New и Refresh? Рассмотрим на нашем примере.

Если мы используем App Resume, находясь на второй странице, то мы можем сделать точку остановки в методе OnNavigateTo нашей странице и увидеть, что страница запускается с параметром New. Однако, если мы уже находились на главной странице в момент сворачивания приложения, то мы вернемся на главную сначала с параметром навигации Reset, а уже потом с параметром навигации Refresh, что и обрабатывается в этом методе.

Далее рассмотрим еще один интересный сценарий использования App Resume — когда мы не запускаем приложение, а возвращаемся в него.

App Resume для возврата в запущенное приложение. «Как в iOS или WP8.1»

Прошел слух, что теперь приложения под WP8.1 по основному тайлу будут не перезапускаться по умолчанию, а восстанавливаться. Так это или не так, мы можем узнать только после Build. А пока мы можем сделать поведение «как в iOS», то есть если пользователь свернул приложение и нажал на основной тайл, то попадает на ту же страницу, где он был, а приложение не перезапускается. Важно понимать, что надо использовать эту возможность не для того, чтобы сделать «как в iOS», а для того, чтобы сделать действительно удобное и качественное приложение, которым будет удобно пользоваться. Да и в целом в WP-пользователи привыкли, что приложения при нажатии на основной тайл, скорее всего, перезапустятся.
По сути, пользователь должен попадать в свое приложение так же, как если бы он просто переключился на приложение по кнопке «Назад», с сохранением истории навигации и пользовательских данных на экране.

Нам необходимо обработать два основных сценария поведения:
1. Пользователь нажимает на тайл приложения.
2. Пользователь активирует приложение по ссылке (Push Notification, Secondary Tile, Photo Share и т.д.)

В первом случае, для реализации этого сценария в первую очередь отключим сброс истории при App Resume:
в App.xaml.cs удаляем подписку на Navigated и метод CheckForResetNavigation, подписываемся на событие Navigating (оно наступает ДО того, как мы перейдем на страницу и можем отменить переход):
RootFrame.Navigating+=ContinueExecution;

При запуске приложения мы можем увидеть в методе, что сначала приходит событие с аргументом Reset, а затем событие с аргументом New при клике на тайл приложения.

С учетом этого поведения подробнее рассмотрим реализацию ContinueExecution:

Метод ClearBackStackAfterReset генерируется студией для новых WP8-проектов и просто очищает историю навигации:

Как мы можем здесь видеть, было добавлено условие проверки на стартовую страницу:

Проверка необходима для второго сценария, когда свернутое приложение активируется по вторичным тайлам, Push Notification и т.д.
В этом случае будет очищена история, и после активации приложения и обработки пользовательской истории по кнопке «Назад» мы выйдем из приложения.

Если же вы хотите, к примеру, по Push Notification не удалять историю, а продолжать пользоваться приложением, то достаточно удалить строку
RootFrame.Navigated+=ClearBackStackAfterReset;
или же добавить еще одно условие для ссылок с Push Notification.

Для демонстрации работы второго сценария добавим на следующую страницу кнопку для генерации второй ссылки:

Добавим довольно простой обработчик для этой кнопки:

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

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Несмотря на простоту App Resume, объяснение принципов работы получилось довольно объемным. Как мы видим, с помощью App Resume можно не только ускорить запуск приложения, но и сделать поведение приложения «как в iOS». Особенно важно также не забывать про Tombstone в сценарии восстановления приложения по тайлу. В этом случае у нас сохранится вся история навигации, но при этом все пользовательские данные в памяти будут уничтожены и нам необходимо восстановить их на экране из хранилища.

Источник

Как начать работать с FastAPI на Python

Когда веб-фреймворки Python, такие как Flask и Django, впервые появились и начали приобретать популярность и известность, Python был несколько другим языком, чем сегодня. Многие элементы современного Python, такие как асинхронное выполнение и стандарт ASGI (Asynchronous Server Gateway Interface), на тот момент либо находились в зачаточном состоянии, либо еще не существовали. Поэтому не удивительно, что сейчас возникают новые фреймворки. Один из них — FastAPI. В этой статье мы разберем, как начать работать с FastAPI на Python.

FastAPI – это веб-фреймворк Python, который изначально создавался для использования современных функций Python. Он использует стандарт ASGI для асинхронного, конкурентного соединения с клиентами. При необходимости также может работать с WSGI. Асинхронные функции могут использоваться для маршрутов и конечных точек. Кроме того, FastAPI позволяет быстро и эффективно создавать веб-приложения с чистым, современным Python-кодом, с подсказками типов.

Как следует из названия, основным вариантом использования FastAPI является создание конечных точек API. Для этого нужно просто вернуть данные словаря Python в формате JSON или использовать стандарт OpenAPI, включая интерактивный Swagger UI.

Но FastAPI никоим образом не ограничивается API. С его помощью можно сделать практически все, что делают с использованием веб-фреймворков. От доставки простеньких старых веб-страниц с применением движка шаблонов Jinja2 до обслуживания приложений на базе WebSockets.

Установка FastAPI

FastAPI может устанавливать довольно много компонентов самостоятельно. Поэтому лучше начинать любой проект на FastAPI в новой чистой виртуальной среде.

Вам также потребуется установить сервер ASGI для локального тестирования.

Простой пример использования FastAPI

Простое приложение на FastAPI выглядит следующим образом:

Когда все заработает, перейдите по ссылке http:\\localhost:8000 (дефолтный адрес для тестового сервера Uvicorn на вашей локальной машине). В браузере вы увидите <"greeting": "Hello world">– валидный ответ JSON, сгенерированный из словаря.

Надеемся, этот пример даст вам представление о том, насколько легко FastAPI позволяет передавать JSON. Все, что нужно сделать, это создать маршрут и вернуть словарь Python, который будет автоматически сериализован в JSON.

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

Марк Лутц «Изучаем Python»

Скачивайте книгу у нас в телеграм

Общие принципы приложения FastAPI должны быть знакомы любому, кто работал с таким фреймворком, как Flask:

Но всё же у FastAPI есть свои особенности. Во-первых, функции маршрутизации могут быть асинхронными. Поэтому любые развертываемые асинхронные компоненты – например, соединение промежуточного программного обеспечения асинхронной базы данных – также могут работать в этих функциях.

Обратите внимание, что ничто не мешает вам использовать обычные функции синхронизации, если они нужны. Допустим, у вас есть операция, требующая больших вычислительных ресурсов (в отличие от операции, ожидающей ввода-вывода — что является лучшим вариантом использования асинхронного режима). В таком случае будет лучше использовать функцию синхронизации и позволить FastAPI разобраться с ней. В остальных случаях используйте асинхронность.

Типы маршрутов в FastAPI

Вы также можете поддерживать несколько методов на заданном маршруте. Для этого нужно просто обернуть несколько функций маршрутизации, например @app.get («/») для одной функции и @app.post («/») для другой.

Параметры путей, запросов и форм

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

Чтобы извлечь параметры запроса из URL-адреса, можно использовать типизированные объявления в функции маршрутизации, которые FastAPI обнаружит автоматически:

Обработка данных формы происходит немного сложнее. Во-первых, вам нужно установить дополнительную библиотеку python-multipart для анализа данных формы ( pip install python-multipart ). Затем вы сможете использовать синтаксис, аналогичный синтаксису параметров запроса, но с некоторыми изменениями:

Типы ответов в FastAPI

Типом ответа по умолчанию для FastAPI является JSON. Все примеры, которые мы видели до сих пор, возвращают данные, которые автоматически сериализуются как JSON. Но вы можете возвращать данные и в другом формате.

Модуль fastapi.responses поддерживает множество распространенных типов ответов:

Кроме того, вы можете использовать общий объект Response и предоставить собственный настраиваемый код состояния, заголовки, контент и тип мультимедиа.

Объект Response в FastAPI

Файлы cookie в FastAPI

Получение файлов cookie от клиента работает примерно так же, как обработка параметров запроса или формы:

Использование моделей Pydantic с FastAPI

Типы в Python, как правило, необязательны. Однако FastAPI больший «приверженец» использования типов, чем многие другие фреймворки Python. Для декларативной проверки отправленных данных он использует библиотеку Pydantic, так что вам не придется прописывать эту логику самостоятельно.

Вот пример того, как с помощью Pydantic можно проверить входящий JSON:

Если бы year был строкой, которую можно интерпретировать как целое число (например, «2018» ), он был бы автоматически преобразован в правильный тип данных. Но значение year, которое нельзя интерпретировать как целое число (к примеру, «год 21» ), было бы отклонено.

Использование Swagger/OpenAPI в FastAPI

OpenAPI (ранее известный как Swagger) представляет собой стандарт в формате JSON для описания конечных точек API. Клиент может прочитать определение OpenAPI для конечной точки и автоматически определить схемы для данных, отправляемых и получаемых API веб-сайта.

FastAPI автоматически генерирует определения OpenAPI для всех конечных точек вашего сайта. Если вы посетите /openapi.json в корне сайта FastAPI, вы получите файл JSON, описывающий каждую конечную точку и данные, которые она может получать и возвращать.

Еще одно удобство, предоставляемое FastAPI, – это автоматически генерируемые интерфейсы документации для ваших API, с которыми вы можете взаимодействовать через веб-интерфейс.

FastAPI также предоставляет хуки для расширения или изменения автоматически сгенерированной схемы, а также для ее условного создания или даже отключения.

движок fast app что это. Смотреть фото движок fast app что это. Смотреть картинку движок fast app что это. Картинка про движок fast app что это. Фото движок fast app что это

Заключение

Итак, мы рассмотрели особенности фреймворка FastAPI и разобрали, как начать с ним работать на Python. Также мы привели несколько примеров использования FastAPI. Надеемся, теперь у вас есть понимание основ работы с данным фреймворком. Успехов в написании кода!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *