Kristal is een open source codegenerator voor elke programmeertaal, framework, CMS en zelfs database, het maakt het combineren en verenigen van zowel configuratie als code mogelijk, waardoor het een perfect hulpmiddel is om ontwikkelingstijden in elk project te optimaliseren.
Zijn filosofie is: Eén ingang - Elke uitgang, wat een enkele invoer betekent - elke uitvoer, en dat is Kristal handvatten als invoergegevens dingen zo simpel als een JSON, XML of zelfs YAML waardoor we de mogelijkheid hebben om een van deze te gebruiken om code te genereren voor zowel PHP, Python, Java, Rails, Django, Ruby Y Node.js om er een paar te noemen.
Omdat we weten wat we ermee kunnen doen KristalLaten we eens kijken hoe we het in onze omgeving installeren en deze krachtige tool in gebruik nemen.
Crystal installeren
Tot installeer Crystal we moeten hebben in onze omgeving Node.js en zijn pakketbeheerder NPM, zodra we deze vereisten hebben geverifieerd, gaan we de volgende opdracht uitvoeren om te installeren: Kristal:
npm installeer crystal-cli -gZodra onze installatie is voltooid, voeren we de opdracht uit: kristal -v om de versie van hetzelfde te verifiëren en te controleren of alles goed is gegaan.
VERGROTEN
Crystal initialiseren
Zodra we onze codegenerator hebben geïnstalleerd, gaan we een nieuw project van het type initialiseren Kristal. Hiervoor gaan we een nieuwe directory aanmaken en daarin gaan we het volgende commando uitvoeren:
kristal initNadat we de opdracht hebben uitgevoerd, zal Crystal ons vragen om enkele gegevens voor het configuratiebestand toe te voegen, zoals onder andere de naam, beschrijving, auteur.
VERGROTEN
Zodra we deze informatie hebben ingevuld, zal deze opdracht ons project initialiseren en binnen het pad genereren.kristal / ons configuratiebestand config.yml die er zo uit zou moeten zien:
naam: first_steps_crystal beschrijving: Tutorial die het gebruik van Crystal laat zien auteur: naam: Jonathan Acosta e-mail: [email protected] url: www.solvetic.com copyright: '2015'Dit is een bestand met notatie YAML, die een zekere gelijkenis met JSON behoudt in termen van de structuur en het gemak van het lezen van de gegevens erin. We hebben ons project al voorbereid om gebruik te maken van de voordelen van Kristal Laten we verder gaan met het genereren van onze eerste code.
Onze code genereren
Om code te genereren, Kristal maakt gebruik van bepaalde elementen die het mogelijk maken deze taak uit te voeren, een van deze elementen is de Specificaties: of specificaties en zijn die waarmee de invoergegevens kunnen worden gedefinieerd en zo een uitvoer kunnen worden gegenereerd.
Alles wat we willen definiëren om in onze generatie te worden opgenomen, moet in ons element zijn uitgangen, waar we zowel de generator als de specificaties moeten specificeren. Wat verantwoordelijk is voor de generator is om aan te geven dat deze moet worden gegenereerd, bijvoorbeeld a PHP, Robijn, Een pakket PIP, een bestand gegrom of zelfs een leesmij-bestand, wat het eerste voorbeeld zal zijn dat we zullen doen.
Daarnaast Specificaties:Het is belangrijk om de modules te importeren, die de functionaliteiten hebben voor elke generator, specificatie, enz. Hiervoor moeten we deze regel in ons bestand config.yml opnemen:
invoer: kristal / leesmij: ~ 0.2.2Op deze manier is het veel gemakkelijker om de modules bij te houden die we in ons project willen opnemen, zodra we deze regel hebben toegevoegd, hoeven we ons project alleen maar bij te werken met het volgende commando:
kristal updateDeze opdracht zal ons project bijwerken en de modules installeren die we hebben gespecificeerd in de importeert. Zodra dit is gebeurd, kunnen we onze output genereren, hiervoor zullen we de specificaties en de generator als volgt toevoegen:
uitgangen: - generator: readme.ReadmeGenerator spec: naam: Readme version: 1.2.3 description: Dit is een test van een Readme-bestandAl met ons bestand config.yml voltooid, we hoeven alleen de opdracht uit te voeren bouwen om onze code te genereren, in dit geval ons bestand Leesmij.
Laten we eens kijken hoe ons bestand eruit ziet Leesmij gegenereerd met Kristal.
Hiermee hebben we onze eerste aanpak gehad met deze krachtige tool, die in een kwestie van seconden code kan genereren voor de talen die we willen, inclusief frameworks en databases, waarbij zowel kennis als inspanning wordt verenigd en de ontwikkeltijden in onze projecten aanzienlijk worden verkort.