Crearea prototipurilor pentru iOS și Android cu Framer Noțiuni de bază

Introducere

Aceste zile, nu aveți nevoie de software de editare a imaginilor, cum ar fi Adobe Photoshop sau Gimp, pentru a crea machete de interfață cu utilizatorii pentru aplicațiile dvs. mobile. O aplicație care este conformă cu limbajul de design al materialului Google este de obicei compusă doar din forme geometrice simple, culori solide, icoane și text. Un prototip de interfață pentru o astfel de aplicație poate fi creat cu ușurință utilizând doar codul.

În această serie de două părți, veți învăța elementele de bază ale programului Framer, un framework open source Javascript care vă permite să creați în mod programat prototipuri interactive și realiste cu animații frumoase pentru aplicații iOS și Android.

Cerințe preliminare

Pentru a urma acest tutorial, veți avea nevoie de:

  • ultima construcție a cadrului Framer
  • Google Chrome sau orice alt browser WebKit
  • Python 2.7 sau mai mare
  • un editor de text
  • o înțelegere de bază a HTML, CSS și Javascript

1. Configurare inițială

Pasul 1: Creați o pagină HTML

Deoarece un prototip Framer nu este altceva decât o pagină web obișnuită scrisă în HTML, CSS și Javascript, să începem prin crearea unei pagini HTML goale. Voi numi această pagină index.html.

„html

"

Pentru a utiliza API-ul lui Framer pe această pagină, trebuie să adăugați a scenariu eticheta care indică framer.js fișierul pe care l-ați descărcat.

html

Pasul 2: Creați un server HTTP

Cum Framer folosește URL-uri relative de protocol pentru a încărca diferite resurse, nu puteți să faceți dublu clic pe fișierul pe care l-ați creat pentru al deschide într-un browser. Acest lucru va duce la erori de rețea. În schimb, trebuie să îl accesați printr-un server HTTP.

Pentru a crea rapid un server HTTP capabil să servească pagina dvs. web, puteți folosi Python SimpleHTTPServer modul.

Deschideți un terminal, navigați la directorul care conține pagina web creată și executați următoarea comandă.

bash python -m SimpleHTTPServer 8000

Acest lucru va porni un server care rulează pe port 8000 în mod implicit. Acum puteți deschide Google Chrome și puteți vizualiza pagina dvs. Web vizitând http: // localhost: 8000 /.

Pasul 3: Desenați un dispozitiv

Pentru a vă face să vă simțiți realist pe un browser desktop, ar trebui să afișați toate elementele sale în interiorul cadrului unui dispozitiv mobil. Framer vă permite să desenați o varietate de dispozitive mobile populare, cum ar fi iPhone-uri, telefoane Nexus și tablete, iPad-uri, ceasuri Apple și multe altele. Pentru acest tutorial, voi folosi un iPhone 5c roz.

Pentru a desena un dispozitiv, ar trebui mai întâi să creați o instanță a DeviceComponent clasa și numesc-o setupContext metodă. Puteți schimba apoi tip de dispozitiv la dispozitivul ales de dvs. Adaugă altul scenariu etichetați pagina HTML creată mai devreme și adăugați codul următor:

"javascript var device = nou Framer.DeviceComponent ();

device.setupContext (); device.deviceType = "iphone-5c-roz"; "

Când actualizați pagina dvs. web, ar trebui să vedeți următoarele în fereastra browserului:

Dacă doriți, puteți face și o mână care ține dispozitivul adăugând -mână la sfârșitul tip de dispozitiv şir. Dacă aparatul pare prea mare sau prea mic, puteți utiliza setDeviceScale pentru a-și schimba mărimea.

"javascript / Afișează o mână cu dispozitivul device.deviceType =" iphone-5c-hand-blue ";

// Schimbați dispozitivul size.setDeviceScale (0.3); "

Aceasta completează configurația inițială. Rezultatul ar trebui să arate astfel:

2. Cutii de desen, text și imagini

Aproape fiecare element din prototipul dvs. Framer va fi un exemplu al modelului Strat clasă. A Strat este foarte similar cu un HTML div element și poate fi folosit pentru a desena dreptunghiuri, imagini și text.

Pentru a crea un Strat trebuie să-i apelați constructorul și să îi transmiteți un obiect JSON care definește diferitele proprietăți ale lui Strat. În timp ce creați un Strat, de obicei, specificați dimensiunile sale (lăţime și înălţime) și poziția (X și y). De asemenea, puteți utiliza funcția centerX și centerY metodele de centrare a acestuia pe orizontală și pe verticală. Iată un exemplu despre cum să creați o Strat.

"javascript / / Desenați un pătrat alb

var whiteSquare = strat nou (backgroundColor: "#FFFFFF", lățime: 400, înălțime: 400, y: 20);

// Centru orizontal whiteSquare.centerX (); "

Pentru a afișa o imagine, trebuie să creați o imagine Strat a caror imagine proprietatea indică fișierul imagine pe care doriți să îl afișați.

"javascript / / Desenați o imagine

var pic = nou strat (image: "painting.jpg", lățime: 400, înălțime: 400, y: 440);

pic.centerX ();“

Pentru a afișa text (sau HTML), puteți utiliza html proprietate. De asemenea, puteți adăuga stilul CSS la a Strat folosind stil proprietate.

"javascript / / Scrieți text

var text = nou strat (lățime: lățimea ecranului, înălțimea: 100, y: 860, html: "Acesta este un prototip", stil: fontSize: "50px", textAlign: "center", color: "# f1f2f3 ", PaddingTop:" 18px ");"

Cu cei trei Strat obiectele pe care le-am creat în acest pas, prototipul ar arăta astfel:

3. Adăugarea evenimentelor

