Los ntawm UI-cov khoom siv rau kev tsim qauv

Ivy online xinesmas kev paub

Thaum pib ntawm 2017 peb thawj zaug xav txog kev tsim peb tus kheej tsim-rau-code kev xa khoom, ntau tus twb tau tham txog nws thiab qee tus txawm ua nws. Txawm li cas los xij, los txog niaj hnub no me ntsis paub txog cov kev paub ntawm kev tsim cov txheej txheem tsim qauv, thiab tsis muaj cov ntawv qhia meej thiab pov thawj piav qhia txog cov thev naus laus zis thiab cov txheej txheem rau kev hloov pauv ntawm cov txheej txheem ntawm kev tsim qauv rau hauv cov khoom lag luam uas twb muaj lawm. Thiab los ntawm "cov ntsiab lus hauv cov cai" lawv feem ntau txhais tau ntau yam sib txawv.

Los ntawm UI-cov khoom siv rau kev tsim qauv
Lub caij no, lub tuam txhab tau nce ob npaug rau nws cov neeg ua haujlwm xyoo tom qab xyoo - nws yog qhov tsim nyog los ntsuas lub tuam tsev tsim thiab ua kom zoo dua cov txheej txheem ntawm kev tsim thiab hloov cov txheej txheem rau kev txhim kho. Peb muab tag nrho cov no los ntawm "zoo" ntawm lub platform uas yuav tsum tau txais kev txhawb nqa, thiab peb tau txais ib qho piv txwv ntawm Babylonian pandemonium, uas tsuas yog tsis tuaj yeem "ua li ib txwm" thiab tsim cov nyiaj tau los. Txoj kev loj hlob ntawm cov platforms feem ntau tau mus ua ke, thiab tib lub luag haujlwm tuaj yeem tso tawm ntawm cov platform sib txawv nrog kev lag luam ntau lub hlis.

Los ntawm UI-cov khoom siv rau kev tsim qauv
Cais cov txheej txheem rau txhua lub platform

Kev lig kev cai, peb pib nrog cov teeb meem uas ib qho kev tsim qauv yuav pab daws thiab tsim cov kev cai rau nws tsim. Ntxiv nrog rau kev tsim cov lus pom kev sib koom ua ke, ua kom qhov nrawm ntawm kev teeb tsa thiab kev txhim kho, thiab txhim kho cov khoom zoo tag nrho, nws yog ib qho tseem ceeb rau kev sib koom ua ke tsim kom ntau li ntau tau. Qhov no yog qhov tsim nyog kom txoj kev loj hlob ntawm kev ua haujlwm ua tau nyob rau hauv tag nrho peb cov platforms ib txhij: Web, iOS, Android, Smart TV, tvOS, Android TV, Windows 10, xBox One, PS4, Roku - tsis ua hauj lwm ntawm txhua tus nyias. Thiab peb tau ua nws!

Tsim β†’ data

Thaum cov kev pom zoo tseem ceeb ntawm cov khoom lag luam thiab cov chaw tsim khoom tau mus txog, peb zaum los xaiv cov txheej txheem thev naus laus zis thiab ua haujlwm tawm cov ntsiab lus ntawm tag nrho cov txheej txheem - los ntawm layout mus tso tawm. Txhawm rau kom ua tiav cov txheej txheem ntawm kev hloov cov qauv tsim mus rau kev txhim kho, peb tau tshawb nrhiav qhov kev xaiv ntawm kev txheeb xyuas cov ntsiab lus tsis ncaj qha los ntawm Sketch cov ntaub ntawv nrog layouts. Nws tau muab tawm tias kev nrhiav cov lej ntawm cov lej peb xav tau thiab rho tawm cov kev txwv peb xav tau yog qhov ua haujlwm nyuaj thiab txaus ntshai. Ua ntej, cov neeg tsim qauv yuav tsum tau ceev faj heev hauv kev sau npe tag nrho cov txheej txheem ntawm qhov chaws, qhov thib ob, qhov no tsuas yog ua haujlwm rau cov khoom siv yooj yim tshaj plaws, thiab thib peb, kev vam khom rau lwm tus siv thev naus laus zis thiab cov qauv txheej txheem ntawm tus thawj Sketch layout yuav ua rau lub neej yav tom ntej ntawm tag nrho. qhov project. Peb txiav txim siab tso tseg automation hauv cheeb tsam no. Qhov no yog li cas thawj tus neeg tau tshwm sim hauv pab pawg tsim qauv, uas nws cov tswv yim yog tsim layouts, thiab cov khoom tso tawm yog cov ntaub ntawv piav qhia txhua qhov tsis sib xws ntawm cov khoom thiab hierarchically txiav txim raws li atomic design methodology.

