Nid y cynllun URL yw pwynt dolen ddofn. Y pwynt yw y gall unrhyw beth sy’n gallu tanio un (sgript, Shortcut, system bell, neu asiant) gyflwyno cyflwr sydd eisoes ar ganol ei olygu, yn barod i’r defnyddiwr, mewn un alwad. Nid sgrin yn unig. Drafft sydd eisoes wedi’i deipio, yn eistedd yn y lle iawn, yn barod i’r person ei adolygu a’i anfon.
Mae’r rhan fwyaf o ddolenni dwfn yn agor sgrin ac yn stopio. Mae’r astudiaeth olaf hon yn dilyn un URL yn llawer pellach: lansiad oer sy’n glanio ar ddrafft cyfansoddi sydd eisoes wedi’i deipio, yn eistedd o dan ddalen templedi ddwy haen i lawr, gyda’r templed a ddewiswyd wedi’i amlygu a dim cyflyrau llwytho.
Mae dau URL o’r fath wedi’u tanio un ar ôl y llall yn dal i ddatrys yn lân. Yr ysgrifennwr olaf sy’n ennill ar y rhes wedi’i hamlygu a chorff y drafft fel ei gilydd. Daw’r dyfnder o un cam effaith ychwanegol yn yr un llif trefnedig y mae pob URL arall yn ei ddefnyddio. Mae’r gost yn amlwg: mae’r amlygiad a’r drafft bellach wedi’u cyplu, gall ras ddangos trosglwyddiad byr canol-hedfan, ac mae’n rhaid i’r ddolen ddilysu’r templed ar adeg dosrannu.
Dechreuodd dolennu dwfn fel ffordd o ganfod llwybr: roedd URL yn golygu lle, a’r gwaith oedd agor y sgrin iawn. Problem y defnyddiwr oedd beth bynnag a ddigwyddai nesaf.
Mae awtomeiddio yn troi’r disgwyliad ar ei ben. Nid oes ar sgriptiau, Shortcuts nac asiantau eisiau drws. Maent eisiau cyd-destun sydd eisoes wedi’i baratoi: tasg ar ei hanner, fel mai penderfyniad yw gweithred gyntaf y person, nid chwilio.
Y cwestiwn go iawn felly yw: a all un URL adael yr ap mewn cyflwr parod? Mae Iris yn ateb “gall” gan gadw pob gwarant o weddill y gyfres. Dim ond am fod y rheolau rasio a chyflwr eisoes yn gweithio y mae’r dyfnder a ddangosir isod yn bosibl. Po bellaf y mae URL yn cyrraedd, cryfaf y mae’n rhaid i’r bensaernïaeth oddi tano fod.
Mae’r honiad ar ei hawsaf i’w ddangos. Un URL, wedi’i danio at ap nad yw’n rhedeg:
botmessages://compose/bot/design/templates/design-feedback
Mae’r ap yn lansio’n oer ac yn ei ddatrys yn bum curiad, wedi’u cymhwyso mewn trefn fel un symudiad di-dor:
Y recordiad isod yw defnyddiwr demo’r pecyn, wedi’i lansio’n oer gan yr URL uchod. Mae’r rhes a ddewiswyd yn eistedd wedi’i hamlygu yn y ddalen, ac mae’r drafft a baratôdd (“Could you take a pass on the latest mocks…”) yn sbecian uwchben y ddalen, eisoes wedi’i deipio. Mae’r datrysiad yn chwarae fel un pas animeiddio o tua 200 milieiliad. Dim cyflwr llwytho, dim ail dap, ac nid yw’r defnyddiwr wedi cyffwrdd â’r sgrin.
Mae drafft wedi’i baratoi yn haeddu’r un craffu ag unrhyw wyneb arall y gall URL ei gyffwrdd. Mae erthygl y prawf straen yn mesur beth sy’n digwydd pan fydd URLau’n cyrraedd yn gyflymach nag y gall yr UI animeiddio; y fersiwn fer yw bod URLau sy’n rasio yn cywasgu i’r ysgrifennwr olaf yn ennill, gyda chanslo cydweithredol a dim cyflwr hanner-gymhwysedig ar ôl. Mae’r paratoi cyfansoddi yn ymuno â’r cytundeb hwnnw yn hytrach na negodi ei gytundeb ei hun. Taniwch ddau URL templed yn olynol:
botmessages://compose/bot/design/templates/release-notes
botmessages://compose/bot/design/templates/hero-copy-review
Mae’r cyntaf yn cyrraedd cyn belled â sgrolio ei res i’r golwg. Yng nghanol yr animeiddiad mae’r ail yn ei ganslo, yn ail-redeg yr un llif gyda’i dempled ei hun, ac yn glanio. Mae’r ddau wyneb yn adlewyrchu’r enillydd newydd: mae’r rhes wedi’i hamlygu a’r drafft rhannol weladwy uwchben y ddalen yn cytuno ynghylch pa URL a enillodd. Y cytundeb hwnnw yw’r pwynt. Mae’r amlygiad a chorff y drafft yn cael eu gosod gyda’i gilydd mewn un cam, felly nid oes ffenestr lle mae’r rhes yn enwi un templed a’r drafft yn dal un arall.
Y tu mewn i’r ap sy’n defnyddio’r pecyn, mae’r llif sy’n berchen ar yr wyneb cyfansoddi yn mapio’r bwriad hwn i ddilyniant wedi’i dynnu o’r un set gaeedig o weithrediadau y mae pob pwynt mynediad arall yn ei defnyddio. Nid oedd angen math newydd o lywio i gyrraedd drafft wedi’i baratoi ddwy haen o ddalennau i lawr. Un achos effaith newydd oedd ei angen:
case .openBotPreviewTemplate(let pid, let tid):
return [
.nav(.popToRoot),
.effect(.clearTemplateHighlight),
.nav(.dismissSheet),
.nav(.push(.botPreview(pid))),
.nav(.present(.templates(pid))),
.effect(.highlightTemplate(tid))
]
A chymhwyso’r effaith, sy’n gwneud dau beth yn hytrach nag un:
case .highlightTemplate(let id):
highlightedTemplateID = id
if let template = DemoData.template(id: id) {
selectTemplate(template)
}
Mae dewis y templed yn ei osod yn weithredol ac yn rhag-lenwi’r drafft. Mae’r defnyddiwr yn gweld y rhes wedi’i hamlygu yn gyntaf am fod y ddalen templedi ar y brig; mae cau’r ddalen yn datgelu wyneb cyfansoddi a oedd yn barod cyn i’r defnyddiwr edrych. Mae dyfnder y canlyniad wedi’i gyfansoddi’n gyfan gwbl o weithrediadau yr oedd y pecyn eisoes yn gwybod sut i’w trefnu, eu canslo, a’u hailchwarae.
highlightTemplate yn gwneud dau beth mewn un cymhwyso: mae’n gosod y rhes wedi’i hamlygu ac yn dewis y templed, sy’n rhag-lenwi’r drafft.Cyplu yw’r paratoi cyfunol, ac mae’n ymddangos mewn tri lle. Am fod yr amlygiad a’r drafft yn cael eu gosod mewn un cam, mae prawf sy’n gwirio’r amlygiad hefyd yn gwirio’r drafft yn ymhlyg; os bydd angen i’r ddau symud yn annibynnol ryw ddydd, mae’n rhaid hollti’r cam yn ddau. O dan ras mae’r cyplu’n weladwy: mae sgrolio’r templed cyntaf yn dechrau cyn i’r ail URL ennill, felly mae defnyddiwr sy’n gwylio’n ofalus yn gweld trosglwyddiad byr canol-hedfan yn hytrach na thoriad glân. A pho ddyfnaf y caniateir i URL gyrraedd, y mwyaf sy’n rhaid bod yn wir cyn iddo redeg. Rhaid gwrthod drafft wedi’i baratoi yn erbyn templed nad yw’n bodoli pan ddosrennir yr URL, cyn i’r un o’r curiadau redeg, oherwydd byddai dilyniant sy’n hanner-gymhwyso yn gadael y ddalen ar agor dros ddrafft na chafodd erioed ei lenwi.
Dyma ddarn olaf y gyfres. Mae gan y pum honiad arall (y rasys, yr ôl troed, y datrys ymwybodol o gyflwr, y wyneb mewnbwn, ac un datrysydd i dapiau ac URLau) erthygl yr un, ac mae tudalen y gyfres yn dal y map.
Y patrwm y maent yn ei greu gyda’i gilydd yw’r un y dechreuodd y dudalen hon ag ef. Galwad i mewn i’r ap yw URL, a mesur y bensaernïaeth y tu ôl iddi yw’r hyn y caniateir i’r alwad honno ei drosglwyddo. Yma mae’n trosglwyddo drafft sydd eisoes wedi’i deipio, ddwy ddalen i lawr, yn aros am benderfyniad dynol. Y sgrin a agorodd oedd y peth lleiaf.