Cum facem diferența dintre browsere

IT / Web 4 Comentarii

Trebuie să recunosc că acest articol a fost inspirat de Ice și de Marius, de curând fiecare dintre ei au publicat câte-un articol legat de acest subiect. Fiindcă am simțit nevoia să aduc câteva completări, din perspectiva web developer-ului, m-am gândit că ar fi frumos să le sumarizez într-un articol. Ca să vedeți pe ce criterii, un programator web face diferența dintre browsere.

Un developer web niciodată nu-și alege browser-ul după cât de puține resurse consumă, ci îl alege în funcție de cât de multe facilități îi oferă lui ca developer. Pentru a-și putea testa mai ușor aplicații web dezvoltate. Pe de altă parte, un developer web niciodată nu se poate axa pe un singur browser, după cum am zis, el trebuie să testeze modul în care aplicațiile sale funcționează și arată în mai multe browsere. Din fericire pentru utilizator și din păcate pentru tine, ca developer, nu poți să-i impui nimănui ce navigator web să folosească. Fiecare îl folosește pe cel care simte că-i înspiră mai multă încredere și care, per total, îi oferă o experiență plăcută.

Atunci când scrii cod pentru web, pentru front-end, nu e deloc ușor. Trebuie să știi foarte bine cui te adresezi, ce facilități îți oferă fiecare dintre browsere și care sunt minusurile fiecăruia. Din păcate, deși s-au făcut pași mari în ultimii ani, încă nu toate browserele moderne, așa cum le numim noi, nu toate suportă ultimele tehnologii în materie de web dev pentru front-end. Iar atunci, tu ca web developer trebuie să faci tot soiul de artificii pentru a oferi aceeași experieță utilizatorului, indiferent de browser-ul pe care îl folosește.

Astea fiind zise, pentru mine, ca web developer diferența dintre browsere o fac foarte simplu, comparând ultimile tehnologii de front-end pe care acestea le suportă. E foarte greu să spui că X este mai bun ca Y, fiecare e bun și rău în felul său. Totuși, din punctul meu de vedere un browser bun e unul care nu mă pune să scriu cod în plus, special pentru el. Iar ca să vedeți despre ce vorbesc haideți să vedem un exemplu comun fiecăruia dintre noi.

Suportul browserelor pentru input-ul de tip dată calendaristică

HTML5, printre ale lucruri faine, a  venit în sprijinul dezvoltatorilor web cu  noi tipuri de input-uri, pe lângă cele deja consacrate. Iar dintre ele, unul care este folosit mai des este cel de tip dată calendaristică. Atunci când completăm un formular web și suntem nevoiți să introducem o dată calendaristică, pentru a nu o introduce fiecare după în formatul său propriu, developerul este nevoit să ne limiteze la un anumit format și, eventual, ca să fie sigur că nu introducem prostii, ne oferă un widget, un calendar, din care tu trebuie să alegem data dorită. Până nu de mult, acest lucru se putea implementa exclusiv prin jQuery UI sau alte biblioteci de javascript. HTML5 a venit cu o astfel de facilitate, nativă, care funcționează out of the box, pentru a include un astfel de calendar în formularul tău web nu trebuie să mai scrii cod suplimentar sau să imporți alte biblioteci, îl ai gata făcut. Arată precum cel de mai jos:

HTML5 date input

HTML5 date input

Frumos, nu? O chestie simplă pe care o folosim cu toții atunci când vrem să ne facem o rezervare pentru un bilet de avion sau o programare la dentist. V-ați întrebat pentru o secundă câte dintre browserele moderne știu să suportă nativ această mică facilitate? Adică programatorul să nu mai fie nevoit să scrie cod în plus pentru ca noi să ne bucurăm de ea? Indiferent de răspuns, haideți să ne uităm la graficul de mai jos. Cele cu verde suportă, cele cu roșu nu suport, e simplu de înțeles.

HTML5 - browsers support for date input

HTML5 – browsers support for date input

După cum puteți vedea mai sus, în momentul de față, pentru desktop, doar două browsere moderne suportă așa ceva (complet, nu parțial). Nu știu vouă ce vă spune acest lucru, dar eu vă spun că atunci când vă alegeți un browser ar fi frumos să țineți cont și de ce suportul acestui pentru tehnologiile moderne, evident dacă vreți să vedeți lucruri faine și care să vă crească productivitatea pe zi ce trece. Faptul că un browser consumă mai puține resurse decât celălalt, acest lucru nu-l face neapărat mai bun. Însă dacă un browser oferă suport pentru noile tehnologii, oferă sprijin dezvoltatorilor web pentru a face lucruri mai bune, atunci pe ăla chiar puteți să-l numiți browser bun.

În acest mod contribuim cu toții la un spațiu web mai bun, mai elegant și mult mai curat. Gândiți-vă că dacă browser-ul vostru suportă nativ astfel de treburi, atunci ele nu mai trebuie să fie implementate de programator, care le poate implementa bine sau prost. Acest lucru se reflectă automat în consumul de resurse al browser-ului pentru că ele rulează client side, adică folosesc procesorul și ramii voștri, nu ai server-ului unde este găzduit site-ul. Nu uitați asta și aruncați un ochi pe site-ul caneiuse.com, acolo veți vedea ce suportă și ce nu, fiecare dintre browsere.