Qhov tsuas yog qhov uas yuav tsum tau ua yog qhov twg thiab yuav ua li cas khaws cov ntaub ntawv, yuav ua li cas hloov mus rau txoj kev loj hlob thiab yuav txhais li cas hauv kev txhim kho ntawm txhua lub platform uas peb txhawb nqa. Cov yav tsaus ntuj tsis languid... Qhov tshwm sim ntawm cov rooj sib tham tsis tu ncua ntawm pawg neeg ua haujlwm uas muaj cov neeg tsim qauv thiab pab pawg ua haujlwm los ntawm txhua lub platform yog qhov kev pom zoo hauv qab no.

Peb manually parse qhov pom rau hauv atomic ntsiab: fonts, xim, pob tshab, indents, roundings, icons, duab thiab ntev rau animations. Thiab peb sau los ntawm cov nyees khawm no, inputs, checkboxes, bank card widgets, thiab lwm yam. Peb muab cov npe uas tsis yog semantic rau cov qauv ntawm ib qho ntawm cov theem, tshwj tsis yog cov cim, piv txwv li, cov npe ntawm lub nroog, cov npe ntawm nymphs, Pokemon, tsheb hom ... Muaj tsuas yog ib qho xwm txheej - daim ntawv yuav tsum tsis txhob qaug zog ua ntej, yuav ua li cas cov styles xaus - qhia yuav tsum mus! Koj yuav tsum tsis txhob nqa mus nrog semantics, yog li koj tsis tas yuav ntxiv lub pob nruab nrab ntawm "me" thiab "nruab nrab", piv txwv li.

Lus pom

Cov neeg tsim khoom raug tso tseg los xav txog yuav ua li cas khaws thiab hloov cov ntaub ntawv hauv txoj hauv kev uas haum rau txhua lub platform, thiab tsim qauv yuav tsum tsim cov ntsiab lus sib cuam tshuam uas tuaj yeem saib zoo thiab ua haujlwm zoo thoob plaws lub nkoj ntawm cov khoom siv txhawb nqa.

Yav dhau los, peb twb tau tswj hwm "sim" feem ntau ntawm cov qauv tsim hauv daim ntawv thov rau Windows 10, uas lub sijhawm ntawd yog lub platform tshiab rau peb, uas yog, nws yuav tsum tau ua thiab txhim kho "los ntawm kos." Los ntawm kev kos nws, peb muaj peev xwm npaj thiab sim feem ntau ntawm cov khoom thiab nkag siab txog qhov twg ntawm lawv yuav tsum tau suav nrog rau yav tom ntej Eevee tsim system. Yog tsis muaj sandbox zoo li no, qhov kev paub no tsuas tuaj yeem tau txais los ntawm ntau qhov kev rov ua haujlwm ntawm cov haujlwm uas twb muaj lawm, thiab qhov no yuav siv sijhawm ntau dua ib xyoos.

Kev siv cov khoom qub qub ntawm cov platform sib txawv txo cov naj npawb ntawm layouts thiab array ntawm cov ntaub ntawv ntawm cov qauv tsim kom loj, yog li tus tsim yuav tsum tau daws ib qho teeb meem ntxiv, yav tas los tsis tau piav qhia hauv cov kev coj ua ntawm cov khoom tsim thiab kev loj hlob - yuav ua li cas, piv txwv li, Lub pob khawm rau cov xov tooj thiab cov ntsiav tshuaj puas tuaj yeem rov siv dua ntawm TV? Thiab peb yuav ua li cas nrog qhov ntau thiab tsawg ntawm fonts thiab cov ntsiab lus ntawm cov platform sib txawv?

Obviously, nws yog tsim nyog los tsim ib tug ntoo khaub lig-platform modular kab sib chaws uas yuav teem cov ntawv nyeem thiab lub ntsiab qhov ntau thiab tsawg peb xav tau rau txhua lub platform tshwj xeeb. Raws li qhov pib ntawm daim phiaj, peb xaiv qhov loj thiab tus naj npawb ntawm cov ntawv tshaj tawm yeeb yaj kiab uas peb xav pom ntawm ib qho screen thiab, raws li qhov no, peb tsim ib txoj cai los tsim cov kab sib chaws, muab qhov dav ntawm ib kab sib npaug. mus rau qhov dav ntawm daim ntawv loj loj.

