Inițierea unui proiect poate fi de cele mai multe ori plictisitoare când deja nu mai e o provocare. Atunci când începe un proiect nou, pentru a îmbunătăți productivitatea și plăcerea de a lucra, Yeoman are la bază trei tool-uri:
Ajută la crearea structurii de fişiere şi defineste deja configurări generale pentru Grunt şi Bower.
LESS or SASS - fiecare dintre noi poate alege ori unul, ori celălalt - Grunt le ştie pe amândouă.
Puţin cam rapidă introducerea despre Grunt - dar o parte din calitățile unui "task runner" nu puteau fi prezentate decât scurt şi la obiect.
Economiseşte din timp, download-ând librăriile necesare noului proiect precum şi dependinţele acestuia.
Utilizarea, instalarea și funcționarea corectă YEO este condiționată de instalarea în prealabil a Node.JS și Git. De asemenea, generator-webapp trebuie instalat via npm (npm install -g generator-webapp).
YEOMAN va fi instalat asemnenea generator-webapp folosind npm
npm install -g yo
Odată YEOMAN şi dependinţele acestuia instalate, putem da start noului proiect. Pentru aceasta trebuie să navigaţi în folder-ul (unul nou creat sau fără alte directoare sau fişiere în el) unde doriţi să dezvoltaţi noul proiect şi lansaţi din linia de comandă:
yo webapp
În acest moment jQuery, Gruntfile.js şi HTML5 Boilerplate sunt instalate automat, iar pe lângă acestea, mai aveți la dispoziţie să includeţi în aplicaţia abia începută, framework-uri precum: Bootstrap, Sass sau Modernizr. Timpul total de aşteptare pentru a putea avea acces la cod şi a începe editarea cu specificaţiile proiectului este de aproximativ două minute.
npm install -g generator-angular
Instalează generatorul pentru aplicaţiile bazate pe AngularJs
yo angular:app imdbApp
Creează structura de bază pentru aplicaţia curentă "imdbApp"
yo angular:route movies
Creează un nou path în aplicaţie, un view şi controller-ul asociat. Rezultatul acestei comenzi este:
Creează movies.js, varianta iniţială a unui controller în app/scripts/controllers
Creează movies.js, varianta iniţială a unui test în test/specs/controllers
Creează movies.html - template în app/views
Adaugă path-ul movies în modulul de bază app/scripts/app.js
Generează automat codul pentru a include movies.js în index.html
yo angular:controller movie
Creează movie.js, varianta iniţială a unui controller în app/scripts/controllers
Creează movie.js, varianta iniţială a unui test iîn test/specs/controllers
yo angular:directive
sampleDirective
Creează sampleDirective.js, varianta iniţială a unei directive în app/scripts/directives
Creează sampleDirective.js, varianta testului unei directive în test/specs/directives
yo angular:filter boldRed
Creează boldRed.js, varianta iniţială a unui filtru în app/scripts/directives
Creează boldRed.js, varianta testului unui filtru în test/specs/directives
yo angular:service getepisode
Creează getepisode.js, varianta iniţială a unui service în app/scripts/services
Creează getepisode.js, varianta a testului unui service în test/specs/services
yo angular:factory getseasons
Creează getseasons.js, varianta iniţială a unui factory în app/scripts/services
Creează getseasons.js, varianta a testului unui factory în test/specs/services
yo angular:provider getmovies
Creează getmovies.js, varianta iniţială a unui filtru în app/scripts/services
Creează getmovies.js, varianta a testului unui filtru în test/specs/services
yo angular:view seasons
Creează un view în app/views.
Pentru rularea proiectului, din rădăcina proiectului se rulează:
grunt serve
În cazul în care proiectul a fost clonat din Git, datorită faptului ca fișierele din node_models sunt adăugate în .gitignore, înainte de rularea acestei comenzi vor trebui rulate:
npm install
bower update
grunt build
Creează folderul cu fișierele pentru producție. În acest pas Grunt rulează task-urile definite în Gruntfile.js, fișier aflat în rădăcina proiectului.
Un exemplu de aplicație realizată cu Yeoman poate fi descarcată de aici https://github.com/razvancg/yeomanDemo
Pentru cineva care nu a mai lucrat cu un generator de cod este posibil să fie mai greu să se obişnuiască cu YEOMAN. Opţiunea de a nu mai căuta ultimele versiuni ale unor framework-uri de care ai nevoie în proiect, de a le download-a, dezarhiva şi copia în locaţia proiectului, pe lângă crearea automată a structurii de fişiere şi task-urile pe care le putem seta pentru Grunt, pot spune ca YEOMAN este "ce nu am avut până acum"!
De la Vibe Coding la Production Engineering
Marți, 30 iunie, ora 18:00
Cognizant (Timișoara)
Facebook Meetup StreamEvent YouTube