4 Comentarii - “Cum facem diferența dintre browsere”

    • Stefan

      Mulțumesc de apreciere, Vasile. Da, clar poți băga în ecuația asta și CSS3-ul și oricare altă tehnologie sau framework de font-end. Depinde despre ce funcționalități vorbești, încearcă să folosești un framework de front-end, vezi Twitter Bootstrap sau Foundation, ambele sunt foarte bune și oferă foarte multe funcționalități care trebuie doar customizate.

  1. ice4you

    Hahhaaaaaaa … hai dragul meu prieten sa iti dau la ciolane (cum mi felu cu care ma bucur ca te’ai adaptat), tie si prietenilor tai programatori! 😀

    Da inainte de asta … hai sa te peri oleaca, sa fie durerea mai dulce .. 😀

    Faptul ca ne inspiram cu ideei unii de la altii inseamna progres! Important este sa ne citam unii pe altii cu link de trackball, pentru ca cei care ne citesc (din greseala sau nu 😀 ) este un lucru bun pentru cei care ne citesc ca sa aiba o imagine completa a unei ideei pe care incercam sa o punem cap la cap cu pareri pro sau contra. Ma bucur ca am reusit sa „te inspir” in idee si iti multumesc ca ai venit o completare si iote asa progresam, tu ca developer, noi si restul ca useri.

    No pana aici o fost dulce … ia sa trecem la picioare in cur … 😀

    Acum vreo 15 ani cand IT’ul si mai ales netul era in stadiul incipient, developerii erau cei care lucrau pe useri si nu invers. Banii sii trageau din ce „developau” pentru ca aplicatiile erau cu un pret … companiile platindu’i nu foarte bine pentru ce munceau. Anii au trecut … lucrurile s’au schimbat … banii pentru developeri vin gramada … chiar si pentru cei free lancer care candva mureau de foame, pentru ca sunt platiti bine sa faca ceva sau au optiuni ca niciodata sa isi poata vinde acel ceva. Pai in spiritul acestui lucru … eu zic sa si munceasca nu sa ceara celor care aleg un browser sa aleaga ceva ce lor le usureaza munca. Eu inteleg asta … dar totusi … pentru asta este platit un developer … nu sa aiba basini in cap. De aia nu mai avem nimic ok … de aia optimizarile nu mai exista, de aia toate sunt cel mult in stadiul BETA, de aia nu mai ai un joc bun, un browser bun, o aplicatie de productivitate care sa nu te scoata din minti uneori, feeadback’ul fiind doar un instrument in care isi vara frustrarile user’ul ca un soi de cos de gunoi si cam atat.

    Pai e corect asa? Cu ce dracu e vinovat consumatorul cand producatorului ii place munca putina pe bani multi?

    Aplicabil in orice industrie.

    Răspunde
    • Stefan

      Da, cred că și eu că e un lucru bun să dezvoltăm subiectul pe latura care ne pricepem noi mai bine. 😀 Merci și eu de inspirație. 😀

      Cred că avem definiții diferite asupra ceea ce înseamnă un web developer. Un web developer bun sau un programator bun, nu trebuie doar să scrie cod, el trebuie să înțeleagă cum funcționează anumite lucruri în viața reala și apoi să le transpună în cod funcțional. În felul în care te-ai raportat tu la ei, ăia despre care vorbești tu sunt, în cel mai bun caz, niște cârpaci, nu programatori. 😀

      Să-ți dau un exemplu concret, dacă eu trebuie să fac un sistem pentru o agenție imobiliară, ca să-l pot implementa trebuie în primul rând cum funcționează lucrurile-n realiate. Iar asta presupune timp, care la rândul său înseamnă bani. Apoi tu ca programator nu trebuie doar să înțelegi cum funcționează, ci trebuie să vi cu o soluție mai bună, una care să-i crească productivitate pentru că altfel nu are rost să-și fac sistemul. Iar undeva la sfârșit, urmează și codatul efectiv, care din punctul meu de vedere e partea cea mai ușoară. Crede-mă pe cuvânt că programatorii își merită fiecare bănuț pe care-l primesc. Chiar și cei care lucrează pentru alții, ziua lor de muncă nu se termină când pleacă de la birou.

      Probabil că vei zice că după terminarea unui astfel de proiect ai un know how, iar data viitor va fi mai simplu. Corect, dar poate că data viitoare nu vei implementa pe aceeași nișă, poate că data viitoare va trebuie să faci un sistem pentru o firmă de curierat și iar trebuie să știi în detaliu cum funcționează și acolo tot procesul și să te familiarizezi cu termenii specifici etc. Din păcate nu e chiar așa de simplu precum pare. Evident dacă vorbim de programare de nivel serios, nu de băieți care cârpesc site-uri în stilul struțo-cămilă. 🙂

      Bun, acum revenind la subiectul articolului, poate că am fost greșit înțeles. Eu nu am zis că oamenii ar trebui să folosească un anumit browser ca să-mi fac mie sau altora viața mai ușoară. Oamenii trebuie să folosească browsere decente și cu updateurile la zi tocmai pentru a-și îmbunătăți experiența timpului petrecut pe net. Dacă un developer, aici mă refer la front-end, nu e nevoit să scrie cod redundant, în nșpe feluri, în timpul ăla poate face altceva care să te ajute în alte parte, poate îmbunătăți îmbunătăți un alt modul etc. Tot timpul se găsesc îmbunătățiri de făcut.

      Dar dacă tu crezi că e mai bine să stai să scrii cod, în loc să folosești chestii native, atunci să nu te plângi că browserul îți consumă 1GB de RAM și 40% din procesor. 😀 Am explicat în articol cum e treaba, nativ e sigur bine implementat, pe când custom poate fi bine sau prost, depinde de nivelul fiecărui programator. Să reinventezi roata doar de dragul de a-ți justifica salariul mi se pare o idee proastă, indiferent de ce domeniu vorbim. 😀

Lasa un comentariu:

Campurile marcare cu (*) sunt obligatorii! Adresa de email NU va fi facuta publica!