Top 13 Python-verkkokehystä, jotka kannattaa oppia vuonna 2020

Kehykset helpottavat kehittäjien elämää tarjoamalla heille rakenteen sovelluskehitystä varten. Ne automatisoivat yleisten ratkaisujen toteuttamisen, lyhentävät kehitysaikaa ja antavat kehittäjille mahdollisuuden keskittyä sovelluslogiikkaan rutiinielementtien sijaan.

Tässä artikkelissa jaamme listan kahdestatoista parhaasta Python-verkkokehyksestä, joista on hyötyä matkallasi ammattimaiseksi backend-kehittäjäksi ja nykyisten taitojesi parantamiseen.

Miksi Python-kehykset? Stack Overflow julkaisi hiljattain vuotuisen kehittäjäkyselynsä tulokset vuodelta 2019, jossa Python julistettiin nopeimmin kasvavaksi tärkeimmäksi ohjelmointikieleksi.

lähde: stackoverflow.blog

Ylivoimaisesti suosituimmat Python-kehykset ovat Django ja Flask. Se ei kuitenkaan tarkoita, että sinun pitäisi väheksyä muiden kehysten potentiaalia. Jokaisella niistä on ominaisuuksia, jotka voivat sopia täydellisesti verkkoprojektiisi.

lähde: jetbrains.com

Pitäkää mielessä, että Python-kehyksiä, joista tässä puhumme, ei ole lueteltu missään tietyssä järjestyksessä: olemme keskittyneet näyttämään, mitä voit tehdä, sen sijaan, että kertoisimme, mitä sinun pitäisi tehdä.

Joitakin asioita, joita kannattaa ottaa huomioon

Ensinnäkin, kun päätät, mitä kehystä haluat käyttää, katso projektisi kokoa ja monimutkaisuutta. Jos se, mitä aiot kehittää, on suuri järjestelmä, joka on täynnä ominaisuuksia ja vaatimuksia, full-stack-kehys saattaa olla oikea valinta. Jos sovelluksesi on pienemmällä ja yksinkertaisemmalla puolella, sinun kannattaa luultavasti harkita mikrokehystä.

Toiseksi sinun on tarkistettava, voiko harkitsemasi kehys skaalautua vertikaalisesti ja horisontaalisesti. Tämä on välttämätöntä projekteissa, joiden on tarkoitus toimia useilla palvelimilla, käsitellä valtavia liikennemääriä ja tukea uusien ominaisuuksien lisäämistä toiminnallisuuden parantamiseksi.

Kun olet valinnut kehyksen, ota yhteyttä kehittäjätiimiin ja pyydä heiltä tietoa sovelluksesi kehittämisen arvioiduista kustannuksista.

Täältä löydät tietoa joidenkin kehysten tyypistä ja painopisteistä. Lopullisen päätöksen tulisi kuitenkin perustua omaan ymmärrykseesi projektistasi ja tehtävistä, joita haluat yksinkertaistaa.

Kehykset voivat kuitenkin myös olla kehityksen tiellä. Kun valitset full-stack-kehyksen, allekirjoitat usein joukon rajoituksia. Voit tietysti keksiä keinoja kiertää ne, mutta ole varovainen, ettet käytä enemmän aikaa taistellaksesi omasta vapaudestasi kuin mitä olisit käyttänyt kirjoittaessasi sovellusta puhtaalla Pythonilla.

Full-stack-kehykset

Full-stack-kehys tai yrityskehys on kokonaisratkaisu, jossa kirjastot on konfiguroitu toimimaan saumattomasti yhdessä. Se tukee backend-palveluiden, frontend-käyttöliittymien ja tietokantojen kehittämistä. Full-stack-kehys tarjoaa kaiken, mitä kehittäjä tarvitsee sovelluksen rakentamiseen. Python tarjoaa useamman kuin yhden full-stack-kehyksen.

Django

Official Website | GitHub | PyPI | Awesome

GitHub Stars: 44,077 | GitHub Forks: 18,949

Django on ilmainen avoimen lähdekoodin täysimittainen Python-kehys. Se pyrkii sisältämään kaikki tarvittavat ominaisuudet oletusarvoisesti sen sijaan, että se tarjoaisi niitä erillisinä kirjastoina.

