Kom i gang med Crystal

Krystal er en open source -kodegenerator til ethvert programmeringssprog, rammer, CMS og endda Database, det gør det muligt at kombinere og forene både konfiguration og kode, hvilket gør det til et perfekt værktøj til at optimere udviklingstider i ethvert projekt.

Hans filosofi er Én indgang - Enhver udgang, hvilket betyder en enkelt indgang - enhver udgang, og det vil sige Krystal håndterer som inputdata ting så enkle som a JSON, XML eller endda YAML hvilket giver os mulighed for at bruge en hvilken som helst af disse til at generere kode for begge PHP, Python, Java, Rails, Django, Ruby Y Node.js for at nævne et par stykker.

Da vi ved, hvad vi kan gøre med KrystalLad os se, hvordan vi installerer det i vores miljø og sætter dette kraftfulde værktøj i drift.

Installation af Crystal


Til installer Crystal vi skal have i vores miljø Node.js og dens pakkeleder NPM, når vi har verificeret disse krav, vil vi udføre følgende kommando for at installere Krystal:
 npm installer crystal -cli -g
Når vores installation er færdig, udfører vi kommandoen krystal -v for at kontrollere versionen af ​​det samme og kontrollere, at alt er gået godt.

FORSTØRRE

Initialiserer Crystal


Når vi har installeret vores kodegenerator, vil vi initialisere et nyt projekt af typen Krystal. Til dette vil vi oprette en ny mappe, og inden for den skal vi udføre følgende kommando:
 krystal init
Når vi har udført kommandoen, vil Crystal bede os om at tilføje nogle data til konfigurationsfilen, såsom navn, beskrivelse, forfatter, blandt andre.

FORSTØRRE

Når vi har udfyldt disse oplysninger, vil denne kommando initialisere vores projekt og generere inden for stien.krystal / vores konfigurationsfil config.yml som skal se sådan ud:

 navn: first_steps_crystal beskrivelse: Tutorial viser brug af Crystal forfatter: navn: Jonathan Acosta e -mail: [email protected] url: www.solvetic.com copyright: '2015'
Dette er en fil med notation YAML, som bevarer en vis lighed med JSON med hensyn til strukturen og let at læse dataene i den. Har allerede vores projekt forberedt på at bruge fordelene ved Krystal Lad os gå videre til at generere vores første kode.

Generering af vores kode


For at generere kode, Krystal bruger visse elementer, der gør det muligt at udføre denne opgave, et af disse elementer er Specifikationer eller specifikationer og er dem, der gør det muligt at definere inputdata og dermed generere et output.

Alt, hvad vi vil definere for at blive inkluderet i vores generation, skal være under vores element udgange, hvor vi skal angive både generatoren og specifikationerne. Det, der er ansvarligt for generatoren, er at angive, at den skal genereres, f.eks PHP, Rubin, En pakke med PIP, en fil Grynte eller endda en readme -fil, som vil være det første eksempel, vi vil gøre.

Udover SpecifikationerDet er vigtigt at importere modulerne, som er dem, der vil have funktionaliteterne for hver generator, specifikation osv. Til dette skal vi inkludere denne linje i vores config.yml -fil:

 import: krystal / readme: ~ 0.2.2
På denne måde er det meget lettere at holde styr på de moduler, vi ønsker at inkludere i vores projekt, når vi tilføjer denne linje, skal vi bare opdatere vores projekt med følgende kommando:
 krystal opdatering
Denne kommando opdaterer vores projekt og installerer de moduler, som vi har angivet i import. Når dette er gjort, kan vi generere vores output, til dette tilføjer vi specifikationerne og generatoren som følger:
 output: - generator: readme.ReadmeGenerator spec: navn: Readme -version: 1.2.3 beskrivelse: Dette er en test af en Readme -fil
Allerede med vores fil config.yml færdig, skal vi bare udføre kommandoen bygge at generere vores kode, i dette tilfælde vores fil Læs mig.

Lad os se, hvordan vores fil ser ud Læs mig genereret med Krystal.

Med dette har vi haft vores første tilgang med dette kraftfulde værktøj, som på få sekunder kan generere kode til de sprog, vi ønsker, herunder rammer og databaser, forene både viden og indsats og forkorte udviklingstiden betydeligt i vores projekter.

wave wave wave wave wave