1. 能被選為2021最佳開(kāi)源項(xiàng)目的WEB框架究竟有多棒?

        共 1811字,需瀏覽 4分鐘

         ·

        2022-01-23 15:03

        喜歡開(kāi)源的小伙伴,想必或多或少聽(tīng)說(shuō)過(guò)InfoWorld的年度最佳開(kāi)源軟件評(píng)選

        今年呢,哦不,應(yīng)該說(shuō)去年,也是評(píng)選出來(lái)了很多優(yōu)秀的開(kāi)源項(xiàng)目,覆蓋了軟件開(kāi)發(fā)、云計(jì)算、機(jī)器學(xué)習(xí)等多個(gè)不同的領(lǐng)域。

        TJ君呢今天要和大家分享的就是其中一個(gè)關(guān)于Web API框架的項(xiàng)目:

        FastAPI

        從名字我們不難想到,這應(yīng)該是一個(gè)與快速構(gòu)建API接口有關(guān)的項(xiàng)目。

        的確,F(xiàn)astAPI是一個(gè)高性能、易上手、可快速編碼的Web框架。

        項(xiàng)目是基于標(biāo)準(zhǔn)Python類(lèi)型使用Python 3.6+構(gòu)建API應(yīng)用,整個(gè)項(xiàng)目呢相比較其他而言框架,有著8大特點(diǎn):

        • 速度快。
        ?

        FastAPI,從名字就可想而知,速度一定是他引以為豪的一項(xiàng)優(yōu)勢(shì),項(xiàng)目擁有非常高效的性能。作者坦言,可以和NodeJS、Go一樣快速。

        • 編碼簡(jiǎn)單
        ?

        用了FastAPI,可以提升200%-300%的開(kāi)發(fā)效率(題外話,TJ君倒蠻好奇這個(gè)200-300%是有官方數(shù)據(jù)檢測(cè)出來(lái)的還是作者拍腦袋定下來(lái)的。。。)

        • 減少bug
        ?

        可減少40%人為造成的不小心的失誤,好吧,讓人有點(diǎn)敢想象機(jī)器人替代人類(lèi)的那一天。。。

        • 直觀性
        ?

        編輯器具有強(qiáng)大的支持功能,可以自動(dòng)補(bǔ)全每一處代碼,減少用戶的debug時(shí)間

        • 易上手
        ?

        不需要花太多的時(shí)間去學(xué)習(xí)就可以輕松上手入門(mén)并開(kāi)始使用。

        • 短!
        ?

        當(dāng)然不是指男人在意的那個(gè)短。。。這個(gè)短是指可以減少重復(fù)冗余的代碼,從而精簡(jiǎn)代碼減少bug提高性能。

        • 強(qiáng)健壯性
        ?

        擁有自動(dòng)交互式機(jī)制,方便獲取生產(chǎn)環(huán)境代碼。

        • 基于標(biāo)準(zhǔn)
        ?

        遵循最基本的API的開(kāi)放標(biāo)準(zhǔn),包括OpenAPI、JSON Schema,以使得有較高的兼容性。

        項(xiàng)目運(yùn)行的話需要Python 3.6+,安裝命令如下:

        $?pip?install?fastapi

        --->?100%

        對(duì)于Uvicorn或Hypercorn這些系列的產(chǎn)品,可能還需要額外安裝一個(gè)ASGI服務(wù)器。

        $?pip?install?"uvicorn[standard]"

        --->?100%

        我們可以看下main.py包括哪些內(nèi)容:

        from?typing?import?Optional

        from?fastapi?import?FastAPI

        app?=?FastAPI()


        @app.get("/")
        def?read_root():
        ????return?{"Hello":?"World"}


        @app.get("/items/{item_id}")
        def?read_item(item_id:?int,?q:?Optional[str]?=?None):
        ????return?{"item_id":?item_id,?"q":?q}

        運(yùn)行服務(wù)代碼:

        $?uvicorn?main:app?--reload

        INFO:?????Uvicorn?running?on?http://127.0.0.1:8000?(Press?CTRL+C?to?quit)
        INFO:?????Started?reloader?process?[28720]
        INFO:?????Started?server?process?[28722]
        INFO:?????Waiting?for?application?startup.
        INFO:?????Application?startup?complete.

        然后就可以在http://127.0.0.1:8000/docs看到交互式界面:

        更進(jìn)一步的操作,可能需要小伙伴自己嘗試摸索啦,作為InfoWorld獲獎(jiǎng)的項(xiàng)目,F(xiàn)astAPI對(duì)于像希望快速建立標(biāo)準(zhǔn)強(qiáng)大Web API的小伙伴,絕對(duì)是一個(gè)利器。官網(wǎng)上還有不少學(xué)習(xí)指引,想試一試的小伙伴,趕緊來(lái)下載吧。如果你有喜歡的其他獲獎(jiǎng)的開(kāi)源項(xiàng)目,也可以給TJ君留言,TJ君會(huì)挑選喜歡人數(shù)多的其他項(xiàng)目進(jìn)行介紹分享哦,記得關(guān)注TJ君哦!

        點(diǎn)擊下方卡片,關(guān)注公眾號(hào)“TJ君

        回復(fù)“fastapi”,獲取倉(cāng)庫(kù)地址

        最近兩周DD整理了一波面經(jīng),涵蓋阿里、騰訊、頭條等眾多大廠的真實(shí)面經(jīng)分享。最近打算跳槽的小伙伴可以點(diǎn)擊下方,關(guān)注公眾號(hào)“SpringForAll社區(qū)”,發(fā)送關(guān)鍵詞“2022Java面經(jīng)”獲取完整PDF哦!

        瀏覽 64
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 绳之韵捆绑丰满少妇 | 国产做受 高潮在线观看 | 北条麻妃在线视频 | 骚虎麻豆 | 午夜美女国产毛片福利视频 |