Joitakin Djangon esimerkinomaisia ominaisuuksia ovat sen autentikointi, URL-reititys, template-moottori, olio-relationaalinen kartoittaja (ORM, object-relational mapper) ja tietokantaskeemojen migraatiot (Django v.1.7+).

Nämä toiminnot tekevät Djangosta erittäin skaalautuvan, naurettavan nopean ja erittäin monipuolisen.

Django käyttää ORM:iä objektiensa kartoittamiseen tietokantataulukoihin. Sama koodi toimii eri tietokannoissa, eikä sitä ole vaikea siirtää tietokannasta toiseen. Tärkeimmät tietokannat, joiden kanssa Django toimii, ovat PostgreSQL, MySQL, SQLite ja Oracle, mutta kolmannen osapuolen ajurit mahdollistavat myös muiden tietokantojen käytön.

Djangon avulla voit askarrella minkä tahansa verkkosovelluksen pienistä projekteista monimutkaisiin verkkosivustoihin. Joustavuutensa ansiosta Djangoa käytetään myös MVP:iden laatimiseen, jolloin startup-yritykset voivat optimoida aikansa ja budjettinsa.

Djangon käyttäjäkunnan odotetaan kasvavan, sillä monet kehittäjät pitävät tätä kehystä parhaana valintana kehittyville teknologioille, kuten koneoppimiselle. Lisäksi Django-yhteisö aikoo julkaista vuonna 2020 lisää kirjastoja vastaamaan kasvavaan kysyntään.

Täällä SteelKiwissä käytämme Djangoa ensisijaisena kehyksenä backend-kehityksessä. Jos haluat nähdä uskomattomia sovelluksia, joita olemme jo kehittäneet Djangon avulla, käy projektit-sivullamme.

Pyramid

Official Website | GitHub | PyPI | Awesome

GitHub Stars: 3,215 | GitHub Forks: 866

Pyramid on avoimen lähdekoodin – ja toiseksi merkittävin – Python-pohjainen verkkosovelluskehys. Sen tavoitteena on tehdä mahdollisimman paljon mahdollisimman pienellä monimutkaisuudella. Python 3:lla toimiva Pyramid pysyy teknologisten parannusten mukana. Pyramid 1.10 on kehyksen nykyinen versio, ja se on kymmenes päivitys sitten vuoden 2010.

Pyramidin silmiinpistävin piirre on sen kyky toimia hyvin sekä pienten että suurten sovellusten kanssa. Joitakin Pyramidin hienoja ominaisuuksia ovat mm:

  • Yksittäisten tiedostojen sovellukset
  • URL:ien generointi
  • Laajennettavissa oleva konfigurointi
  • Kokonaisvaltaiset templatointi- ja omaisuuserittelyt
  • Joustava autentikointi ja auktorisointi
  • Testaaminen, tuki, ja kattava tietodokumentaatio
  • Näkymäpredikaatit ja monet reittikohtaiset näkymät
  • Toimintodekoraattorit
  • Predikaatit
  • Renderöijät

Pyramidin avulla kehittäjä voi päättää templatointikielen, generointikirjastot ja tietokantakerroksen.

Pyramid-yhteisö on aktiivinen ja sillä on monia julkaisuja. Kehittäjät voivat seurata kehyksen edistymistä liittymällä viralliseen IRC-kanavaan tai liittymällä Googlen ja Twitterin ryhmiin.

TurboGears

Official Website | GitHub | PyPI

GitHub Stars: 654 | GitHub Forks:

TurboGears on avoimen lähdekoodin, datapohjainen full-stack web-sovelluskehys. Se perustuu moniin väliohjelmistoihin ja moniin kirjastoihin, ja se on alun perin luotu yhdistämään muiden Python-kehysten parhaita komponentteja.

TurboGearsin avulla voit kehittää nopeasti laajennettavissa olevia datapohjaisia verkkosovelluksia. Siinä on käyttäjäystävällinen templating-moottori sekä tehokas ja joustava ORM. Suunnittelijoiden elämää helpottavien loistavien mallijärjestelmien lisäksi TurboGears tarjoaa paljon joustavuutta, vahvan tuen aggregaateille, tehokkaan ORM:n ja uudelleenkäytettäviä pätkiä.

