Mae prawf go iawn unrhyw lyfrgell seilwaith yn syml: a all y defnyddiwr ddal i bwyntio at y man lle mae’r hud yn byw? Os mai dim ond enw ffolder a chanran isel o’r cod sylfaen yw’r ateb, mae’r llyfrgell yn gwneud ei gwaith. Mae’r darn hwn yn rhoi’r ateb hwnnw ar gyfer Iris, wedi’i fesur yn erbyn ei defnyddiwr demo.
Mae pob llyfrgell a fabwysiadwch yn ailysgrifennu rhywfaint o’ch cod ar ei delw ei hun. Mae’r prawf cyfyngiant yn gofyn faint. Mae dolennu dwfn yn ymwthiol wrth natur (gall URLau lanio mewn unrhyw gyflwr golwg), felly mae’r ateb yn bwysig.
Mae’r astudiaeth achos hon yn mesur un defnyddiwr o Iris: un ffolder yn dal 19.2% o’r llinellau (1,353 llinell), tri mewnforio wedi’u dogfennu y tu allan iddi, haen parth heb yr un symbol Iris, ac ôl troed haniaethu bychan (un protocol, un is-ddosbarth, un trosysgrifad yn llif y negeseuon). Mae’r rhif sy’n edrych waethaf (24 darlleniad uniongyrchol o gyflwr y cydlynydd gan olygon) yn troi allan i fod yn gost naturiol cyflwr byrhoedlog a rennir, a’r union beth sy’n gwneud ymddygiad tap ac URL yn union yr un fath.
Mabwysiadwch unrhyw ddibyniaeth ac mae rhywfaint o’ch cod yn dechrau edrych fel ei chod hi. Dyna’r fargen. Y cwestiwn gwerth ei ofyn yw faint, a lle.
Mae llyfrgell logio sy’n cyffwrdd ag un ffeil yn rhad. Mae llyfrgell lywio sydd eisiau dirprwy ym mhob sgrin yn ddrud. Mae dolennu dwfn ar y pen drud wrth natur am y gall URL lanio unrhyw le, gan gyffwrdd â llywio, dalennau, sgrolio, chwilio, a mwy. Mae’r fersiwn ddiog yn taenu’r trin dros yr ap cyfan.
Rwy’n dal llyfrgell dolennu dwfn i brawf caletach: dylai’r defnyddiwr ateb “lle mae eich trin URLau yn byw?” gydag un enw ffolder a chanran isel.
Daw’r rhifau isod o’r un ap negeseuon demo a ddefnyddir ar draws y gyfres hon. Yr hyn sy’n dilyn yw’r archwiliad y byddech eisiau ei weld cyn mabwysiadu haen unrhyw un arall.
Ateb yr ap demo yw un ffolder (DeepLink/) sy’n dal 19.2% o’r llinellau (1,353 llinell ar draws 12 ffeil). Mae popeth y mae Iris yn ei gyffwrdd yn byw yno. Mae gweddill yr ap yn rhydd i anghofio bod Iris yn bodoli, ac eithrio tri phwynt cyffwrdd bwriadol a ddisgrifir isod.
Dim ond yn erbyn yr hyn y mae’n ei gynnwys y mae 19.2% yn gwneud synnwyr. Nid llwybrydd syml yw hwn. Mae’r ffolder yn gweithredu wyneb URL o 18 bwriad gyda datrys ymwybodol o gyflwr, canslo sy’n ddiogel rhag rasys, cymrodeddu’r ysgrifennwr olaf, hepgor camau di-weithred, ac olrhain llawn. Cywasgu hyn oll i lai na phumed o’r ap (gyda bron popeth arall heb ei gyffwrdd) yw Iris yn gwneud ei gwaith.
DeepLink/ (pwynt integreiddio Iris) yn 19.2% o’r cod sylfaen; mae gweddill yr ap yn rhydd i anghofio bod Iris yn bodoli.Mae union dair ffeil y tu allan i’r ffolder yn mewnforio Iris: 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 ar ôl gwthiad fel y gall orffen yr hyn a ddechreuodd yr URL. Mae’r golwg dalen yn gofyn am un cam ymlaen penodol. Mae pob un yn fach ac yn fwriadol.
Mae’r haen parth (y rhan sy’n gwybod beth yw sgyrsiau, negeseuon, pobl ac atodiadau mewn gwirionedd) yn cynnwys dim un symbol Iris. Dim mewnforio, dim cyfeiriad, dim gollwng. Iris sy’n berchen ar sut rydych chi’n cyrraedd rhywle; y 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 Iris 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 Iris yn costio tri lluniad i’r defnyddiwr, fesul llif. Llif y negeseuon, testun y darn hwn drwyddo draw, yw’r mesur:
Sylwch ar yr hyn nad yw’r trosysgrifad yn ei gynnwys: Iris sy’n trin yr holl lywio strwythurol (gwthio, cyflwyno, dychwelyd, cau). Dim ond disgrifio beth ddylai ei ap ei wneud y mae’r defnyddiwr. Iris sy’n ei weithredu.
Mae’r rhestrau camau yn gweithredu fel dogfennaeth o’r wyneb URL. Mae agor sgwrs yn troi’n rhagddodiad ailosod ynghyd â sgrolio + gwthio. Mae pob URL yn datgan ei anghenion unwaith; mae Iris yn tocio’r rhagddodiad i gyd-fynd â’r cyflwr gwirioneddol. Yr hen ffordd (llwybrau cau/dychwelyd/gwthio wedi’u hysgrifennu â llaw) yw’r hyn y mae’r rhan fwyaf o apiau yn gorffen ag ef. Mae’r ffurf ddatganiadol yn dweud “dyma’r gyrchfan” yn lle “dyma’r cyfarwyddiadau.”
Y rhif sy’n edrych waethaf yw hwn: mae golygon yn darllen cyflwr y cydlynydd yn uniongyrchol 24 gwaith ar draws wyth priodwedd (afatar wedi’i ehangu, chwiliad gweithredol, atodiad yn aros, sgwrs ddiwethaf, ac ati). Ar yr olwg gyntaf mae’n edrych fel gollwng.
Olrheiniwch yr ysgrifenwyr ac mae’r darlun yn troi. Mae gan bob un o’r priodweddau hynny ysgrifennwr arall heblaw Iris hefyd: tapiau ar afatar, mewnbwn i’r maes chwilio, dychweliadau naturiol. Byddai’r un cyflwr yn bodoli heb unrhyw ddolennu dwfn (dim ond dan berchnogaeth wahanol). Ni wnaeth Iris ddyfeisio’r cyflwr. Fe’i rhoddodd mewn un lle fel bod tapiau ac URLau ill dau yn ysgrifennu trwy’r un wyneb.
Y ffynhonnell sengl honno sy’n sicrhau cydwedd. Mae tap y gosodiadau yn adeiladu’r URL ac yn mynd trwy’r datrysydd, yn union fel dolen allanol.
Dim drifft rhwng tap ac URL, oherwydd does dim ail lwybr cod.
Y darlun llawn ar draws yr haen olygon: mae 48 safle galw yn cyffwrdd â’r wyneb dolennu dwfn. Tapiau cyffredin yw 19. Agoriadau bwriadol wedi’u llwybro trwy URL yw 3 (gosodiadau, chwilio, proffil). Mae 2 yn galw llywio yn uniongyrchol. Y 24 sy’n weddill yw’r darlleniadau cyflwr (pris arferol cyflwr byrhoedlog a rennir, nid rhywbeth y mae Iris yn ei orfodi).
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; ar 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.
I grynhoi: mae’r prawf yn cael ei basio pan all y defnyddiwr enwi un ffolder a chanran isel. Yma: DeepLink/ (integreiddio Iris) ar 19.2%, parth glân, tri mewnforio, a chyplu sy’n ddim mwy na phris arferol cyflwr a rennir. Mae Iris yn ennill ei haniaethu.
Mae cyfyngiant yn ateb lle mae’r cod yn byw. Mae’r cwestiwn anoddach (beth ddylai’r URL hwn ei olygu o ystyried y cyflwr presennol?) yn cael ei ateb nesaf gan y ciplun a’r datrysydd: datrysydd ymwybodol o gyflwr. Y gyfres lawn ar yr hwb.