Ó chuir Apple aithne ar Swift ar dtús mar chomharba ar Cuspóir-C, d’athraigh sé an chaoi a gcódaíonn an líonra feidhmchláir iOS, macOS, watchOS agus tvOS.
Ag an bpointe nuair a d'iompaigh Swift ina chéim foinse oscailte, d'oscail sé torthaí nua intomhaiste don teanga seachas feidhmchlár soghluaiste agus taobh an chliaint. D'iompaigh Swift ina theanga taobh freastalaí freisin. Sa chleachtadh teagaisc seo, tuigfidh tú cad é Swift taobh an fhreastalaí agus cén fáth a mbeadh Swift ag teastáil uait ar do chúl-deireadh.
Tá an ghníomhaíocht Swift taobh an fhreastalaí á bhrú ag trí thionscadal feiceálacha atá Vapor le Qutheory, Kitura IBM, agus Perfect, agus é mar aidhm acu deis a thabhairt d’fhorbróirí Swift riaracháin chúltaca a dhéanamh go hiomlán. Athróidh sé seo, go bunúsach, innealtóirí den sórt sin ina bhforbróirí lán-chruachta, ag neamhbhailiú an cheanglais maidir le spleáchas ar Nód nó PHP nó ag tairiscint rialaithe go céim BaaS, mar shampla, Firebase Google.
Spriocanna an Airteagail seo
San Airteagal seo, glacfaidh tú isteach faoi Swift taobh an fhreastalaí. Ar dtús, míneoidh mé conas a fheidhmíonn Swift taobh an fhreastalaí, agus ina dhiaidh sin taispeánfaidh mé duit na cleachtais is fearr chun tosú leis na córais Kitura, Vapor, agus Perfect.
Swift Taobh Freastalaí a thabhairt isteach
D’fhógair Apple Swift den chéad uair in 2014 agus chuir sé deireadh le ceann de na teangacha cláir is gasta atá ag forbairt. Tarraingíonn Swift ó líon mór de na teangacha comhaimseartha is fearr, mar shampla, Python, rud a cheadaíonn áilleacht agus éascaíocht úsáide. Scaoileann sé innealtóirí ó na geimhle speisialaithe de Chuspóir-C, rud a cheadaíonn obair atá ag éirí níos leachta agus instinctach.
I mí na Nollag 2015, rinne Apple dearbhú iontach eile agus rinne sé an teanga Swift in éineacht lena leabharlanna tacaíochta, dífhabhtóir, agus bainisteoir pacáiste le tionscadal foinse oscailte faoi cheadúnas Apache 2.0, ag oscailt an ardáin do dhaoine i gcoitinne iarratas tarraingthe a dhéanamh agus cur leis. Ní dhearna an t-aistriú i bhfad ó Chuspóir-C ach an iliomad forbróirí Cuspóir-C a chuidigh leis an App Store a mhealladh, ach tá sé níos simplí d’fhorbróirí de gach scil agus bunús dul isteach in éiceachóras Apple le Swift.
Cibé scéal é, cé gur fhíoraigh feistí dul chun cinn Apple go fírinneach go raibh sé níos éasca d’fhorbróirí aipeanna diongbháilte agus tarraingteacha seachtracha a fhorbairt don App Store, is é an tranglam feiceálach amháin ná go raibh forbróirí speisialaithe cúltaca de dhíth ar thionscadail fós chun feidhmchláir chasta faisnéise tiomáinte a fhorbairt. Mar sin bheadh ar fhorbróirí iOS agus macOS ceachtar acu cabhair ó fhorbróirí Python, PHP nó Node a tharraingt isteach chun a mbunachar sonraí deiridh a dhéanamh nó an cumas a fháil iad féin, rud a thabharfadh faoi thasc iomlán níos troime atá ar láimh chun a gcuspóirí gealltanais a chríochnú.
Cé gur ghníomhaigh cúl-deireadh-mar-a-seirbhís (BaaS) laoch na bhforbróirí iOS, le réitigh chúltaca gan aon chód, mar shampla, Firebase Google agus CloudKit speisialta Apple féin a mhaolaíonn castachtaí an chúlchúl, iarrann go leor grúpaí agus fiontar níos mó. Is é seo an áit a dtagann Swift taobh an fhreastalaí isteach, rud a chuireann ar do chumas freastalaí cúil il-snáithe lán-snáithe a dhéanamh atá oscailte go foinsithe agus atá furasta a chumrú.
Tugann Swift taobh an fhreastalaí deis duit a roghnú cén chaoi a bhfuil do fhreastalaí cúltaca agat, is cuma más le AWS, RackSpace, nó le do fhreastalaithe fisiciúla féin é. Is féidir leat a roghnú mar an gcéanna conas cothromaíocht a dhéanamh idir do fhreastalaithe (m.sh. trí réitigh fheiceálacha freastalaí, mar shampla, NGINX) agus conas leanúint le d’fhaisnéis i mbunachar sonraí (bíodh sé ina socruithe NoSQL, mar shampla, MongoDB, nó bunachair sonraí traidisiúnta, mar shampla , Postgres, MySQL, nó Oracle). Is féidir leat, chomh maith le nach bhfuil tú riamh ceangailte le socrú aon pháirt, athrú gan tionchar a imirt ar bhunachar sonraí iomlán d’iarratais.
Is é fírinne an scéil, trí chinneadh a dhéanamh ar shocrú foinse oscailte Swift ar thaobh an fhreastalaí, mar shampla, Vapor le Qutheory, Kitura IBM, nó Perfect, go mbaineann tú leas as swath ollmhór modúl a chuireann ar do chumas do chúl deiridh a dhearadh ach an an bealach a theastaíonn sé uait, agus leas á bhaint as raon cumais do ghrúpa reatha i Swift chun é sin a dhéanamh.
Fuaimeann Swift taobh an fhreastalaí ina luí go hiomlán, ach cén struchtúr atá oiriúnach duitse? Ansin déanaimid imscrúdú ar gach ceann dá réir, ag tosú le Kitura.
Ag Tosú Le Kitura
Ag tosú le Kitura, tá céim agat a urscaoileadh ar dtús i mí Feabhra 2016 agus a fuair cáilíocht dhochreidte go luath ina dhiaidh sin ag WWDC Apple, ag labhairt le hionradh IBM ar thacaíocht a thabhairt do ghréasán taobh an fhreastalaí le Swift, a bhí beartaithe ansin chun aistriú ó lámha Apple go Foinse oscailte.
De ghnáth, tá Kitura dírithe ar thraidisiún thar chumraíocht. Tógann sé do thionscadal bunúsach le stumpaí, sula roghnaíonn tú na creataí follasacha agus na leabharlanna a bhfuil súil agat a thógáil. Seasann próiseas a fhíordheimhnithe Kitura-Dintiúir féin go heisceachtúil le próiseas fíordheimhnithe Kitura, rud a chuireann ar do chumas breathnú ar bhuifé de chórais bhailíochtaithe, ón ngnáthainm úsáideora / pasfhocal go logáil isteach líonraithe ar líne agus fíorú aontaithe, ag úsáid OpenID a dhéileálann le JSON Web Tokens (JWT) .
Tá socrú ORM bunachar sonraí Kitura á rialú ag Kuery chun na castachtaí a bhaineann le SQL a bhainistiú go sonrach, ag tacú le bunachair sonraí réasúnacha bunúsacha, mar shampla, MySQL, SQLite agus PostgreSQL go háitiúil, agus ina theannta sin socruithe bunachar sonraí eile, lena n-áirítear bunachair sonraí NoSQL, trí na forlíontáin éagsúla eile.
Ina theannta sin tugann Kitura breiseáin luachmhara eile le haghaidh rudaí, mar shampla, teimpléadú HTML, ag baint úsáide as forlíontáin aitheanta, mar shampla, Stencil agus Markdown. Is as IBM é, déanann an córas taobh an fhreastalaí brabús freisin trí nascacht le APIs IBM Watson agus freisin tacaíocht macOS a thabhairt chun comhordú go díreach ina n-ardán scamall Bluemix. Tugann sé seo rogha breise atá ar fáil duit, in éineacht le do ghnáthroghanna eile imscartha trasna ar fhreastalaithe Linux / Unix agus macOS.
Cé go soláthraíonn an t-ardán sraith gnéithe neamhghnácha ó Kuery go hiomlán chun an cumas ionchorprú leis na leabharlanna éagsúla IBM API. Níl an tionchar líonra aige atá ag Vapor. Éilíonn Kitura a Fháil aitheantas agus tuiscint a fháil ar a mhodhanna neamhrialta féin chun rudaí a chur i gcrích, ón gcaoi a n-oibríonn Kuery go dtí a mheicníocht fíordheimhnithe. Cibé scéal é, ós rud é go bhfuil sé urraithe ag eagraíocht fhairsing le haird ar an iarracht, oibrítear i roinnt dearbhuithe séalaithe amach anseo.
Suiteáil agus Rith Kitura
Is é an modh is géire le tosú ná trí chomhéadan líne treorach Kitura (CLI) a úsáid, le tacaíocht ar macOS agus Linux. Ag baint úsáide as an bhfóntas bainistíochta pacáiste aitheanta Homebrew, suiteáil Kitura agus Kitura CLI trí na rudaí seo a leanas a iontráil:
sconna $ brew ibm-swift / kitura $ brew installkitura |
Taobh istigh d’eagraí neamhlíonta a úsáidfidh tú mar d’fhiontar, rith an tionlacan chun do ghnóthas a chur ar bun:
$ kitura init
Ag an bpointe nuair a bheidh sé críochnaithe le d’iarratas cnámharlaigh a tháirgeadh, feicfidh tú tionscadal eile darb ainm HelloKitura.xcodeproject. Is féidir leat níos mó a fháil isteach faoi ghiniúint tionscadal trí thagairt a dhéanamh do dhoiciméadacht Kitura. Féadfaidh tú an tionscadal a cruthaíodh le déanaí i Xcode a oscailt agus an aicme feidhmchláir riachtanach, Application.swift a athrú , chun déileáil le gach glao ar fhréamh do fhreastalaí https: // localhost: 8080 / URL :
// Láimhseáil iarratais HTTP GET chuig "/"
router.get ("/") {iarraidh, freagra, seo chugainn i
response.send ("Dia duit, Domhan!")
seo chugainn ()
}
Imoibríonn an píosa cód thuas tríd an eiseamláireach Hello, World! . Sular féidir leat an tionscadal a rith sa deireadh, athraigh do scéim Xcode go pointeáil chuig HelloKitura (do thionscadal gníomhach), agus cuir tús le do ghnóthas trí Command-R a bhrú. Cé go bhfuil do fhreastalaí ag rith, i mbrabhsálaí de do rogha féin, téigh chuig https: // localhost: 8080 agus ba cheart duit an domhan dia duit a fheiceáil i do bhrabhsálaí.
Ag tosú le Vapor
Scaoileadh cúpla mí tar éis an Kitura, i Meán Fómhair 2016, meastar go ginearálta gurb é Vapor by Qutheory an ceann is suntasaí maidir le méid an phobail agus líon na modúl. Tá sé tógtha ar bharr chreatlach Swift-nio Apple, rud a fhágann gur fíorchumhacht forghníomhaithe é. Ní hionann ar chor ar bith le Kitura agus céimeanna éagsúla, nach bhfuil déanta go simplí i Swift ach ina ionad sin ar Node.js nó ar pharsálaithe daoine meánacha eile, díchúplálann Vapor é féin ó aon cheann de na spleáchais sin chun parsálaí Swift a sheachadadh agus APIanna soiléire comhleanúnacha a thabhairt.
Tugann Vapor cúnamh críochnúil bunachar sonraí do dhíoltóirí SQL, mar shampla, MySQL agus PostgreSQL, agus díoltóirí NoSQL, mar shampla, Redis agus MongoDB, mar Kitura. Cé go bhfuil a réitigh Kuery ORM féin ag Kitura, giarálann Vapor ORM líofa chun tacú leis na bunachair sonraí a ndearna mé tagairt dóibh, rud a fhágann go bhfuil sé measartha simplí an ORM a shíneadh chuig soláthraithe bunachar sonraí tríú páirtí eile. Déanann Vapor é féin a scaradh ó chreataí malartacha chun tacú go dúchasach le Seirbhís Fógra Brúigh Apple, agus tacú le SMTP freisin chun fógraí ríomhphoist a bhrú.
Cé go ndéanann Kitura a chreat fíordheimhnithe féin a fhíorú, tá leabharlann fíordheimhnithe Turnstile Stormpath bácáilte go dúchasach ag Vapor. Cosúil le Kitura, tacaíonn an t-ardán mar an gcéanna le temptates Mustache agus Markdown, agus ina theannta sin a theanga teimpléad sainráiteach Swift-dhúchasach féin, tá Vapor ag gabháil lena mhótar CLI féin cosúil leis an gcreat Swift taobh freastalaí eile, leis an gcumas an t-ordú feidhmchláir a leathnú. - argóintí líne le bratacha saincheaptha.
Suiteáil agus Rith
Chun tús a chur le Vapor, tosaíonn tú tríd an trealamh uirlisí Vapor a shuiteáil, a chuimsíonn gach spleáchas leabharlainne agus bosca uirlisí CLI. Suiteáil é le Homebrew trí na rudaí seo a leanas a iontráil sa teirminéal:
$ brew installvapor / tap / vapor
Ag an bpointe a mbeidh an tsuiteáil críochnaithe, is féidir leat a dhearbhú go bhfuil Vapor suiteáilte go rathúil trí ghal a chlóscríobh —help. Chun tionscadal a chruthú, clóscríobh an méid seo a leanas, agus ainm do thionscadail féin a chur ina ionad:
$ gal nua
Tógfaidh an t-inneall Vapor struchtúr fillteán atá cosúil leis an méid seo a leanas:
├── Poiblí
├── Foinsí
App │ ├──
Rialaitheoirí │ │ ├──
Múnlaí │ │ ├──
Boot │ ├── boot.swift
Cumraigh │ │ ├──.swift
Bealaí │ │ └──.swift
│ └── Rith
│ └── main.swift
Ests── Tástálacha
AppTests │ ───
└── Pacáiste.swift
Chun tionscadal Xcode a chruthú i ndáiríre, beidh ort mar an gcéanna an t-ordú seo a leanas a iontráil go sainráite, laistigh den fhillteán tionscadail:
$ xcode gaile
Mar fhocal scoir, chun do thionscadal a thógáil agus a rith, ó Xcode roghnaigh an scéim Rith agus an spriocghléas forbartha de Mo Mac , agus ina dhiaidh sin brúigh an cnaipe Rith mar a dhéanfá d’aon tionscadal Xcode eile. Ós rud é nach bhfuil aon earráidí i do thionscadal Xcode, ba cheart duit an teachtaireacht dearbhaithe seo a leanas a fheiceáil sa chríochfort:
Freastalaí ag tosú ar https: // localhost: 8080
Téigh ar aghaidh agus cuir isteach an URL sin in aon bhrabhsálaí, agus ba cheart duit d’iarratas a fheiceáil ag rith.
Ag Tosú Le Foirfe
Faoi dheireadh, caithimid súil ar Perfect le PerfectlySoft, ardán taobh le freastalaí gné-saibhir mar Vapor agus Kitura. Ionchorpraíonn Perfect cloigíní agus feadóga caighdeánacha den chineál céanna a bhfaighfeá amach ar na díoltóirí roimhe seo, ó theimpléadú le Mustache nó Markdown go líonrú le soicéid gréasáin, agus ina theannta sin Apple Push Notification agus SMTP.
Cosúil leis an ardán eile ar thaobh an fhreastalaí, tá a chur i bhfeidhm ORM féin ag Perfect, an t-ardán StORM (Perfect StORM), a thugann tacaíocht dhúchasach do MySQL, PostgreSQL agus bunachair sonraí coibhneasta feiceálacha eile, agus ina theannta sin MongoDB, Redis, agus réitigh NoSQL eile. Eisiamh feiceálach amháin ó Perfect is ea CLI, ach déanann an creat é seo le feidhmchlár macOS dúchais.
Cosúil le Vapor, tá Turnstile bácáilte ag Perfect freisin chun a mheicníocht fíordheimhnithe a chumhacht, arna leathnú chun idirghníomhú níos dlúithe le StORM. Cáilíocht eile atá ag an socrú seo thar na cinn eile is ea cuid mhaith de na leabharlanna fóntais dúchasacha a dtacaíonn sé leo, lena n-áirítear a gceann féin de fhillteán cURL comhchineáil agus uirlisí freisin chun oibriú le comhaid agus fillteáin. Is é bonn forbróra Perfect an dara ceann is mó, beagnach ag coinneáil suas le Vapor, rud a chiallaíonn go bhfuil pobal láidir agat chun tacú leis an ardán seo, in éineacht le tacar saibhir d’acmhainní oideachais a thugann cinnteacht duit maidir leis an seans go roghnóidh tú é.
Suiteáil agus Rith
Tá sé thar a bheith simplí dul suas agus rith le Perfect. Ar dtús, clónáil an repo PerfectlySoft, trí na rudaí seo a leanas a iontráil:
clón $ git https://github.com/PerfectlySoft/PerfectTemplate.git
Ón taobh istigh den fhillteán clónáilte, tóg an tionscadal:
$ tógáil tapa
Faoi dheireadh, reáchtáil an tionscadal, a reáchtálfaidh freastalaí áitiúil ar sheoladh 0.0.0.0:8181
.build / debug / PerfectTemplate
Féadfaidh tú do thionscadal a reáchtáil ar Xcode freisin trí thionscadal nua a chruthú ar dtús, mar a leanas:
$ pacáiste sciobtha giniúint-xcodeproj
Laistigh de Xcode, déan cinnte go bhfuil do sprioc inrite dírithe ar My Mac , sula ndéanann tú an tionscadal a thógáil agus a rith.
Conclúid
Chuir teacht Swift chuig an líonra foinse oscailte brú ar réitigh Swift níos faide ná feidhmchláir chliaint, le creataí freastalaí cúltaca ag iompú isteach ar an imeall seo a leanas. Brúite ag trí thionscadal feiceálacha - Vapor le Qutheory, Kitura IBM, agus Perfect. Thug Swift taobh an fhreastalaí cumhacht d’fhorbróirí iOS (agus macOS) a bheith ina bhforbróirí lán-chruachta. Féadann sé seo an spleáchas ar fhorbróirí cúltaca Node.js, PHP nó .NET a fhaillí. Ina theannta sin cuireann Swift taobh an fhreastalaí ar chumas grúpaí a gcúlchúl a rialú gan a bheith ag brath ar réiteach soghluaiste cúl-mar-a-freastalaí mar Firebase nó CloudKit.
Níl Swift taobh an fhreastalaí do gach duine, ní mór duit socrú ar an méid smachta a theastaigh uait le haghaidh do chúlchúl, agus cibé an bhfuil sé ciallmhar duit do cheann féin a rolladh. Ina theannta sin, níor rinne mé iarracht a rá leat cén réiteach Swift taobh an fhreastalaí atá oiriúnach. Tá forbróirí scriosta gan amhras maidir le cinneadh a dhéanamh, agus tugann gach duine den triúr glacadh uathúil aibí agus is fiú triail a bhaint astu. Mholfainn duit imirt timpeall le gach ceann de na cóid shamplacha, an struchtúr teanga a mheas, agus ceangal a dhéanamh lena bpobail áirithe le fáil amach cén réiteach is fearr a oireann duit.