Joitakin TurboGearsin tunnusomaisia ominaisuuksia ovat mm. seuraavat:

  • Multi-tietokantatuki
  • MVC-tyylinen arkkitehtuuri
  • Tuki SQLObjectille ja SQLAlchemylle
  • Kid ja Genshi mukana suosittujen templatointikielten joukossa
  • Validointi FormEncode:lla
  • Pylonit web-palvelimena
  • ToscaWidgets, sovelluskirjasto, joka helpottaa frontend-suunnittelun ja palvelinkehityksen koordinointia
  • PasteScript-mallit
  • Frontface WSGI-pohjaiset palvelimet (Paste HTTP-palvelin, CherryPy WSGI/HTTP-palvelin jne.)
  • Komentorivityökalut
  • MochiKit JavaScript-kirjaston integrointi
  • Kaikki ominaisuudet toteutettu funktioiden koristeina

Mitä tulee TurboGearsin tulevaisuuteen, niin yhteisö työskentelee tällä hetkellä parantaakseen kehyksen ominaisuuksia ja yleistä vakautta ja on julkaisemassa ”minimikoodia”. Tätä koodia kutsutaan myös mikrokehykseksi tai riisutuksi versioksi TurboGearsista. Minimikoodi auttaa kehittäjiä rakentamaan sovelluksia nopeammin, mikä säästää rahaa ja aikaa.

Web2py

Official Website | GitHub | PyPI

GitHub Stars: 1,794 | GitHub Forks:

Web2py on skaalautuva avoimen lähdekoodin full-stack Python-kehys. Se on erittäin tehokas datan käsittelyssä. Web2py tarjottiin alun perin opetusvälineeksi, jossa keskityttiin helppokäyttöisyyteen. Tämä selittää, miksi projektitason konfiguraatiotiedostoja ei ole.

Hienoa Web2py:ssä on kuitenkin se, että sen mukana tulee oma web-pohjainen IDE, joka sisältää muun muassa koodieditorin, debuggerin ja yhden klikkauksen käyttöönoton.

Muut arvokkaat Web2py-ominaisuudet ovat:

  • Ei asennus- ja konfigurointivaatimuksia
  • Kyky toimia Windowsissa, Macissa, Linuxissa/Unixissa, Google App Enginessä, Amazon EC2:ssa ja millä tahansa web-hostingilla, joka tukee joko Python 2.5-2.7 tai Java+Python
  • Monien protokollien luettavuus
  • Tietoturva, joka estää sellaiset haavoittuvuudet kuin cross-site scripting, injektiovirheet ja tiedostojen haitallista suorittamista
  • Ohjelmistosuunnittelukäytäntöjen menestyksekäs käyttö, mikä tekee koodista helposti luettavaa ja ylläpidettävää
  • Virheiden seuranta, perusteellinen virheiden kirjaaminen ja tiketöinti
  • Rooliin perustuva käyttöoikeuksien hallinta
  • Kansainvälistämisen tuki
  • Takaisinkompatibiliteetti, joka takaa käyttäjälähtöisen etenemisen menettämättä yhteyksiä aikaisempiin versioihin

Tikettijärjestelmä on Web2py:n tärkein ominaisuus; se antaa lippuja aina, kun virheitä ilmenee. Näin käyttäjät voivat seurata virheitä ja niiden tilaa.

Kaikista näistä eduista huolimatta Web2py-yhteisö on pienempi kuin Pyramidin tai Djangon yhteisö. Sitä ei käytä kovin moni kehittäjä. Tämä tarkoittaa, että mahdollisuudet saada tukea ovat pienemmät. Lisäksi virallinen postituslista ei ole kovin aktiivinen.

Mikrokehykset

Mikrokehyksestä eli minimalistisesta web-sovelluskehyksestä puuttuu suurin osa täysimittaisen kehyksen toiminnallisuudesta, kuten web-mallinnusmoottori, autentikointitoiminnallisuus, tilit, valtuutus, syötteen validointi ja syötteen puhdistus. Mikrokehys pyrkii tarjoamaan vain sovelluksen rakentamiseen tarvittavat komponentit. Se voi myös keskittyä tarjoamaan tarvittavan toiminnallisuuden yhtä tiettyä alaa varten.

Flask

Official Website | GitHub | PyPI | Awesome

Github Stars: 46,475 | GitHub Forks:

Flask on Python-kehys, joka on saatavilla BSD-lisenssillä. Se on saanut inspiraationsa Sinatra Ruby -kehyksestä. Flask on riippuvainen Werkzeug WSGI-työkalupakista ja Jinja2-mallista.

Flaskin pääidea on auttaa rakentamaan vankka web-sovelluspohja. Siitä käsin voit käyttää mitä tahansa tarvitsemiasi laajennuksia. Flask valitaan kaikkiin projekteihin. Itse asiassa se on oletusvalinta kaikkiin web-projekteihin, jotka eivät sovi Djangolle.

F Flaskin kevyt ja modulaarinen rakenne tekee siitä helposti mukautuvan kehittäjien tarpeisiin. Se sisältää useita hyödyllisiä out-of-the-box-ominaisuuksia:

  • Sisäänrakennettu kehityspalvelin ja nopea debuggeri
  • Integroitu tuki yksikkötestaukselle
  • RESTful request dispatching
  • Jinja2 templating
  • Turvallinen evästetuki (asiakaspuolen istunnot)
  • WSGI 1.0-yhteensopivuus
  • Unicode-pohjainen
  • Mahdollisuus liittää mikä tahansa ORM
  • HTTP-pyyntöjen käsittely

Sen jälkeen kun Flask julkaistiin vuonna 2010, sitä on päivitetty 27 kertaa. Tähän mennessä se on edelleen eniten kasvava Python-kehys. Monia Flask-laajennuksia ei kuitenkaan enää tueta: dokumentaatio on vanhentunut, eikä niitä enää kehitetä. Jos törmäät tähän, sinun täytyy etsiä Googlesta aktiivisesti tuettu laajennus, jolla on samanlainen toiminnallisuus.

Flask

Official Website | GitHub | PyPI

GitHub Stars: 6,348 | GitHub Forks: 1,245

Bottle on mikrokehys. Alun perin API:iden rakentamiseen tarkoitettu Bottle toteuttaa kaiken yhdellä lähdetiedostolla. Sillä ei ole riippuvuuksia Pythonin standardikirjastoa lukuun ottamatta. Bottlen avulla koodaamalla pääset lähemmäs metallia kuin koodaamalla millä tahansa full-stack-kehyksellä. Bottle sopii kuitenkin vain, jos olet tekemässä hyvin pientä sovellusta, jossa on korkeintaan 500 riviä koodia ja jossa ei ole erityisvaatimuksia.

Sen oletusominaisuuksiin kuuluvat reititys, templating, apuohjelmat ja perusabstraktio WSGI-standardin yli.

  • Reititys – tukee pyyntöjen ja funktiokutsujen yhdistämistä, jolloin saat aikaan siistejä ja dynaamisia URL-osoitteita
  • Mallit – nopea ja Pythonic-mallinen mallimoottori suoraan laatikosta sekä täysi tuki makolle, jinja2:lle ja cheetahille
  • Apuohjelmat – kätevä pääsy lomaketietoihin, tiedostojen lataamiseen, evästeisiin, otsikoihin, ja muihin HTTP:hen liittyviin metatietoihin
  • Palvelin – sisäänrakennettu HTTP-kehityspalvelin, joka tukee fapws3:a, bjoernia, GAE:tä, СherryPy:tä ja mitä tahansa muuta WSGI-yhteensopivaa HTTP-palvelinta

Vuoden 2009 jälkeen Bottlea on päivitetty 73 kertaa, ja nyt se on täydellinen ratkaisu prototyyppien luomiseen, web-kehysten organisoinnin opettelemiseen ja yksinkertaisten henkilökohtaisten sovellusten rakentamiseen.

Bottle-yhteisön kontribuutiot otetaan vastaan GitHubin kautta. Käyttäjät voivat myös liittyä Bottlen postituslistalle ja blogiin ja seurata viimeisimpiä muutoksia Twitterissä. Jos etsit ylimääräistä keskustelufoorumia, liity freenode-chattiin.

CherryPy

Official Website | GitHub | PyPI

GitHub Stars: 1057 | GitHub Forks: 259

CherryPy on avoimen lähdekoodin minimalistinen web-kehys. Sen ansiosta Python-verkkosovellusten rakentaminen ei eroa minkään muun oliosuuntautuneen ohjelman rakentamisesta.

