Aceasta este popularitatea și utilitatea în ultimul deceniu pe care Joomla! este considerat unul dintre CMS-urile de top open source din întreaga lume în acest moment. De la începuturile sale de la Mambo CMS, în ultimii zece ani plus, sa îmbunătățit atât de mult încât nu e de mirare că există deja numeroase premii în pisoiul său și încă numără.
Mai exact, dacă vă aflați în domeniul dezvoltării web, indiferent de tehnologia cu care vă confruntați, este imposibil să scăpați de cuvântul Joomla! Dacă este așa, sunt sigur că aparțineți unei alte planete! S-ar putea suna un pic copleșitor, dar vă pot asigura că este ceva mai mult decât merită să te uiți dacă nu ai făcut încă acest lucru pentru următoarea soluție de gestionare a conținutului. De fapt, este mai mult decât un CMS - vom discuta mai târziu în acest articol ce Joomla! este capabil de.
În acest articol, vom discuta temeinic ce Joomla! este și cum ar putea fi util pentru proiectele dvs. bazate pe web. Începând cu o privire la CMS de bază, vom trece prin caracteristicile Joomla! în tot articolul, iar în ultima secțiune vă voi lăsa câteva resurse utile cu referințe.
Un sistem de gestionare a conținutului, denumit CMS, este un sistem care vă permite să gestionați cu ușurință și eficient informațiile. Informația ar putea fi orice, fie că este vorba despre un articol simplu sau despre un sistem complex de gestionare a mass-media. Scopul unui CMS este de a oferi un flux de lucru eficient care să descrie starea clară a unei entități în orice moment dat. În termeni simpli, permite ca informațiile să treacă prin diferite state, cum ar fi schița, revizuirea, editarea și publicarea.
Mai exact, utilizatorii non-tehnici care iubesc să aibă un astfel de sistem la dispoziția lor, care le permite să organizeze conținutul cu ușurință și face întregul proces bucuros, mai degrabă decât agitat. În orice aplicație bazată pe web, există trei operațiuni de bază, pe care se întâmplă de cele mai multe ori administratorii, pe orice entitate dată - adăugați, editați și ștergeți. Și pentru asta este proiectat un CMS. Fie că vă permite să faceți acest lucru prin furnizarea unui editor WYSIWYG, editare inline sau alte bunuri de lux, ideea este de a face întregul proces fără efort.
Nu este vorba doar de organizarea și gestionarea conținutului, ci de cât de bun este de a oferi controlul accesului granular la diferite grupuri de utilizatori, care este considerat unul dintre caracteristicile premium ale oricărui CMS. Este evident că doriți să împărțiți responsabilitățile în diferite roluri, cum ar fi autorul, editorul și editorul. Furnizarea de versiuni de conținut este, de asemenea, ceva pe care doriți să vă păstrați ochii, deoarece vă permite să vă întoarceți articole în cazul în care lucrurile nu merg așa cum era de așteptat.
În forma sa cea mai de bază, fluxul de lucru tipic al oricărui CMS ar putea fi ceva de genul:
În general, ceea ce am enumerat mai sus este unul dintre cele mai simple încăcazuri eficiente de utilizare ar putea fi aduse. Să nu mai vorbim de faptul că în lumea reală veți vedea fluxuri de lucru mai complexe însoțite de caracteristici bogate precum etichetarea, partajarea socială și comentarea, pentru a numi câteva.
Deci, aceasta este o introducere rapidă și, sperăm, utilă a ceea ce ar putea arăta un sistem CMS. Din următoarea secțiune, ne vom concentra pe subiectul principal al acestui articol, Joomla !, ceea ce am promis că vom explora pe parcursul acestui articol.
De la înființarea sa în 2005, Joomla! a evoluat de-a lungul anilor, iar rezultatul final este unul dintre cele mai puternice și bogate în funcții CMS, descărcate de milioane de utilizatori. După cum se spune, este cu adevărat un CMS bazat pe comunitate, condus de și pentru comunitate! Pentru orice proiect open-source, ca și în cazul Joomla !, sprijinul acordat de membrii comunității este un factor important în persistența și sustenabilitatea proiectului.
Joomla! este construit folosind unele dintre cele mai utilizate tehnologii web, cum ar fi PHP, MySQL și Apache. Acestea fiind spuse, nu se limitează exclusiv la tehnologiile menționate mai sus - suportă și alte baze de date populare și servere web. Aveți posibilitatea să alegeți dintre SQL Server sau PostgreSQL în locul motorului bazei de date MySQL dacă preferați să faceți acest lucru. Pe de altă parte, Microsoft IIS și NGINX sunt candidați pentru alegerea serverului web împreună cu Apache.
Pentru dezvoltatori, Joomla! este construit folosind modelul de design MVC, un model popular folosit deja de o mulțime de alte cadre. Deși discuția despre modelul de proiectare MVC este ceva ce nu face parte din acest tutorial, acesta oferă o separare a preocupărilor, permițând astfel dezvoltatorului să se concentreze mai mult asupra dezvoltării decât să se îngrijoreze cum ar arăta în front-end.
Nu este o surpriză faptul că cea mai recentă versiune majoră a Joomla! este receptiv în afara casetei și mobil, mai întâi, fiind imposibil de ignorat în zilele noastre și ar putea fi costisitoare pentru orice cadru care a făcut acest lucru. De la scris acest lucru, Joomla! 3.4.x suportă versiunea PHP 5.5+, dar nu și PHP 7. Cu toate acestea, lansarea versiunii mult așteptate Joomla! 3.5 este la colț și susține că sprijină PHP 7, care va reprezenta un imens stimulent de performanță nativ, dacă se crede experți.
Deci, dacă aceasta a fost o prezentare generală la nivel înalt a ceea ce Joomla! este vorba despre, următoarea listă evidențiază unele dintre caracteristicile concrete pe care le-ați așteptat, care se livrează împreună cu Joomla! în sine.
Desigur, este imposibil să discutăm fiecare detaliu într-un singur articol, astfel încât pentru acei utilizatori curioși voi lăsa câteva resurse utile la sfârșitul acestui articol.
Ești în partea greșită a mesei dacă crezi că Joomla! este utilă doar pentru gestionarea conținutului, deoarece veți fi surprins să auziți că există peste 7 000 de extensii disponibile pe site-ul oficial JED (Joomla Extensions Directory), oferind caracteristici care variază de la o simplă soluție de galerie de imagini la o rezervare completă și sistemul de gestionare a rezervelor. De fapt, există o mare posibilitate ca extinderea pe care doriți să o dezvoltați pe cont propriu este deja disponibilă pe JED!
Arhitectura extensibilă a Joomla! face dezvoltarea extensiilor personalizate o briză. Căutați un sistem care să servească drept blog? Poate că noul tău venture necesită construirea unui nou tip de sistem YouTube sau încerci să construiești următorul Facebook! JED oferă extensii pentru fiecare dintre cerințele menționate mai sus.
Să aruncăm o privire asupra luxului pe care îl puteți avea dacă alegeți Joomla! ca soluție:
Numai câteva, pentru că este foarte dificil să enumerăm fiecare posibilitate. Așa cum se spune, limitarea este imaginația ta - atât de adevărată pentru Joomla!
În fiecare zi Joomla! dezvoltare, există momente când simțiți că ați fi vrut să trageți o anumită parte a cadrului, de exemplu, API-ul de rutare, mai degrabă decât o grămadă de caracteristici CMS care sunt depășite pentru acel proiect. Pentru o aplicație bazată pe PHP simplu, ar fi bine să aveți acele caracteristici selectate din cadrul care este cel mai potrivit pentru aplicația dvs., mai degrabă decât un întreg CMS.
De exemplu, spuneți că doriți să construiți un serviciu care expune Joomla! datele către o aplicație mobilă terță parte. Pentru a realiza acest lucru, este bine să faceți o extensie personalizată care să îndeplinească funcționalitatea dorită, dar cu bagajul suplimentar al acelor funcții CMS nedorite în cazul dumneavoastră. În schimb, ceea ce ați fi plăcut să faceți este să selectați API-urile nevoilor dvs., evitând restul caracteristicilor, iar produsul final este o aplicație web super-ușoară.
Acesta este scopul lui Joomla! Framework, cunoscut mai devreme ca Joomla! Platformă. Acesta vă permite să construiți o aplicație utilizând un set familiar de API-uri, dacă veniți din Joomla! CMS fundal. Acesta oferă un set comun de API-uri, la fel ca și celelalte cadre PHP, permițându-vă să vă concentrați mai mult pe caracteristicile specifice aplicației, decât pe reinventarea roții pentru caracteristici cum ar fi manipularea intrărilor, stratul de abstractizare a bazei de date, rutarea și altele.
În nici un caz nu trebuie să fii confundat cu Joomla! CMS, deoarece există o linie separată de dezvoltare pentru ambele tipuri de software. Ideea principală este decuplarea pachetelor software în module separate, în loc să le legăm într-un singur pachet, permițându-le să evolueze singure. De fapt, te-ai putea gândi la Joomla! CMS ca o combinație a Joomla! Cadru și module CMS.
Un exemplu promițător de Joomla! Cadrul este Detector de probleme aplicarea Joomla! CMS în sine. În același mod, puteți construi orice aplicație web pe care ați fi construit-o cu orice alt cadru bazat pe PHP. Explorați-o și sunt sigur că este ceva de oferit pentru toată lumea.
În această secțiune, vom discuta despre elementele importante ale Joomla! arhitectură care servesc drept elemente de bază în orice aplicație.
Acesta este unul dintre cele mai importante și trebuie să aibă un element în stivă care oferă funcționalitatea completă a oricărei secțiuni specifice. Acesta vă permite să creați o bază care să se ocupe de logica de afaceri a unei aplicații. De asemenea, este unul dintre elementele care extind Joomla !, dacă doriți să introduceți noi caracteristici.
De exemplu, dacă doriți să creați o aplicație de director de afaceri, ar trebui să puteți adăuga, edita și șterge înregistrările din back-end. Pe de altă parte, în front-end ar trebui să afișeze o listă frumoasă împreună cu funcții de căutare avansată, pager și sortare. Deci, este componenta pe care doriți să o construiți pentru a înfășura funcționalitatea menționată mai sus.
De regulă, ori de câte ori doriți să construiți noi funcții în Joomla !, este componenta care vine la salvare.
Înainte de a merge mai departe și de a explica modul în care un modul este în Joomla !, aș vrea să vă dau câteva exemple pentru a face lucrurile mai ușoare. Dacă ați vizitat vreodată Joomla! front-end, veți vedea o mulțime de blocuri, cum ar fi Login, Ultimele articole, Ultimele postări, etc. Spre surprinderea dvs., acestea sunt Joomla! modulele atribuite diferitelor poziții din șablon! Un Joomla! modulul este un bloc mobil care construiește ieșirea prin preluarea datelor din componentă, de cele mai multe ori, și afișează ieșirea.
De cele mai multe ori, va trebui să schimbați comportamentul cadrului de bază pentru a-ți îndeplini nevoile personalizate, și asta este locul în care plugurile intră în imagine. Un Joomla! plugin-ul vă permite să capturați anumite evenimente definite de sistem, deschizând ușa pentru personalizarea unor fluxuri de lucru importante.
De exemplu, spuneți că doriți să notificați o aplicație terță parte în cazul în care pe site-ul dvs. este înregistrată o nouă înregistrare. Desigur, există o prevedere pentru a modifica datele care tranzitează înainte și înapoi între apelurile la eveniment.
După cum sugerează și numele, se ocupă de stratul de prezentare al site-ului dvs. și vă ajută să structurați aspectul site-ului dvs. web. Uneori este denumit și Joomla! temă, deoarece vă permite să modificați aspectul site-ului dvs. Pentru a schimba aspectul implicit al Joomla! core, trebuie să faceți o temă personalizată ca pe Joomla! tema structura, și că este ceva pe care veți întâlni frecvent dacă sunteți un Joomla! dezvoltator.
Să nu mai vorbim că cea mai recentă versiune de Joomla! vine cu o temă receptivă în front-end și back-end. De asemenea, este ceva de așteptat de la designeri temă, precum și în cursul dezvoltării temelor personalizate.
JED este ceva de care ar trebui să vă familiarizați, pentru că, probabil, veți petrece destul de puțin timp acolo căutând o extensie pentru scopul dvs. Este un oficial Joomla! site care oferă o mulțime de extensii pentru a alege sub forma de componente, module și pluginuri.
Extensiile la JED sunt lansate sub două tipuri de licențe și comerciale. După cum probabil ați ghicit, extensiile comerciale sunt bunuri plătite, disponibile fie pe baza unui model de abonament, fie prin plata unei taxe unice. În calitate de dezvoltator, este o zonă în care doriți să beneficiați, dezvoltând extensii de calitate și eliberându-i pe cei care beneficiază de licență comercială.
De fapt, de cele mai multe ori funcționează în acest fel: versiunea gratuită a unei extensii este disponibilă cu caracteristici de bază, iar versiunea plătită a aceleiași extensii este susținută cu funcții de alimentare, în unele cazuri, sub formă de add-on-uri. Să nu mai vorbim că luxul de suport tehnic de la furnizorul de servicii de extindere vine cu versiunea comercială. Prin urmare, este un model de afaceri de succes și dovedit pentru mulți furnizori de extensii comerciale.
Acestea fiind spuse, nu voi lua nici un credit de la acele prelungiri gratuite care servesc scopului, precum și orice prelungire plătită. De fapt, este vorba de un set de standarde și reguli stricte pe care fiecare extindere trebuie să treacă prin aceea că asigură că extensiile listate pe JED respectă standardele de calitate dorite.
Deci, asta e JED la dispoziția ta - te simți confortabil cu asta și vei fi bucuros că ai făcut asta.
Pentru utilizatorii pentru prima dată, este recomandat întotdeauna să instalați Joomla! pe sistemul dvs. local și explorați caracteristicile din partea frontală și din spate pentru a vă obișnuiți cu sistemul. Iată câteva resurse importante pentru începători:
Pentru dezvoltatorii PHP experimentați:
Este un subiect atât de larg încât veți găsi o mulțime de tutoriale online și clipuri video la dispoziția dumneavoastră. De asemenea, membrii Joomla! forumul comunității este suficient de prietenos pentru a vă ajuta să rezolvați orice problemă.
A fost plăcerea mea să introduc unul dintre cele mai populare CMS-uri open source în domeniul dezvoltării web-Joomla! Deși am zgâriat abia suprafața Joomlei! lume, sper că am reușit să fac dreptate subiectului.
Începând cu o introducere în CMS, am trecut prin diferitele aspecte ale lui Joomla !, urmate de o discuție despre elementele arhitecturale importante. De asemenea, ne-am uitat la JED și am furnizat câteva resurse utile în ultima parte a acestui articol.
Nu ezitați să vedeți ce avem la dispoziție pentru vânzare și pentru a studia pe piață și nu ezitați să întrebați întrebări și să oferiți feedback-ul dvs. valoros utilizând feedul de mai jos.