Los ntawm UI-cov khoom siv rau kev tsim qauv
Tam sim no peb yuav tsum nqa tag nrho cov ntxaij vab tshaus loj rau tib qhov loj me thiab haum rau hauv ib kab sib chaws. Apple TV thiab Roku yog tsim los ntawm qhov loj ntawm 1920x1080, Android TV - 960x540, Smart TVs, nyob ntawm tus neeg muag khoom, yog tib yam, tab sis qee zaum 1280x720. Thaum lub app yog rendered thiab tso tawm nyob rau hauv Full HD cov ntxaij vab tshaus, 960 yog multiplied los ntawm 2, 1280 yog multiplied los ntawm 1,33, thiab 1920 yog tso zis raws li yog.

Hla cov ntsiab lus tho txawv, peb tuaj txog qhov xaus tias feem ntau tag nrho cov ntxaij vab tshaus, suav nrog cov ntxaij vab tshaus TV, hais txog cov ntsiab lus thiab lawv qhov ntau thiab tsawg, tau them los ntawm ib qho kev tsim qauv, thiab txhua lub TV cov ntxaij vab tshaus yog qhov tshwj xeeb ntawm cov kab sib chaws sib txuas, thiab muaj tsib lossis rau kab, zoo li cov ntsiav tshuaj nruab nrab lossis desktop. Leej twg xav paub meej, mus rau hauv cov lus.

Los ntawm UI-cov khoom siv rau kev tsim qauv
Ib qho UI rau txhua lub platform

Tam sim no, txhawm rau kos tus yam ntxwv tshiab, peb tsis tas yuav kos cov qauv rau txhua lub platform, ntxiv rau kev hloov pauv rau txhua tus ntawm lawv. Nws yog txaus los qhia ib tug layout thiab nws adaptability rau tag nrho cov platforms thiab pab kiag li lawm ntawm tej dav: xov tooj - 320-599, txhua yam - 600-1280.

Cov ntaub ntawv β†’ kev loj hlob

Tau kawg, ntau npaum li peb xav ua kom tiav ib qho kev sib koom ua ke tsim, txhua lub platform muaj nws tus kheej tshwj xeeb. Txawm hais tias ob lub vev xaib thiab Smart TV siv ReactJS + TypeScript pawg, Smart TV app khiav ntawm cov neeg siv khoom qub qub WebKit thiab Presto thiab yog li tsis tuaj yeem sib koom ua ke nrog lub vev xaib. Thiab cov ntawv xov xwm email raug yuam kom ua haujlwm nrog tabular layout. Nyob rau tib lub sijhawm, tsis muaj ib lub platform uas tsis yog html siv lossis npaj siv React Native lossis ib qho ntawm nws cov analogues, ntshai kev ua haujlwm tsis zoo, vim peb muaj ntau qhov kev cai layouts, sau nrog cov kev hloov kho tshiab, cov duab thiab cov yeeb yaj kiab. Yog li ntawd, cov tswv yim ntawm kev xa cov qauv CSS npaj txhij los yog React Cheebtsam tsis haum rau peb. Yog li ntawd, peb tau txiav txim siab xa cov ntaub ntawv hauv JSON hom, piav qhia txog qhov tseem ceeb hauv daim ntawv qhia tsis meej.

Yog li vaj tse rounding: 8 Windows 10 app converts rau CornerRadius="8", web - border-radius: 8px, Android - android:radius="8dp", iOS - self.layer.cornerRadius = 8.0.
Khoom offsetTop: 12 tib lub vev xaib tus neeg siv khoom sib txawv tuaj yeem txhais tau li top, margin-top, padding-top los yog transform

Kev tshaj tawm ntawm cov lus piav qhia kuj txhais tau tias yog lub platform technically siv tsis tau cov cuab yeej lossis nws cov nqi, nws tuaj yeem tsis quav ntsej nws. Hais txog cov ntsiab lus, peb tau ua hom lus Esperanto: qee qhov raug coj los ntawm Android, qee qhov los ntawm SVG, qee qhov los ntawm CSS.