CherryPy on luotu laajennettavaksi. Kehys tarjoaa jopa mekanismeja koukkupisteitä ja laajennuksia varten.esimerkiksi CherryPy-käyttöinen verkkosovellus on itsenäinen Python-sovellus, joka upottaa oman monisäikeisen verkkopalvelimensa. Oman web-palvelimen avulla laajennuspisteet sisältävät pyyntö-vastaus-syklin ulkopuolisia toimintoja, mikä lisää CherryPyn laajennettavuuden tasoa.

Tosiasiassa CherryPy-powered web app on itsenäinen Python-sovellus, joka upottaa oman monisäikeisen web-palvelimensa. CherryPy-sovellukset toimivat missä tahansa Pythonia tukevassa käyttöjärjestelmässä (Windows, macOS, Linux jne.). Ne voidaan ottaa käyttöön missä tahansa, missä voit käyttää tavallista Python-sovellusta. CherryPy-sovelluksia varten ei tarvita Apachea, mutta voit ajaa CherryPy-sovellusta Apachen takana yhtä hyvin kuin Lighttpd:n tai IIS:n takana.

CherryPy ei ole kovin rajoittava kehys, sillä sen avulla voit käyttää mitä tahansa teknologiaa templatingiin, datan käyttöön ja niin edelleen. Se pystyy kuitenkin käsittelemään istuntoja, staattisia ominaisuuksia, evästeitä, tiedostojen latauksia ja kaikkea muuta, mitä web-kehys tyypillisesti pystyy käsittelemään.

Joitakin CherryPyn oletusominaisuuksia ovat muun muassa:

  • A HTTP/1.1-yhteensopiva WSGI-säikeistetty verkkopalvelin
  • Yksinkertainen useiden HTTP-palvelimien käyttäminen kerralla
  • Tehokas konfigurointijärjestelmä
  • Joustava liitännäisjärjestelmä
  • Out-of-the-box-työkalut välimuistitallennukseen, koodaukseen, istuntoihin, todennukseen, staattiseen sisältöön ja niin edelleen
  • Sisäänrakennettu tuki profiloinnille, kattavuuden parantamiselle ja testaamiselle
  • Valmius Python 2.7+, Python 3.1+, PyPy, Jython ja Android

Kaikista ominaisuuksistaan ja eduistaan huolimatta monet kehittäjät ovat sitä mieltä, että CherryPyn dokumentaatio kaipaisi parannusta. Lisäksi CherryPy voisi olla ainakin hieman helpompi käyttää.

Kuten useimmilla muillakin kehyksillä, CherryPyllä on takanaan yhteisö, joka tarjoaa apua aloittelijoille ja edistyneille kehittäjille. CherryPyllä on postituslista ja se ehdottaa kehittäjille liittymistä kehyksen IRC-kanavaan tai Gitter- ja Google-ryhmiin.

Falcon

Official Website | GitHub | PyPI

GitHub Stars: 1057 | GitHub Forks: 259

Falcon on bare-metal Python-verkkosovellusrajapintakehys, jonka avulla voi rakentaa erittäin nopeita sovellusten backendejä. Kehyksen logo on haukka, joka symboloi sitä, kuinka nopeasti Falcon toimii.

Tämän kehyksen avulla kehittäjät voivat laatia puhtaampia malleja ja se käsittelee useimmat pyynnöt. Falcon ei koskaan rajoita kehittäjiä tietokantojen ja valtuutuksen kirjastojen valinnassa.

Muut arvokkaat Falcon-ominaisuudet:

  • 100 %:n koodin kattavuus kattavan testisarjan avulla
  • Hyvin optimoitu koodipohja
  • Erittäin optimoitu poikkeusten käsittely
  • REST-innoittamat resurssiluokat
  • URI-mallit intuitiivisia rutiineja varten
  • Helppo pääsy pyyntö- ja vastausluokkien kautta

  • DRY-pyyntöjen käsittely välikäsien kautta. komponenttien avulla
  • Automaattiset HTTP-virhevastaukset
  • Yksikkötestausta WSGI-avustajien avulla

Falcon jättää huomiotta turhat toiminnot web-kehyksen kehittämisen aikana. Lisäksi se antaa valinnanvapauden: kehittäjät voivat tehdä päätöksiä, jotka auttavat heitä virittämään ja muokkaamaan toteutuksia vapaasti.

