picocli, un cadru puternic pentru construirea de aplicații în linia de comandă

picocli

Picocli cadrul pentru crearea de aplicații cli

Dacă ai început în lumea programării și te-ai apucat deja puțin în Java, lasă-mă să-ți spun că navigând pe net Am găsit un instrument excelent asta pe vremea studenției mi-ar fi plăcut să știu, deoarece acest instrument despre care vom vorbi astăzi este poziționat ca un cadru pentru crearea aplicațiilor în linia de comandă.

Instrumentul despre care vom vorbi este Picocli, care se dorește a fi cel mai simplu mod de utilizare pentru a crea aplicații bogate în linia de comandă care poate fi executat în interiorul și în afara JVM-ului.

Deși nu este necesar să explicăm puțin despre ce este interfața liniei de comandă, pentru acei cititori care nu s-au aprofundat pe deplin în programare sau chiar pentru cei care au făcut-o doar autodidact și încă nu cunosc mai mulți termeni, pot spune tu că linia de comandă sau mai bine cunoscută sub numele de CLI, este un tip de interfață cu utilizatorul care permite utilizatorilor să dea instrucțiuni unui program printr-o linie de text simplă (ceva ce facem în fiecare zi în Linux).

CLI-urile pot fi utilizate interactiv, prin scrierea de instrucțiuni într-un fel de introducere a textului sau pot fi folosite într-un mod mult mai automat (lot), prin citirea comenzilor dintr-un fișier script.

Aici intervine Picocli, care este o bibliotecă și un cadru scris în Java, care conține un API de adnotare și un API programatic.

Dintre caracteristicile picocli, se evidențiază că:

  • Are ajutor de utilizare cu culori și stiluri ANSI
  • Completare automată TAB
  • Subcomenzi imbricate.
  • Acceptă subcomenzi asemănătoare git și orice stil de prefix de opțiune
  • Permite opțiuni scurte grupate în stil POSIX
  • Convertoare de tip personalizat
  • opțiunile de parolă
  • Aplicațiile Picocli pot fi compilate într-un singur fișier
  • Fii foarte compact, fără cod boilerplate
  • Vine cu un procesor de adnotări care activează Graal
  • Suport pentru opțiuni refuzate
  • Valori cotate avansate și grupuri de argumente
  • Facilitează urmărirea ghidurilor interfeței liniei de comandă.
  • Și altele

Lucrul interesant despre Picocli este care, după cum sa menționat deja în caracteristicile sale, este că oferă o modalitate de a permite utilizatorilor să ruleze aplicații bazate pe picocli fără a necesita biblioteca Picocli ca dependență externă: tot codul sursă se află într-un singur fișier.

Se mentioneaza ca:

Aplicațiile bazate pe Picocli pot fi compilate din timp într-o imagine nativă, cu timp de pornire extrem de rapid și cerințe mai mici de memorie.

Pe măsură ce picocli funcționează, inițializează clasa din argumentele liniei de comandă, transformând intrarea în date puternic tastate.

Picocli distinge între opțiunile denumite și parametrii de poziție și permite ca ambele să fie puternic tastate. Câmpurile cu mai multe valori pot specifica un număr exact de parametri sau un interval (de exemplu, 0..*, 1..2).

Acceptă opțiuni de hartă, cum ar fi -Dkey1=val1 -Dkey2=val2, unde atât cheia, cât și valoarea pot fi scrise în siguranță. Urmărirea analizorului facilitează depanarea. Fișierele argument din linia de comandă (@-fișiere) permit aplicațiilor să gestioneze linii de comandă foarte lungi.

Trebuie remarcat că autocompletarea lui Picocli funcționează doar în unele shell-uri precum Bash sau Zsh, deoarece nu toate acceptă această funcție.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile În următorul link.

Cum se implementează Picocli?

Pentru cei interesați să poată implementa picocli în proiectul lor sau să înceapă un nou proiect cu picocli, pot face acest lucru descărcând cea mai recentă versiune de picocli de pe următorul link.

Iar implementarea se poate face după caz, de exemplu în Maven

<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.4</version>
</dependency>

scară sbt

libraryDependencies += "info.picocli" % "picocli" % "4.7.4"

Ivy

<dependency org="info.picocli" name="picocli" rev="4.7.4" />

Strugure

@Grapes(
@Grab(group='info.picocli', module='picocli', version='4.7.4')
)

leiningen

[info.picocli/picocli "4.7.4"]

constructor

'info.picocli:picocli:jar:4.7.4'

jbang

//DEPS info.picocli:picocli:4.7.4

Documentația, precum și toate informațiile acesteia, pot fi consultate de la următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.