Yog tias ntawm ib lub platform tshwj xeeb koj yuav tsum tau tso saib cov ntsiab lus sib txawv, peb tau siv lub peev xwm los hloov cov ntaub ntawv sib xws hauv daim ntawv ntawm JSON cov ntaub ntawv cais. Piv txwv li, lub xeev "ua kom pom tseeb" rau Smart TV hais txog kev hloov pauv ntawm txoj haujlwm ntawm cov ntawv hauv qab daim ntawv tshaj tawm, uas txhais tau hais tias rau lub platform no cov khoom no hauv tus nqi ntawm "indent" cov cuab yeej yuav muaj 8 indentation cov ntsiab lus nws xav tau. Txawm hais tias qhov no ua rau nyuaj rau cov txheej txheem tsim qauv, nws muab kev ywj pheej ntxiv, ua rau peb muaj lub sijhawm los tswj hwm qhov kev pom "kev sib txawv" ntawm lub platform peb tus kheej, thiab tsis yog tus neeg raug tsim txom rau cov qauv peb tsim.

Los ntawm UI-cov khoom siv rau kev tsim qauv

Daim duab

Iconography hauv cov khoom lag luam digital yeej ib txwm muaj qhov muaj txiaj ntsig thiab tsis yog qhov yooj yim tshaj plaws, feem ntau xav tau tus tsim qauv cais. Muaj ib txwm muaj ntau glyphs, txhua tus ntawm lawv muaj ntau qhov ntau thiab tsawg thiab xim, thiab cov platforms feem ntau xav tau lawv hauv ntau hom. Feem ntau, tsis muaj laj thawj tsis muab tag nrho cov no tso rau hauv cov qauv tsim.

Los ntawm UI-cov khoom siv rau kev tsim qauv
Glyphs tau thauj khoom hauv SVG vector hom, thiab xim qhov tseem ceeb tau hloov pauv nrog cov hloov pauv. Cov ntawv thov tuaj yeem tau txais lawv npaj siv - hauv txhua hom thiab xim.

Saib ua ntej

Nyob rau sab saum toj ntawm JSON cov ntaub ntawv, peb tau sau ib lub cuab yeej rau saib ua ntej cov khoom - ib daim ntawv thov JS uas dhau JSON cov ntaub ntawv ntawm ya los ntawm nws cov cim cim thiab cov qauv tsim, thiab qhia ntau yam kev hloov pauv ntawm txhua yam hauv qhov browser. Qhov tseem ceeb, saib ua ntej yog tib tus neeg siv khoom raws li cov ntawv thov platform thiab ua haujlwm nrog tib cov ntaub ntawv.

Txoj kev yooj yim tshaj plaws kom nkag siab tias ib qho khoom siv ua haujlwm li cas yog los ntawm kev cuam tshuam nrog nws. Yog li ntawd, peb tsis tau siv cov cuab yeej zoo li Storybook, tab sis ua qhov kev sib tham sib saib ua ntej - koj tuaj yeem kov, taw tes, nyem ... Thaum ntxiv cov khoom siv tshiab rau cov qauv tsim, nws tshwm hauv kev saib ua ntej kom cov platforms muaj ib yam dab tsi los tsom rau thaum twg. siv nws.

Ntaub ntawv

Raws li cov ntaub ntawv muab rau cov platforms hauv daim ntawv ntawm JSON, cov ntaub ntawv rau cov khoom tau raug tsim tawm. Ib daim ntawv teev cov khoom thiab muaj peev xwm ntawm cov txiaj ntsig hauv txhua tus tau piav qhia. Tom qab nws pib-tsim, cov ntaub ntawv tuaj yeem qhia meej manually thiab cov lus piav qhia tuaj yeem ntxiv. Kev saib ua ntej thiab cov ntaub ntawv raug xa mus rau ib leeg ntawm qib ntawm txhua qhov khoom, thiab tag nrho cov ntaub ntawv suav nrog hauv cov ntaub ntawv muaj rau cov neeg tsim tawm hauv daim ntawv ntawm JSON cov ntaub ntawv ntxiv.

Deprecator

Lwm qhov tsim nyog yog lub peev xwm los hloov thiab hloov kho cov khoom uas twb muaj lawm dhau sijhawm. Cov qauv tsim tau kawm qhia cov neeg tsim khoom uas cov khoom lossis txawm tias tag nrho cov khoom siv tsis tuaj yeem siv thiab tshem tawm sai li sai tau thaum lawv tsis siv rau txhua lub platform. Tseem muaj ntau "kev tuav tes" kev ua haujlwm hauv cov txheej txheem no, tab sis peb tsis nyob twj ywm.

