Skip to content

Writing/Mișcare

Un sistem de mișcare, nu animații răzlețe

Animațiile adăugate ecran cu ecran nu se potrivesc niciodată între ele. Token-uri, o intrare comună și un singur vocabular de tranziții fac o aplicație să pară un singur obiect.

ISIonuț Sandu27 iul 2026 · 7 min de cititMișcareDesign systemsReact Native

Mișcarea e de obicei ultimul lucru adăugat într-o aplicație și primul care trădează cum a fost construită. Ecranele se animă fiecare cum a fost scris în ziua aia, duratele se tastează ca numere oriunde e nevoie de ele, iar rezultatul e o aplicație în care nimic nu e greșit tehnic și nimic nu pare făcut de un singur om.

Soluția e cea care a funcționat deja pentru culoare și tipografie. Mișcarea devine token-uri: un set mic de durate și curbe cu nume, pe care ecranele le cheltuiesc în loc să le inventeze.

“Nimeni nu-ți poate spune că două ecrane folosesc curbe diferite. Toată lumea îți poate spune că aplicația pare nefinisată.”

O singură intrare, peste tot

Primul lucru construit peste token-urile alea e o intrare în cascadă. Conținutul unui ecran apare pe rând, nu tot deodată, cu decalajul definit o singură dată și refolosit. Nu costă nimic per ecran, pentru că un ecran se înscrie învelindu-și conținutul, iar asta face fiecare ecran din aplicație să pară înrudit cu toate celelalte.

Al doilea e un antet care se strânge, care își micșorează titlul în bara de navigație pe măsură ce derulezi, cu o estompare la marginea de derulare și un blur care reacționează la poziție în loc să fie pornit permanent. Sunt trei efecte separate care se citesc ca un singur comportament, iar asta e adevărat doar pentru că împart aceeași durată și aceeași curbă.

Tranzițiile transmit un înțeles

Tranzițiile de navigație se atribuie după intenție, nu după rută. Intrarea mai adânc într-o ierarhie arată altfel decât deschiderea a ceva modal, care arată la rândul ei altfel decât schimbarea unui tab. Aplicația îți spune ce fel de mișcare tocmai s-a întâmplat și rămâne consecventă pentru că presetările stau lângă arborele de rute, nu se aleg la fiecare apel.

Există o singură bucată de decor pur și își merită locul: totalul se numără crescând, în loc să apară. Într-o aplicație al cărei scop e să producă un număr la capătul unei ture, animarea numărului ăluia e aplicația arătând cu degetul spre lucrul pentru care ai venit.

Mișcarea are un întrerupător

Toată respectă setarea de sistem pentru reducerea mișcării, ceea ce nu e un moft. Pentru cineva cu o tulburare vestibulară, o intrare în cascadă nu e încântătoare, e un motiv să închidă aplicația. Reducerea mișcării colapsează fiecare dintre efectele astea într-o schimbare instantanee de stare, în timp ce răspunsul la apăsare rămâne, ca interfața să-ți răspundă în continuare.

Ăsta e argumentul pentru un sistem în locul unui set de animații, într-o propoziție: respectarea unei setări de accesibilitate în toată aplicația e o schimbare de un rând când mișcarea e în token-uri și un audit al fiecărui ecran când nu e.

Ionuț Sandu — 27 iul 2026Copiază linkul

URMĂTORUL · 26 IUL 2026 · 8 MIN DE CITIT

Cum duci o bibliotecă de componente în producție

Să construiești una e ușor. Să-ți folosești propria bibliotecă într-o aplicație pe care se bazează oameni reali e locul în care afli ce e în neregulă cu ea.

Preiau proiecte noi

Spune-mi ce construiești.Un plan scris și un preț fix înainte să se miște vreun ban.

Răspund la tot într-o zi lucrătoare. Dacă nu sunt omul potrivit pentru proiect, ți-o spun din start, nu după trei săptămâni.