Kaksi muuta mainitsemisen arvoista etua ovat laajan dokumentaation saatavuus ja aktiivinen yhteisö.

Hug

Official Website | GitHub | PyPI

GitHub Stars: 5,905 | GitHub Forks: Hug on Python 3:n API-kehityskehys: 347

Hug on Python 3:n API-kehityskehys. Se on suunniteltu niin, että ohjelmistosuunnittelijat voivat kehittää API:n kerran ja käyttää sitä uudelleen aina tarvittaessa. Hug-kehys yksinkertaistaa API-kehitystä tarjoamalla erilaisia rajapintoja. Tämä on tärkein syy, miksi tätä kehystä kutsutaan yhdeksi Python 3:n nopeimmista.

Hugin keskeiset ominaisuudet:

  • Tuki automaattiselle dokumentoinnille
  • Annotaatioilla toimiva validointi
  • Sisäänrakennettu versionhallinta
  • Yhteensopivuus Cythonin kanssa
  • Voidaan käyttää Python-kirjastona

Hug-kehys pitää sisällään mahdollisimman vähän integraatioita ja mahdollisimman vähän koodia, pysyen silti toimivana ja tarjoten suuren suorituskyvyn. Lisäksi Hugin yhteisö kasvaa parhaillaan. Se on merkki kehyksen kysynnästä ja todiste siitä, että aina ongelman ilmaantuessa kehittäjä voi löytää apua.

FastAPI

Official Website |GitHub |PyPI

GitHub Stars: 4,835| GitHub Forks: 256

FastAPI on moderni Python-pohjainen kehys. Se on alun perin suunniteltu helppokäyttöiseksi parhaan kehityskokemuksen varmistamiseksi. Tähän mennessä FastAPI on yksi nopeimmista kehyksistä API:iden rakentamiseen Python 3.6+:lla.

Kehys on ottanut Flaskilta useita ominaisuuksia, kuten sen yksinkertaisuuden. Koko kehys on rakennettu Starletteen ja sisältää suurimman osan sen ominaisuuksista (mallit, WebSockets ja GraphQL-tuki).

FastAPI-kehys tarjoaa:

  • Kehitysnopeuden kasvua 200-300 %
  • Vähentää virheiden määrää 40 %
  • Vähentää virheenkorjaukseen kuluvaa aikaa
  • Koodin päällekkäisyyksien minimoimista
  • Automaattista vuorovaikutteista dokumentaatiota

FastAPI:ta ei ole tiukasti liitetty mihinkään tietokantaan. Se tukee kuitenkin tarvitsemiasi tietokantoja. FastAPI:n avulla voit vapaasti jäsentää projektisi haluamallasi tavalla ja jopa käyttää useimpia samoja tiedostoja jostain Flask-projektistasi.

Ainut haittapuoli on sen pieni yhteisö. Mutta se johtuu siitä, että FastAPI on suhteellisen uusi kehys.

Asynkroniset kehykset

Asynkroninen kehys on suhteellisen uusi Python-kehystyyppi. Se on mikrokehys, jonka avulla kehittäjät voivat käsitellä suurta määrää samanaikaisia yhteyksiä. Asynkroniset kehykset käyttävät lukkiutumattomia pistorasioita ja ruokkivat Pythonin asyncio-kirjastoa.

Sanic

Official Website | GitHub | PyPI

GitHub Stars: 12,780 | GitHub Forks:

Sanic on uvloopin päälle rakennettu Python-verkkokehys, joka on luotu erityisesti nopeita HTTP-vastauksia varten asynkronisen pyyntöjen käsittelyn avulla.

Sanic toimii Python 3.5+:lla. Sanic tukee asynkronisia pyyntöjen käsittelijöitä, mikä tekee siitä yhteensopivan Python 3.5:n async/await-funktioiden kanssa. Tämä parantaa sen nopeutta, sillä se tarjoaa lukkiutumattomia ominaisuuksia.

Sonicia pidetään Python-maailman suosituimpana asynkronisena kehyksenä reitityksen, väliohjelmistojen, evästeiden, versioinnin, staattisten tiedostojen, luonnosten, luokkapohjaisten näkymien ja socketien ansiosta. Se ei kuitenkaan tarjoa tietokantatukea eikä templatointia.

