Ce este Drupal?

Drupal este un sistem popular de gestionare a conținutului open source scris în PHP. După ce a fost creat la începutul anilor 2000 de către un student belgian, el este acum responsabil pentru unele dintre cele mai proeminente site-uri web (WhiteHouse.gov, Weather.com, etc.). Acesta este adesea privit ca un concurent al CMS-urilor, cum ar fi WordPress și Joomla.

Una dintre cele mai importante componente ale proiectului Drupal este comunitatea de suporteri (contribuitori, dezvoltatori, evangheliști, proprietari de afaceri etc.). Proeminent în cadrul acestei comunități este Asociația Drupal, responsabilă de "promovarea și susținerea proiectului software Drupal, a comunității și a creșterii sale".

Un salt uriaș de la predecesorul său, cea de-a 8-a ediție majoră a proiectului Drupal tocmai a lovit rafturile. Aceasta a dus la o modernizare serioasă a codului, a practicilor și a mentalității sale. Mulți consideră această schimbare drept o deplasare reală de la noțiunea tradițională a unui CMS la un management al conținutului Cadru (CMF) care oferă o platformă excelentă pentru construirea de aplicații complexe.

În acest articol, voi răspunde la unele dintre cele mai frecvente întrebări pe care oamenii le au despre Drupal atunci când pornesc pentru prima dată sau când intenționează să facă acest lucru:

  • Este potrivit pentru mine? Cui se adresează?
  • Cum se poate instala și unde să-l pot gazdui??
  • Cum pot începe să lucrez cu acesta ca dezvoltator??
  • Ce opțiuni am pentru a extinde funcționalitatea sau stilul?

Cine este Drupal??

De la începutul proiectului, Drupal a evoluat de la a fi în principal un instrument pentru construirea de site-uri mai mici la unul care poate acum să acționeze la nivel de platformă la nivel de întreprindere. Mai ales cu Drupal 8, constructorii de site-uri și dezvoltatorii pot crește cu ușurință de la site-uri mici la platforme mari cu multe integrații. De exemplu, adoptarea Composer vă permite nu numai să aduceți bibliotecile externe într-un proiect Drupal, ci și să utilizați Drupal ca parte a unui proiect mai mare de aplicații și biblioteci. Este sigur să spunem că Drupal este suficient de flexibil pentru a răspunde nevoilor unei game largi de proiecte.

Când vine vorba de dezvoltare, Drupal a avut întotdeauna o comunitate relativ închisă - nu pentru că oamenii sunt neprietenoși, dimpotrivă, ci mai ales din cauza faptului că codul este în mod obișnuit scris într-un mod Drupal (rezultând în ceea ce uneori este denumit Drupalisms). Acest lucru a însemnat o curbă de învățare pentru orice dezvoltator care începe, dar, de asemenea, mai puțin interes de la dezvoltatorii de alte proiecte PHP să sară și să contribuie.

Acest lucru nu mai este cazul. Mai ales cu lansarea Drupal 8, comunitatea promovează acum o nouă mentalitate de reutilizare a codului și de bune practici în cadrul diferitelor proiecte open source. Participarea activă la Grupul de Interoperabilitate Cadru PHP face parte din acest efort și utilizarea unui număr mare de componente Symfony populare în Drupal 8 este un testament al acestui angajament. 

Cu această mișcare, comunitatea Drupal a devenit mai bogată, primind mulți dezvoltatori din alte comunități și proiecte și este sigur că va crește și mai mult. Deci, dacă sunteți un dezvoltator Laravel, uita la codul Drupal nu va mai fi așa de descurajantă.

Cum pot instala Drupal și unde o pot găzdui??

În mod tradițional, Drupal a avut un proces de instalare relativ ușor, în special pentru cei care știau cel puțin modul în care se află în mediul Linux. Proiectul pur și simplu trebuie să fie abandonat într-un director pe care îl poate rula serverul web (care trebuie să folosească PHP și să aibă o bază de date MySQL sau MariaDB). Apoi îndreptați browserul spre /install.php fișier și urmând pașii se ocupă de restul. Ecranul cel mai important pe care îl veți vedea este cel în care selectați o bază de date specifică de utilizat.

În ceea ce privește cerințele, mediul LAMP stack (Linux, Apache, MySQL și PHP) a fost întotdeauna un favorit pentru Drupal pentru a intra. Cu toate acestea, nu se limitează la acesta. Există soluții pentru instalarea directă pe Windows sau Mac (de exemplu, utilizând Acquia Dev Desktop), dar și pe un sistem Linux care rulează alte servere web.

Cea mai ușoară abordare, dacă mergeți cu configurația proprie, este să utilizați un server LAMP pentru găzduire. Pentru un pic mai mult de performanță puteți înlocui Apache cu Nginx, dar va trebui apoi să aveți grijă de anumite configurații specifice care altfel sunt tratate în .htaccess fișier cu Drupal nave cu.

Cu toate acestea, dacă nu doriți să vă mențineți propriul server de găzduire, există trei furnizori principali de găzduire specializată Drupal: Acquia, Pantheon și Platform.sh. Acestea oferă, de asemenea, un flux de lucru pentru actualizări ușoare și flux de dezvoltare. În trecut, căutați o găzduire complet gestionată cu o companie de dezvoltare Drupal.

Cum pot să încep dezvoltarea pentru el?

Dezvoltarea site-urilor Drupal a fost, de obicei, genul de lucru pe care ți-a plăcut foarte mult sau nu-l plăcea deloc. Acest lucru se datorează faptului că, când ați fost introdus pentru prima oară în Drupal, ați întâlnit foarte multe particularități pe care nu le-ați văzut în alte proiecte. Deci, dacă aceștia ți-au ghicit fantezia, ai iubit-o pentru totdeauna.

