“Daca pot sa fac o aplicatie cap coada cu o biblioteca, fara sa mai am nevoie de altceva, eu i-as zice framework. Dar este clar o dezbatere pe care programatorii o vor avea la o bere", spune Radu, unul dintre programatorii din ING Software Development Center care a deprins rapid Polymer si incearca acum sa isi invete colegii noua tehnologie de la Google.

Teoretic, Google denumeste Polymer drept "open-source JavaScript library" (biblioteca), ceea ce ar sugera ca nu este un framework complet, cum este Angular. In practica, insa, Polymer este o librarie de functii JavaScript pentru a dezvolta aplicatii web facilitand lucrul cu Web Components.

"Polymer aduce functionalitati peste standardul Web Components ca sa ma ajute sa nu scriu foarte multe linii de cod, ci mult mai putine, pentru ca programatorii se tem de ceea ce numesc spaghetti code", subliniaza Radu.

Web Components este un set de standarde dezvoltate de W3C, ce contin in principal patru elemente: Custom Elements, Shadow DOM, HTML Imports si HTML Templates, necesare in constructia unor tag-uri HTML proprii, adica "blocurile lego pentru aplicatiile web".

Iar aceste "blocuri lego" pot fi mostenite, iar daca Radu face un obiect, Virgil poate sa il importe pentru a-l folosi in propria sa aplicatie.

Cam toata lumea in programare se duce acum spre reutilizare. Daca pot sa fac mai mult cu 3 linii de cod, folosind ce a facut Radu sau altcineva, de ce sa nu o fac? - Virgil Nastase

Cum a intrat Polymer in universul ING Software Development

In universul ING, Polymer face sens din perspectiva productivitatii, pentru ca in lipsa unei tehnologii comune, functionalitatile simple din aplicatiile ING vor arata asemanator in diferite tari, insa cu siguranta codul din spate va fi diferit si, ca urmare, nu va putea fi reutilizat. Totodata, Polymer este un framework/tehnologie free, open-source.

Programatorii din diferitele tari in care este prezent grupul ING folosesc framework-uri diferite, dar acum Polymer va fi implementat la nivel global in branch-urile bancii. Deja sunt echipe care lucreaza cu aceasta tehnologie in proportie de 100% sau altele care sunt in curs de adoptie.

Polymer, un lego pentru programatori: care sunt avantajele

Radu a explicat ca printre cele mai importante avantaje ale Polymer se numara acea suita de componente aproape completa si gandita sa incorporeze alte elemente de la Google, cum ar fi Maps, framework-ul beneficiind si de promovarea destul de masiva din partea gigantului american, care a realizat doua summit-uri de amploare pentru popularizarea Polymer, in 2015 si 2016.

Faptul ca are Google in spate este iarasi un factor important. Nu este un framework facut de doi oameni, este un framework facut de un gigant. Si avantajul Google este ca poate sa creasca comunitati - Virgil Nastase

Un mare plus al Polymer este catalogul de elemente gata facute, Google dezvoltand un standard vizual, denumit Material Design, care alaturi de Polyfill aduce suportul pentru toate browserele, facand toate componentele sa functioneze impreuna.

"De exemplu, poti sa faci o mini aplicatie in care sa introduci 2 orase, de unde pleci si unde vrei sa ajungi, sa iti deseneze pe harta traseul dintre orasul A si orasul B, totul fara sa scrii o linie de JavaScript, doar din aceste componente care se leaga intre ele, subliniaza Radu.

Totusi, desi analogia cu imbinarea pieselor de lego poate sa duca cu gandul la un proces simplu, in care programatorul nu are provocari asa de mari, in realitate lucrurile nu stau asa. Radu atrage atentia ca garantat nu vei avea niciodata 100% din tot ce iti trebuie pentru a face o aplicatie si, desi pare simplu sa "asamblezi piese de lego", cand ai mii de astfel de piese si un numar infinit de posibilitati lucrurile sunt de fapt mai provocatoare decat daca ai realiza codul de la zero.

"Ai un catalog de elemente de baza, un field unde sa introduci un text, sa selectezi o data sau sa incarci un fisier. Apoi lucruri ceva mai complexe, un selector de conturi in cazul nostru (ING - n.r.). Astea sa zicem ca le faci, insa apar mereu elemente noi si nu o sa ai niciodata toate elementele gata facute. O sa ai piesele de baza pe care le folosesti pentru a-ti construi o functionalitate specifica aplicatiei tale", explica Radu.

In plus, fata de multe alte framework-uri care iti simplifica excesiv de mult munca, "Polymer nu prea te mai tine asa mult de mana". "Daca ne uitam in trecut, jQuery venea cu o abstractizare pentru DOM si cumva te tinea de mana. Daca nu aveai jQuery si puneai orice intrebare pe Stack Overflow, care era strict de JavaScript, se trezea imediat cineva sa te trimita la jQuery".

Ce tip de programatori cauta ING Software Development Center

In prezent, centrul ING din Bucuresti face tranzitia de la framework-ul Angular catre Polymer, dar pentru a trece complet la aceasta tehnologie are nevoie de specialisti in Polymer, care – recunosc Radu si Virgil – sunt foarte greu de gasit pe piata din Romania.

„Polymer este un framework pe care cineva care stie HTML, JavaScript si CSS poate sa il invete. Daca ne uitam in piata si cautam oameni care sa stie Polymer, nu o sa gasim foarte multi in Romania, dar este o nisa interesanta pentru cine vrea sa se reinventeze”, sustine Virgil.

Deocamdata, centrul de software al ING lucreaza cu o componenta a Polymer, dar cu ajutorul catalogului complet programatorii bancii pot realiza o aplicatie folosindu-se de Polymer de la un capat la altul.

De altfel, anul trecut, ING Software Development Center anunta ca mai vrea sa recruteze 250 de programatori la biroul din Bucuresti, fiind la mare cautare developerii full stack, care au cunostinte solide de back-end, Java, .NET sau orice alta „tehnologie care isi face treaba pe server”, peste care sa vina experienta de front-end, JavaScript, HTML sau CSS.

Daca stii standardele, principiile de baza, JavaScript, HTML, CSS, restul se construieste peste. Cumva, Polymer vine si ne ajuta in acest sens, pentru ca se intoarce la aceste baze si nu mai reinventeaza diverse aspecte - Radu Enuca

Politica ING Software Development Center incurajeaza invatarea noilor tehnologii si investeste mult in oamenii care sunt dispusi sa invete lucruri noi. De aceea, in aceasta perioada, centrul de software al ING va sustine si un hackathon intern, canalizat catre Polymer, in care mai multi colegi dispusi sa se perfectioneze in acest framework, cat si cativa programatori din afara tarii, isi vor testa skill-urile timp de 24 de ore.

In prezent, cateva dintre cele mai mari site-uri din lume folosesc deja partial sau integral tehnologia Polymer: YouTube Gaming, Google Music, Net-a-Porter, Bloomberg, Comcast, Victoria’s Secret sau Electronic Arts.