Benchmark-testissä, jossa oli yksi prosessi ja 100 yhteyttä, Sanic pystyi käsittelemään 33 342 pyyntöä sekunnissa keskimääräisen latenssin ollessa 2,96 ms.

Tornado

Virallinen verkkosivusto | GitHub | PyPI

GitHub-tähteä: 18 292 | GitHub-haaroja:

Tornado on Python-verkkokehys ja asynkroninen verkkokirjasto, joka keskittyy nopeuteen ja kykyyn käsitellä suuria liikennemääriä. Se käyttää lukkiutumatonta verkko-I/O:ta ja ratkaisee C10k-kysymyksen (mikä tarkoittaa, että oikein konfiguroituna se pystyy käsittelemään yli 10 000 samanaikaista yhteyttä).

Sen vuoksi se on loistava työkalu sellaisten sovellusten rakentamiseen, jotka vaativat suurta suorituskykyä ja kymmeniä tuhansia samanaikaisia käyttäjiä.

Tornadon tärkeimmät ominaisuudet ovat:

  • Sisäänrakennettu tuki käyttäjien todennukselle
  • Reaaliaikaiset palvelut
  • Korkea suorituskyky
  • Python-pohjainen web-temppauskieli
  • Blokkaamaton HTTP-asiakas
  • Kolmansien osapuolten todennus- ja auktorisointijärjestelmien käyttöönotto (Google OpenID/OAuth, Facebook Login, Yahoo BBAuth, FriendFeed OpenID/OAuth, Twitter OAuth)
  • Tuki käännöksille ja lokalisoinnille

Suosionsa puolesta Tornado sijoittuu Djangon ja Flaskin väliin. Sanotaan, että haluat kirjoittaa jotain Flaskilla tai Djangolla niiden ominaisuuksien ja työkalujen takia, mutta tarvitset myös paljon parempaa suorituskykyä. Tässä tapauksessa kannattaa valita Tornado.

Muut

Dash

Official Website | GitHub | PyPI | Awesome

GitHub Stars: 9,856 | GitHub Forks:

Dash on avoimen lähdekoodin Python-kehys, jota käytetään analyyttisten verkkosovellusten rakentamiseen. Se on erityisen hyvä Python-datatutkijoille, jotka eivät ole kovin perehtyneitä web-kehitykseen.

Dashista on kaksi perushyötyä:

  • Sen avulla voit rakentaa erittäin vuorovaikutteisia sovelluksia pelkällä Python-koodilla.
  • Sen avulla on helppo käyttää Python-työkalujen tehoa datan käsittelyyn.

Dash-sovellukset ovat Flaskia pyörittäviä web-palvelimia, jotka kommunikoivat HTTP-pyyntöjen välityksellä JSON-tietovälineillä. Niiden frontend renderöi komponentit React.js:llä.

Dashilla kehitetyt sovellukset renderöidään verkkoselaimessa ja ne voidaan ottaa käyttöön palvelimille. Tämä tarkoittaa myös sitä, että Dash-sovellukset ovat luonnostaan alustarajat ylittäviä ja mobiilikäyttöön soveltuvia.

Dash-kehittäjät pääsevät käsiksi taustalla olevaan Flask-instanssiin ja kaikkiin sen konfiguroitaviin ominaisuuksiin. Dash-sovellusten ominaisuuksien laajentamiseksi kehittäjät voivat myös käyttää Flask-liitännäisten laajaa valikoimaa.

Python-verkkokehyksen valinta

Oikea kehys saattaa olla kaikki, mitä tarvitset menestyksekkään projektin kehittämiseen. Toivomme todella, että löysit mielenkiintoisen kehyksen tästä artikkelista. Meillä on myös toinen, 17 parasta Python-verkkokehystä vuodelta 2017, jos olet kiinnostunut tutkimaan lisää vaihtoehtoja.

Olisimme iloisia, jos vierailisit yrityksen GitHub-sivulla. SteelKiwi-kehittäjämme yrittävät kovasti innovoida teknologiamaailmaa, ja mitä enemmän ihmisiä osallistuu, sitä parempi.

Vastaa

Sähköpostiosoitettasi ei julkaista.