Prawf unrhyw lyfrgell seilwaith yw a all y defnyddiwr ddal i bwyntio ati. Gofynnwch lle mae’r trin URLau yn byw. Os mai enw ffolder a chanran isel yw’r ateb, mae’r llyfrgell yn gwneud ei gwaith. Y darn hwn yw’r ateb hwnnw, wedi’i fesur, ar gyfer defnyddiwr demo Iris.
Mae pob llyfrgell a fabwysiadwch yn ailysgrifennu rhywfaint o’ch cod ar ei delw ei hun. Mae’r prawf cyfyngiant yn gofyn faint: a all y defnyddiwr ateb “lle mae eich trin URLau yn byw?” gydag enw ffolder a chanran isel? Mae dolennu dwfn yn bryder ymwthiol wrth natur, gydag URLau yn glanio i gyflwr golwg mympwyol, felly mae’r ateb yn cyfrif mwy nag arfer. Mae’r astudiaeth achos hon yn mesur yr ateb ar gyfer un defnyddiwr o Iris: un ffolder yn dal 19.2% o linellau’r ap, tri mewnforio wedi’u dogfennu y tu allan i’r ffolder, haen parth heb yr un symbol dolennu dwfn, ac ôl troed haniaethu, yn llif y negeseuon, o un cydymffurfiad protocol, un is-ddosbarth, ac un trosysgrifad dull. Y rhif mwyaf addysgiadol yw’r un sy’n edrych waethaf: 24 darlleniad uniongyrchol o gyflwr y cydlynydd gan olygon, sy’n troi allan i fod yn gost naturiol cyflwr byrhoedlog a rennir mewn unrhyw bensaernïaeth, a’r union beth sy’n prynu’r un ymddygiad i dap ac i URL.
Mabwysiadwch unrhyw ddibyniaeth ac mae rhywfaint o’ch cod yn dechrau edrych fel ei chod hi. Dyna’r fargen, ac mae’n un deg fel arfer. Y cwestiwn gwerth ei ofyn cyn llofnodi yw faint, a lle. Mae llyfrgell logio sydd eisiau un mewnforio ac un alwad ym mhob ffeil yn rhad. Mae llyfrgell lywio sydd eisiau dirprwy ym mhob sgrin yn ddrud mewn ffordd nad oes yr un rhestr nodweddion yn ei chyfaddef.
Mae dolennu dwfn ar y pen drud wrth natur. Gall URL gyrraedd unrhyw foment a glanio i unrhyw gyflwr golwg, felly mae ei drin yn iawn yn cyffwrdd â llywio, cyflwyno dalennau, safle sgrolio, chwilio, a beth bynnag arall y mae’r ap yn ei ystyried yn gyflwr. Mae’r gweithrediad diog yn taenu’r trin hwnnw dros bob sgrin y gall ei chyrraedd. Dyna pam rwy’n dal llyfrgell dolennu dwfn i fersiwn galetach o’r prawf cyfyngiant: dylai’r defnyddiwr allu ateb “lle mae eich trin URLau yn byw?” gydag enw ffolder a chanran isel.
Daw’r rhifau yn y darn hwn o ap negeseuon demo a adeiladwyd fel defnyddiwr y pecyn, yr un ap y mae gweddill y gyfres hon yn ei fesur. Yr hyn sy’n dilyn yw’r archwiliad y byddwn i eisiau ei ddarllen cyn mabwysiadu pecyn unrhyw un arall: y ffolder, y ffin, yr hyn y mae’r defnyddiwr yn ei ysgrifennu, a’r cyplu sy’n edrych fel gollyngiad nes i chi olrhain o ble mae’n dod.
Ateb yr ap demo yw ffolder o’r enw DeepLink/ (pwynt integreiddio Iris) ac 19.2% o’i linellau. Mae popeth y mae’r pecyn yn ei gyffwrdd yn byw yn y ffolder honno: 1,353 llinell ar draws 12 ffeil. Caiff gweddill yr ap anghofio bod y pecyn yn bodoli, gyda thri eithriad y mae’r adran nesaf yn cerdded trwyddynt.
Dim ond yn erbyn y cymhlethdod y mae’n ei gynnwys y mae rhif cyfyngiant yn golygu unrhyw beth. Nid map tenau o URL i sgrin yw hwn. Mae’r ffolder yn dal wyneb URL o 18 bwriad gyda datrys ymwybodol o gyflwr, canslo tra ar y gweill, cymrodeddu’r ysgrifennwr olaf yn ennill pan fydd URLau yn rasio, hepgor camau dianghenraid, ac olrhain llawn. Rhif gonest am nodwedd sy’n wirioneddol gymhleth yw’r 19.2% hwnnw, nid arwydd bod y pecyn yn gollwng. Cywasgu’r holl ymddygiad hwnnw i lai na phumed o’r cod, gyda gweddill yr ap heb ei gynnwys, yw’r pecyn yn gwneud ei waith.
DeepLink/ (pwynt integreiddio Iris) yn 19.2% o’r cod sylfaen; mae gweddill yr ap yn rhydd i anghofio bod y pecyn yn bodoli.Dim ond tair ffeil y tu allan i’r ffolder sy’n mewnforio’r pecyn: pwynt mynediad yr ap, un golwg cyrchfan, ac un golwg dalen. Mae’r pwynt mynediad yn gwifro’r cydlynydd i’r amgylchedd ac yn trosglwyddo URLau sy’n cyrraedd. Mae’r golwg cyrchfan yn derbyn y baton pan fydd gwthiad dolen ddofn yn glanio, fel y gall orffen y daith a ddechreuodd yr URL. Mae’r golwg dalen yn gofyn i’r pecyn am un cam ymlaen penodol. Mae pob un yn fwriadol ac yn fach.
Mae’r haen parth, y rhan o’r ap sy’n gwybod beth yw sgwrs, neges, person, ac atodiad mewn gwirionedd, yn cynnwys dim symbolau dolennu dwfn. Dim mewnforio, dim cyfeiriad, dim gollwng teipiau. Mae’r llinell yn eistedd lle dylai: y pecyn sy’n berchen ar sut rydych chi’n cyrraedd rhywle, a’r parth sy’n berchen ar beth sydd yno pan gyrhaeddwch.
Mae ffiniau fel hyn yn talu eu ffordd pan fydd pethau’n newid. Pan wnaeth rhyddhad torrol o’r pecyn ailsiapio ei sylfaen cydlynydd, amsugnodd y defnyddiwr y mudo cyfan y tu mewn i un ffeil. Mae newid ar un ochr i ffin go iawn yn aros ar yr ochr honno.
Mae mabwysiadu’r pecyn yn costio tri lluniad i’r defnyddiwr, fesul llif. Llif y negeseuon, testun y darn hwn drwyddo draw, yw’r mesur:
Y manylyn gwerth oedi drosto yw’r hyn nad yw’r trosysgrifad yn ei gynnwys. Nid yw llywio strwythurol (gwthio, cyflwyno, dychwelyd, cau) byth yn ymddangos yn y cod y mae’r defnyddiwr yn ei ysgrifennu, oherwydd y pecyn sy’n anfon y camau hynny ei hun. Y defnyddiwr sy’n disgrifio ei ap; y pecyn sy’n ei symud.
Mae’r rhestrau camau yn darllen fel dogfennaeth o’r wyneb URL. Mae agor sgwrs yn ehangu i ragddodiad ailosod a rennir, yna cam i sgrolio rhes y sgwrs i’r golwg, yna cam i wthio’r sgwrs ar y pentwr. Mae pob URL yn datgan ei ofynion cyflwr cychwynnol unwaith, ac mae’r pecyn yn cywasgu’r rhagddodiad i’r hyn y mae’r cyflwr presennol ei angen mewn gwirionedd. Y dewis arall gweithdrefnol, llwybr o alwadau cau-yna-dychwelyd-yna-gwthio wedi’u gwasgaru ar draws breichiau achos, yw’r cod y mae’r rhan fwyaf o apiau yn gorffen ag ef. Y siâp datganiadol yw’r gwahaniaeth rhwng disgrifio cyrchfan a rhoi cyfarwyddiadau.
Y rhif mwyaf diddorol mewn unrhyw archwiliad cyfyngiant yw’r un sy’n edrych fel torri rheol. Dyma fe: mae golygon yn darllen cyflwr y cydlynydd yn uniongyrchol 24 gwaith, trwy wyth priodwedd megis pa avatar sydd wedi’i ehangu ar hyn o bryd, y testun chwilio gweithredol, atodiad sy’n aros i agor, a’r sgwrs ddiwethaf y dychwelwyd iddi. Ar yr olwg gyntaf, mae hynny’n darllen fel y pecyn yn gollwng i’r haen olygon.
Olrheiniwch yr ysgrifenwyr ac mae’r darlun yn troi. Mae gan bob un o’r priodweddau hynny ysgrifennwr nad yw’n ddolen ddofn: tap ar afatar, testun yn cyrraedd y maes chwilio, dychwelyd naturiol o edefyn. Byddai’r un cyflwr yn bodoli mewn fersiwn o’r ap hwn heb unrhyw ddolennu dwfn o gwbl, dim ond wedi’i wasgaru ar draws perchnogion gwahanol. Ni wnaeth y pecyn ddyfeisio’r cyflwr. Fe’i cydleolodd ar y cydlynydd, fel mai un teip sy’n gyfrifol am yr hyn y mae’r rhyngwyneb yn ei wneud ar hyn o bryd, gyda mynedfeydd tap a mynedfeydd URL yn ysgrifennu trwy’r un wyneb.
Y cydleoli hwnnw sy’n prynu cydwedd ymddygiad. Mae pwynt mynediad tap y gosodiadau yn agor URL gosodiadau ac yn mynd trwy’r un datryswr ag y byddai’r URL.
Dim drifft rhwng tap ac URL, oherwydd does dim ail lwybr cod i ddrifftio.
Y darlun cyplu llawn, wedi’i gyfrif ar draws yr haen olygon: mae 48 safle galw yn glanio ar wyneb y cydlynydd sy’n berthnasol i ddolennu dwfn. O’r rheini, pwyntiau mynediad tap yw 19, a fyddai’n bodoli mewn unrhyw bensaernïaeth. Agoriadau bwriadol wedi’u llwybro trwy URL yw tri (gosodiadau, chwilio, a phroffil), y cydwedd uchod wedi’i wneud yn ddiriaethol. Mae dau yn galw llywio’r pecyn yn uniongyrchol. Y 24 sy’n weddill yw’r darlleniadau cyflwr, sy’n troi allan i fod yn gost naturiol cyflwr byrhoedlog a rennir mewn unrhyw bensaernïaeth, nid cost a osodwyd gan y pecyn.
Nid oes yr un dyluniad am ddim, ac nid archwiliad yw archwiliad cyfyngiant sydd ond yn adrodd yr enillion. Mae tair cost yn werth eu henwi.
Mae’r cydlynydd yn berchen ar wyth darn o gyflwr UI byrhoedlog. Ar y raddfa hon mae hynny’n hylaw; tua 12 byddai’n dechrau teimlo fel gwrthrych sy’n gwneud gormod, a hollti cyflwr llywio oddi wrth gyflwr UI byrhoedlog yn wrthrychau arsylladwy ar wahân fyddai’r cam naturiol nesaf.
Mae’r ffwythiant sy’n ehangu bwriadau yn gamau yn trin pob bwriad mewn un lle. Mae’n darllen yn dda ar faint presennol yr wyneb URL; heibio tua 25 bwriad byddai angen ei dorri’n gynorthwywyr fesul teulu o fwriadau.
Mae gan benderfyniaeth fil profion. Mae dolennu dwfn yn cyfrif am tua hanner cyfres brofion y defnyddiwr yn ôl llinellau, 50.3% ohoni. Mae rasys, canslo, datrys ymwybodol o gyflwr, a dosrannu URLau i gyd angen sylw, felly mae’r pwysau’n gyfiawn, ond byddai llyfrgell a roddai lai o wynebau cydamseredd llwyth-gario i’w defnyddwyr yn gadael iddynt ysgrifennu llai o brofion.
Y darlleniad rwy’n ei gymryd o’r archwiliad: mae llyfrgell yn pasio’r prawf cyfyngiant pan all y defnyddiwr ateb y cwestiwn yr agorodd y darn hwn ag ef, enw ffolder a chanran isel. Yma’r ateb yw DeepLink/ (pwynt integreiddio Iris) ac 19.2%, gyda haen parth lân, tri mewnforio wedi’u dogfennu, a chyplu haen olygon sy’n lleihau i gost gyffredin cyflwr a rennir. Mae’r pecyn yn ennill ei haniaethu.
Mae cyfyngiant yn setlo lle mae trin URLau yn byw. Nid yw’n dweud dim eto am y cwestiwn anoddach y mae URL yn ei wynebu wrth gyrraedd: beth ddylai’r ddolen hon ei olygu, o ystyried y cyflwr y mae’r ap eisoes ynddo? Dylai’r un URL byr gyflwyno gosodiadau fel dalen o’r gwraidd a’u gwthio o du mewn i edefyn. Y penderfyniad hwnnw, a’r ciplun wedi’i rewi o gyflwr yr ap sy’n ei wneud yn ddeterministig, yw pwnc y darn nesaf yn y gyfres hon. Mae’r map llawn yn byw ar yr hwb dolennu dwfn.