Ce abilități ar trebui să aibă un Frontend Developer?

Purtam o discuție cu cineva zilele trecute despre abilitățile unui frontend developer și dacă acesta ar trebui sau nu să cunoască JS și parcă mă vedeam pe mine în urmă cu zece ani: știu css și html, nu am nevoie de nimic altceva. Și vorbesc serios, acum zece ani nu eram capabil să fac nimic în JS fără ajutorul unei bilbioteci 3rd party (jQuery, PrototypeJS etc).

Bine, timpul a trecut, m-am mai deșteptat un pic (sau îmi place să cred asta) și consider că JS este necesar la un nivel cel puțin mediu, iar asta din mai multe motive:

  • dacă faci doar CSS/HTML nu prea te poți numi programator, iar a cunoaște un limbaj de programare îți conferă un anumit mod de gândire, o oarecare disciplină etc.
  • vei evita să încarci JS inutil (i.e. jQuery doar pentru a face toggle la o clasă sau pentru a face bind la un event). De exemplu, zilele trecute am văzut un răspuns pe stackoverflow ce recomanda underscore pentru a itera un array…
  • asta ca să nu mai pomenim despre oportunitățile profesionale

Așa, revenind la întrebarea principală: un frontend dev cam ce ar trebui să știe să mai facă pe lângă HTML/CSS?

(Vorbim despre cineva care face site-uri, nu aplicații web)

5 Likes

Teoria culorilor, spatiu negativ si UX (user experience), as recomanda eu.

2 Likes

Eu personal în trecut atunci când foloseam doar html și css prefereram să îmi spun “Coder”, părerea mea este că doar cele două sunt suficiențe pentru cineva care lucrează mai mult pe partea de webdesign , cu photoshop(face elemente grafice, logouri, bannere).

Ca și abilității pentru un atfel de job doar aceste două tehnologii sunt suficiențe pentru cineva care are un ochii format, este capabil să ghicească la ce s-ar gândi clientul din punct de vedere vizual, să inbunatateasca desing-ul nu doar să îl respecte la modul “pixel perfect”.

Eu personal îți fac transformarea din psd/jpg într-un format html/css dar dacă mă pui să vin cu inbunatatiri grafice mă simt depăsit, să nu mă vorbim că nu pot vedea micile diferențe dintre fonturile care sunt aproape identice…
Eu am avut ne(plăcerea) să cunosc pe cineva lucra la început nativ cu photoshop/ ilustrator iar acum în prezent lucrează cu wordpress, cumpără template uri le modifică, bagă un visual composer(eventual câteva plugin-uri) și pac-pac iese site-ul …
Pentru mine chiar și wordpress nu este așa, efectiv mie îmi place să am un template făcut de la 0 sau modific unul făcut de mine în trecut, nu sunt deloc fan pentru template uri cumpărate sau folosirea visual composer, să nu mă spun că faptul că îmi fac propropriul plugin mi se pare destul de încântător.Marele adevăr este că atunci când am încercat prima data să fac primul meu site primul limbaj pe care m-a atras a fost php + mysql , nu m-a atras css și html în mod deosebit poate deasta nu sunt înnebunit după modul de a face site-uri în modul “drag and drop”.
Acum mai bine de o luna am fost la un interviu pentru un job de php developer, asta era poziția și surpriză au fost multe intrebări despre javascript, câteva despre html și css…
Mie super intersant mi se pare lucrul cu ajax/html, am observat că majoritatea proiectelor în Laravel deși pornesc de la php , jumate din proiect e construit cu Vue/Angular/React.

În concluzie eu când mă gândesc la frontend Developer mă gândesc la cineva care lucrează nativ cu Javscript , nu folosește doar jquery și aia e tot.

1 Like

La âștia mai bogați cu mac-uri e foarte în vogă Sketch în loc de Photoshop/Illustrator.

Dacă vrei să faci un site super profesional poți face animații cu adobe after effects și să le convertești în svg-uri cu bodymovin. Respectiv poți să scrii svg-uri animate sau simplu SVG-uri. Ar mai fi și d3.js, e folosit în cam fiecare panou de administrare sau pagină de informare.

Altcumva trebuie să știi cum să faci o temă pentru Bootstrap, Semantic-UI, Foundation și cum să faci site-ul să se miște bine, adică în 90% din cazuri văd background-image cu cover și fixed direct pe body, ceea ce e criminal pe pc-uri mai vechi de 5 ani. De video-uri în background tot pe body nu mai zic nimic. Dacă știi jquery eventual ar fi foarte util să știi să nu blochezi dom-ul cu ceva.

În plus pentru aproape orice site este nevoie de o interfață mock cu fiecare stare a paginilor (fiecare interfață în care intră utilizatorul), deci un designer ar trebui să știe să realizeze imagini/pagini mock pentru programator care să știe ce stări să aibe în programul său.

Ca și platformă eu m-aș aștepta ca la 80% din clienți să se folosească un generator static în loc de Wordpress.

1 Like

CSS + HTML + JavaScript + ActualCodingSkills

1 Like

De ce trebuie să fie Frontend Developer de site-uri vs Frontend Developer de aplicații? În 2017 cred ca nu te poti numi pe bună dreptate Frontend Developer fără Javascript și măcăr un pic de experință (cat să faci TodoMVC fără copy-paste să zicem) cu unul din framework-urile mari pentru Frontend (Angular/React/Vue/Backbone/Ember). Și să întelegi că pentru un toggle sau each nu ai nevoie de jQuery & co.