Aveți posibilitatea să atașați agenți de procesare a evenimentelor la un a Strat folosind pe metodă. pe metoda este la fel ca Javascript addEventListener metodă. Acesta ia numele unui eveniment ca primul său parametru și o funcție ca al doilea parametru.

Iată cum adăugați a clic handler la text strat pe care l-am creat în etapa anterioară:

javascript text.on ("faceți clic pe", funcția () text.html = "Am fost făcut clic";);

În acest tutorial veți vedea mai multe aplicații de gestionare a evenimentelor.

4. Adăugarea animației

Framer se distanțează de competiția datorită efectelor avansate de animație. Cu Framer, puteți anima aproape fiecare proprietate a dvs. Strat obiecte utilizând anima metodă. anima metoda ia ca intrare un obiect JSON care specifică proprietățile care ar trebui animate.

Obiectul JSON poate include, de asemenea, diverse detalii de configurare ale animației, cum ar fi durata și comportamentul acesteia.

Ca exemplu, permiteți-mi să vă arăt cum să creați o animație care se transformă whiteSquare într-un cerc prin schimbarea lui borderRadius.

"javascript / Animare borderRadius

whiteSquare.animate (proprietăți: borderRadius: whiteSquare.width / 2,

timpul: 2, // durata este curba de 2 secunde: "usurinta in afara" / / aplicati relaxarea); "

Iată un alt exemplu care arată cum să animați umbra lui whiteSquare când se face clic pe el.

"javascript / Animate Shadow

whiteSquare.on ("faceți clic pe", funcția ()

// Setați mai întâi culoarea umbrei whiteSquare.shadowColor = "# 555555"; whiteSquare.animate ("proprietăți": shadowBlur: 40, shadowSpread: 10,); );“

Rețineți că numai acele proprietăți ale căror valori sunt numere pot fi animate. La fel de shadowColor nu este un număr, ar trebui să fie setat înainte de a apela anima.

5. Utilizarea statelor

Dacă utilizați Framer, este posibil să încercați să creați un prototip extrem de interactiv cu o mulțime de animații. Apelarea anima metoda de mai multe ori pe Strat poate deveni plictisitor. În schimb, puteți asocia o listă de state cu a Strat și trebuie doar să comutați între stări atunci când este necesar.

Fiecare Strat are o statele proprietate care este o instanță a LayerStates clasă. Pentru a adăuga noi stări la a Strat, apelați adăuga metoda pe statele proprietate. În următorul fragment de cod, adăugăm două noi stări la pic obiect.

"javascript / Adăugați două stări

pic.states.add ("myState1": borderRadius: 100,

"myState2": borderRadius: 200); "

Adăugarea unei stări nu duce la o schimbare vizuală imediată. Cu toate acestea, atunci când a Strat trecerea de la o stare la alta, veti putea vedea animatia. Pentru a schimba starea unui a Strat, apelați intrerupator metoda pe statele proprietate a Strat obiect. Următorul fragment de cod vă arată cum să modificați starea pic când se face clic pe el.

"javascript // Schimbați starea când ați făcut clic

pic.on ("faceți clic", funcția () // Comutați la myState2 pic.states.switch ("myState2");); "

Pentru a trece prin stările unui a Strat, puteți apela Următor → metoda lui statele obiect.

javascript pic.states.next ();

6. Modificarea fundalurilor

Pentru a adăuga o culoare de fundal sau o imagine la prototipul dvs., creați un BackgroundLayer obiect. A BackgroundLayer este a Strat ale căror dimensiuni sunt egale cu dimensiunile ecranului dispozitivului. Iată cum adăugați un gri BackgroundLayer:

javascript var bg = BackgroundLayer nou (backgroundColor: "#BDBDBD");

Deoarece prototipul Framer este doar o pagină HTML obișnuită, puteți utiliza și CSS pentru ao modela. De exemplu, dacă nu sunteți mulțumit de culoarea albă care înconjoară dispozitivul, o puteți modifica aplicând un stil nou pe pagina de web corp etichetă.

„html

"

Cu aceste modificări, prototipul va arăta astfel atunci când animațiile sunt terminate:

7. Manipularea operațiunilor de tragere

Pentru a face o Strat draga, tot ce trebuie sa faci este sa-ti stabilesti draggable.enabled proprietate la Adevărat.

"javascript // Permiteți tragerea

pic.draggable.enabled = adevărat; "

În cazul în care un Strat este draggable, puteți adăuga ascultători de evenimente pentru a răspunde la diverse evenimente legate de tragere, cum ar fi dragend și dragmove. De exemplu, iată a dragend eveniment care se întoarce pic la poziția inițială:

"javascript / Handle dragend

pic.on ("dragend", funcția () pic.animate ("proprietăți": x: Ecran.width / 2 - pic.width / 2, // Loc la centrul y: 440 // Original Y );); "

Concluzie

În acest tutorial, ați învățat elementele de bază ale creării de prototipuri interactive pentru aplicațiile mobile utilizând Framer. Dat fiind că prototipurile Framer sunt pagini web statice, le puteți încărca pe orice server HTTP pentru a le distribui prietenilor și clienților.

Aș dori, de asemenea, să vă spun că, dacă sunteți competent cu Adobe Photoshop, nu este necesar să creați programatic programele de interfață cu utilizatorii de prototipuri. Aveți posibilitatea să proiectați aspectul în Photoshop și să convertiți grupurile de strat din PSD în Framer's Strat obiecte. De asemenea, aveți opțiunea de a achiziționa și utiliza Framer Studio, un IDE construit special pentru lucrul cu proiectele Framer.

Pentru a afla mai multe despre cadrul Framer, puteți consulta documentația Framer. În a doua parte a acestei serii, mă voi arunca mai adânc în navigație, derulare și animație.

Cod