În Tutoriale

Automatizare în JavaScript – Introducere

Automatizare 1

Implementarea aplicațiilor client nu mai înseamnă de multă vreme doar „scripting”, ci a ajuns la un nivel foarte avansat în ultimii ani. Node.js a facilitat apariția „sistemelor de build”, împingând și mai departe posibilitățile tehnologiilor front-end.

Ce înseamnă automatizare?

Pe scurt, înseamnă simplificarea oricărui proces repetitiv. Aproape orice proces tehnologic are o componentă automatizată. Uitați-vă, spre exemplu, la:

  • liniile de producție a diverselor fabrici;
  • laboratoarele foto;
  • automatele de cafea etc.

Daca e să ne raportăm la IT, câteva exemple de automatizare ar fi:

    • redimensionarea (sau orice altă procesare) a unui număr mare de imagini;
    • importarea informațiilor dintr-un fișier XML/text, într-o bază de date;
    • redenumirea unor fișiere, după o anumită regulă.

Beneficii

Oricare din procesele menționate mai sus ar necesita foarte multă muncă manuală, repetitivă. Deși se spune că „repetiția este mama învățării”, faptul că redimensionezi manual 1500 imagini pe parcursul a 2-3 zile, nu te învață absolut nimic în plus (în afară de răbdare), față de redimensionarea a doar 2 imagini.

Automatizând acest proces, prin utilizarea unui soft adecvat sau printr-un script care să efectueze singur această muncă, vom câștiga timp pe care îl putem investi în alte procese, mai creative.

Mai mult decât atât, având acel soft sau script disponibil, îl vom putea reutiliza oricând pe viitor. În consecință, beneficiile se cumulează cu timpul.

Spre deosebire de liniile de producție ale fabricilor, unde automatizarea reduce numărul de locuri de muncă, în IT nu va trebui să vă faceți probleme de acest fel, deoarece nu va influența negativ în niciun fel postul vostru sau al colegilor.

Puțină istorie

Sisteme de build și metode de automatizare există de foarte multă vreme implementate în limbajele de programare și în tehnologiile server:

 

Tehnologiile front-end (cele care rulează în browser) nu au avut nevoie inițial de asemenea sisteme, deoarece contextul în care erau utilizate era limitat. Însă în ultimii ani, aplicațiile și tehnologiile client au devenit din ce în ce mai complexe, dezvoltându-se:

      • template engine-uri;
      • framework-uri;
      • pre-procesoare CSS si JavaScript;
      • strategii de optimizare etc.

 

Multe dintre aceste „jucării” noi necesitau la rândul lor anumite soft-uri sau script-uri speciale pentru a le executa. Așadar, la un moment dat ajungeai să fii nevoit să folosești multe soft-uri sau script-uri diferite pentru a îți executa întregul set de procesare.

Sisteme de build pentru JavaScript

Developerii front-end simțeau tot mai mult nevoia să aibă un sistem de build „pe înțelesul lor”. Era destul de dificil să construiești build-uri, sau script-uri automatizate, utilizând sistemele mai sus menționate, deoarece erai nevoit să înveți încă un limbaj.

Așadar, odată cu apariția lui Node.js și a posibilității de a rula cod JavaScript pe server, nu doar în browser, apariția sistemelor de build dedicate problemelor și tehnologiilor front-end era doar o chestiune de timp.

Iată câteva dintre actualele sisteme de build disponibile, în ordinea apariției lor:

***

În articolul următor, voi explora mai pe larg toate aceste sisteme de build, punctând avantajele și dezavantajele fiecăruia.