Pe lânga asta, ar mai fi pardigmele din Responsive Design și cum să lucrezi cu Retina/HiDPI displays.

Aș mai adăuga și SCSS la listă, care e deja de-facto standard (ca și git).

Bonus: Implementări de Bootstrap/Foundation (folosește cineva?) custom, unde să lucrezi cu sursele SCSS și să folosesti doar ce ai nevoie, să ai elemente grafice personalizate, astfel încat să nu fie yet another Bootstrap site.

3 Likes

SCSS sau LESS, cel din urma venind si cu interpretator in JS (doar adaugi un <script> in pagina, si se interpreteaza fisierele .less.

Ca este vorba despre frontend developer de aplicatii/siteuri sau web developer am ajuns la concluzia ca daca Javascript nu e, nimic nu e :slight_smile:

Cred ca o persoana care este angajata pe pozitia de frontend developer, in ziua de azi, mai ales intr-o corporatie, ar trebui sa aiba cunostinte de Javascript (si sa fie dispusa sa invete Javascript din moment ce i se cere acest lucru). Nu este suficient sa stie doar CSS si atat - adica fara a stii Sass sau web design. Oricat de buna ar fi acea persoana sa scrie CSS.

Mi se pare bun roadmap-ul dat de florin.fratica: Web Developer Roadmap 2017

5 Likes

Singurul proiect mare care folosește LESS este Bootstrap, iar Bootstrap 3 are o versiune portată pe SCSS, Bootstrap 4 este scris în SCSS direct.
Less.js e comod pentru development și atât. Eu personal mi-am configurat IDE-ul sa compileze on the fly SCSS folosind libsass/sassc așa că nu duc lipsa less.js.
M-am oprit din a recomenda LESS de anul trecut.

4 Likes
1 Like

Just my :two: cents. Doamne pazeste sa ne apucam de injectat scripturi in felul asta, sa folosim layere peste layere de magie. Doar pt ca se poate, nu inseamna ca e si bine. Atata timp cat se foloseste CSS, pai il compilam/minificam/whatever pt productie si gata, sunt tone de exemple pe net cu ce builder preferam. Fara magic things.

2 Likes

Cred ca la frontend e important, pe langa Javascript, si protocolul http, pentru a putea eficientiza incarcarea resurselor. Nu e suficient sa citim 10 tutoriale si sa ne uitam la 5 video-uri de 5 min fiecare pe youtube si gata, stim sa optimizam un site. Trebuie inteles mecanismul de comunicare, pentru a ne putea folosi de el.

8 Likes

Termenul de front-end a migrat semantic in ultimii ani - de la “implementez un PSD in HTML, CSS si poate putin JQuery” am ajuns la programare in adevaratul sens al cuvantului doar ca orientata spre UIs.

Un front-end developer astazi este un programator sau cam trebuie sa devina unul.

In other news: good news everybody! as a full-stack developer you can exercise all your programming needs in JavaScript et al. :slight_smile:

6 Likes

Nu vad de ce cineva in 2017 ar mai vrea sa stie doar html si css pe partea de front-end. Oricum e greu spre imposibil sa te bage cineva in seama doar cu astea 2, pana si la un internship ti se cere sa stii macar la nivel basic javascript. HTML si CSS au devenit niste chestii obisnuite pe care orice developer ar trebui sa le stie la un nivel ok.

1 Like

Cred ca asta e un punct underrated. Sunt anumite chestii pe care orice programator ar trebui sa le stie, si “cum sa faci un website simplu, cu un minim de interactiune” intra in categoria asta. E o chestie de cultura generala pana la urma - chestii care se invata si in (unele) licee.

Asadar, nu poti cere cuiva care se intituleaza frontend developer, doar astea.

2 Likes

Jeez. Javascript am învățat într-o seară de pe W3Schools. N-am avut nici o problemă, mai ales cu prietenul Google la îndemână. (Că, deh, nu există facultate unde faci Javascript)

A intelege sau a sti e o chestie total diferita.

3 Likes

16 Likes

someone mark that ^ as the solution. we’re done here.

1 Like

Inca mai exista termenii urmatori: webpage designer, website designer, layout designer, graphic designer.

Normal ca termenul general evolueaza, in timp, iar termenii (mai) particulari evolueaza si ei, dar (mai mult sau mai putin) incet, dar termenii respectivi inca mai pot fi folositi cu (aproximativ) acelasi sens ca acum cativa ani.

-facultate unde faci Javascript- [quote="RedGuard, post:16, topic:4705"] (Că, deh, nu există facultate unde faci Javascript) [/quote] La universitate, la informatica, este un curs (de un semestru) intitulat Dezvoltarea Aplicatiilor Web, unde se face html, css, js si, cu putin noroc, niste php. Desigur ca nu intra in prea multe detalii, dar, in cazul meu, a acoperit html5, css3, iar js js-ul s-a oprit dupa animatii si `addEventListener`, inainte sa ne predea jQuery (era in voga) si ceva php (prea multe zile libere, rezultand in mai putine ore la dispozitie).

Edit: In Discourse, trebuie lasat un rand (gol) intre text, care intra intr-un <p>, si <details>, altfel iti baga un <p></p> in <details>, iar continutul care ar trebui sa fie in <details>, cu exceptia <summary>...</summary>-ului, este scos in afara, dupa inchiderea tag-ului </details>.