Kev txhim kho cov neeg siv khoom

Undoubtedly, cov theem nyuaj tshaj plaws yog kev txhais cov ntaub ntawv tsim qauv hauv cov cai ntawm txhua lub platform uas peb txhawb nqa. Yog tias, piv txwv li, cov phiajcim hauv lub vev xaib tsis yog ib yam tshiab, ces cov neeg tsim khoom ntawm cov ntawv thov mobile rau iOS thiab Android ua haujlwm nyuaj ua ntej lawv xav txog yuav ua li cas nrog nws.

Txhawm rau layout iOS daim ntawv thov cov ntxaij vab tshaus, peb siv ob qho yooj yim mechanisms muab los ntawm iviUIKit: dawb layout ntawm cov ntsiab lus thiab layout ntawm collections ntawm lub ntsiab. Peb siv VIPER, thiab tag nrho cov kev sib cuam tshuam nrog iviUIKit yog concentrated hauv Saib, thiab feem ntau cuam tshuam nrog Apple UIKit yog concentrated hauv iviUIKit. Qhov ntau thiab tsawg thiab kev npaj ntawm cov ntsiab lus tau teev nyob rau hauv cov nqe lus ntawm kab thiab syntactic qauv uas ua hauj lwm nyob rau sab saum toj ntawm cov haiv neeg iOS no SDK txwv, ua rau lawv siv tau ntau dua. Qhov no tshwj xeeb tshaj yog ua kom yooj yim rau peb lub neej thaum ua haujlwm nrog UICollectionView. Peb tau sau ntau qhov kev cai wrappers rau layouts, nrog rau cov complex. Muaj qhov tsawg kawg nkaus ntawm cov neeg siv khoom code thiab nws tau dhau los tshaj tawm.

Txhawm rau tsim cov qauv hauv Android project, peb siv Gradle, tig cov ntaub ntawv tsim qauv rau hauv cov qauv hauv XML hom. Nyob rau tib lub sijhawm, peb muaj ntau lub tshuab hluav taws xob ntawm ntau qib:

  • Yooj yim. Cov ntaub ntawv ntawm primitives rau qib siab generators yog parsed.
  • Cov peev txheej. Download tau duab, icons, thiab lwm yam duab.
  • Cheebtsam. Lawv tau sau rau txhua yam, uas piav qhia txog yam khoom thiab yuav txhais li cas rau hauv cov qauv.

Daim ntawv thov tso tawm

Tom qab cov neeg tsim qauv tau kos ib qho kev tivthaiv tshiab lossis rov tsim dua ib qho uas twb muaj lawm, cov kev hloov pauv no tau pub rau hauv cov qauv tsim. Cov neeg tsim tawm ntawm txhua lub platform tau zoo-tuning lawv cov cim cim los txhawb cov kev hloov pauv. Tom qab ntawd, nws tuaj yeem siv rau hauv kev siv cov kev ua haujlwm tshiab uas yuav tsum muaj cov khoom siv no. Yog li, kev sib cuam tshuam nrog cov txheej txheem tsim tsis tshwm sim hauv lub sijhawm tiag tiag, tab sis tsuas yog thaum lub sijhawm sib sau ua ke tshiab tso tawm. Txoj hauv kev no tseem tso cai rau kev tswj hwm zoo dua cov txheej txheem hloov pauv cov ntaub ntawv thiab ua kom cov lej ua haujlwm hauv cov neeg siv khoom txhim kho cov haujlwm.

Cov txiaj ntsim tau los

Nws yog ib xyoos txij li qhov tsim qauv tsim los ua ib feem ntawm cov txheej txheem txhawb nqa kev txhim kho ntawm Ivy online xinesmas, thiab peb tuaj yeem kos qee cov lus xaus:

  • Qhov no yog ib qhov project loj thiab complex uas yuav tsum tau muaj kev mob siab rau tas li.
  • Qhov no tau tso cai rau peb los tsim peb tus kheej cov lus sib txawv ntawm cov lus pom uas ua tau raws li lub hom phiaj ntawm kev pabcuam video online.
  • Peb tsis muaj qhov muag pom thiab ua haujlwm lag luam platforms lawm.

Saib ua ntej ntawm Ivy tsim system Cheebtsam - design.iv.ru

Tau qhov twg los: www.hab.com

Ntxiv ib saib