Odată cu asta insulă în Drupal 8, acest lucru nu mai este cazul atât de mult. Mai ai multe Drupalisms lasati ca puteti iubi sau ura, dar acum aveti si componente externe cum ar fi Symfony sau Guzzle si, cel mai important, un mod mai modern de a scrie cod in general (OOP, modele de design, componente reutilizabile etc.). Deci, abilitățile PHP de a construi site-uri cu Zend vor veni la îndemână.

O modalitate bună de a intra în dezvoltarea Drupal este urmarea unor cursuri video online. Există câteva resurse care sunt excelente în acest scop, în special Drupalize.me. Dacă, totuși, videoclipul nu este media preferată, există și multe tutoriale și ghiduri scrise disponibile pentru a începe. Consultați următoarele link-uri pentru primii pași pe care îi puteți lua:

  • Ghiduri oficiale de dezvoltare Drupal
  • Referința Drupal API
  • Ghiduri de dezvoltare a modulelor
  • Tutorialele Codului Drupal al Envato

Din moment ce Drupal 8 este nou, veți găsi conținut de învățare semnificativ mai mare pentru Drupal 7. Cu toate acestea, accentul în comunitate sa schimbat recent spre Drupal 8, astfel încât să vă puteți aștepta din ce în ce mai mult din aceste resurse să apară. Și dacă nu aveți nici o experiență cu nici o versiune de Drupal, este mai bine să vă concentrați exclusiv pe Drupal 8, deoarece schimbările dintre cele două sunt mari și probabil că vă veți confrunta cu provocări inutile.

Cum pot extinde Drupal??

Punctul principal de extensie al unei instalări de bază Drupal este sistemul său modul sistem. 

Modulele sunt utilizate pentru a încapsula bucăți mai mari de funcționalități reutilizabile care pot / ar trebui să funcționeze pe diferite site-uri. În afară de modulele de bază, există un număr mare de module contribuite, disponibile pentru instalare. 

Acordat, cele mai multe sunt încă numai pentru Drupal 6 și 7, dar comunitatea atinge și cea mai nouă versiune. Această problemă este, de asemenea, atenuată de încorporarea în Drupal 8 a câtorva module populare contribuite, precum și de extinderea domeniului de aplicare a ceea ce poate face miezul din cutie (în comparație cu Drupal 7). 

În sfârșit, modulele personalizate (cele pe care le-ați scris) sunt modul principal în care puteți adăuga orice funcționalitate doriți și care nu este disponibilă printr-un modul contribuit.

Instalarea modulelor vă permite să conectați diferite funcții, dar nu ar trebui să tratați acest lucru ca pe o lumină verde pentru a adăuga prea multe. Este întotdeauna mai bine să rămânem la cei de care aveți nevoie și să nu vă fie teamă să fiți critici în acest sens. De asemenea, puteți lucra la găsirea unui echilibru bun între codul contribuit și cel personalizat pe care îl scrieți. 

În plus, deoarece discutăm despre software open source, trebuie să evaluați întotdeauna modulele pe care le instalați. Următorii indicatori sunt exemple bune pentru a acorda atenție: numărului de descărcări și utilizării, frecvenței de comitere, angajamentului de întreținere, stării coadministrării.

Și păstrați și siguranța în minte. Este foarte recomandat să păstrați atât actualul nucleu Drupal, cât și toate modulele contribuite, deoarece acest lucru vă va ajuta în mod semnificativ să păstrați site-ul și serverul sigur (deși nu îl asigură).

Despre Styling?

Stratul de design al unui site Drupal este tratat (în mare parte) de tema sa. Temele sunt similare cu modulele prin faptul că acestea reprezintă un punct de prelungire, dar au responsabilități diferite. Acestea conțin stilurile, bibliotecile front-end și, în majoritatea cazurilor, fișierele de șabloane utilizate pentru a emite date.

S-au înregistrat progrese importante în Drupal 8 față de versiunea precedentă: motorul popular Twig a fost adoptat pentru template, tematica a fost limitată la fișierele de șabloane Twig, șabloanele de depanare și șabloane au fost mult mai ușor de realizat etc. (DX), stratul tematic a devenit mai atrăgător pentru mulțimea non-Drupal. Dezvoltatorii din Front-End pot lucra cu ușurință cu temele Drupal fără a trebui să înțeleagă intrările și ieșirile din spate.

Drupal core vine cu o serie de teme care vă pot oferi exemple, dar și de la care puteți prelungi. Există, de asemenea, teme similare cu modul în care există module. Cadrele populare de tip front-end, cum ar fi Bootstrap sau Zurb Foundation, au implementări tematice Drupal pentru Drupal 7, care sunt și ele pregătitoare pentru Drupal 8. Acestea funcționează foarte bine ca temele de bază, dar și pentru schemarea rapidă a unui site web.

Temele plătite sunt, de asemenea, disponibile pentru a încerca. De obicei, acestea sunt foarte ieftine și rapid de înființat. Problema cu ei este că aceștia merită exact cât plătiți pentru ei și de obicei au găuri deschise în flexibilitatea lor. Ca începător, aceste teme pot părea o modalitate excelentă de a crea un site, și ar putea fi foarte bine. Cu toate acestea, pe măsură ce progresați, veți învăța să le evitați și să vă construiți propriile, bazate pe modele externe sau chiar pe șabloane simple HTML / CSS / JS.

Concluzie

Drupal este un instrument puternic pentru construirea de site-uri și platforme de orice fel. Cu fiecare lansare majoră, Drupal și-a manifestat angajamentul de a se îmbunătăți, de a deveni mai robust și de flexibil și de a accepta și comunitățile din afara.

Cod