Besplatni motori za igre u HTML5 i JavaScript. Besplatni HTML5 i JavaScript motori za igre Ubrzajte početno renderiranje pomoću zajedničke keš memorije

Članak je ažuriran 18. januara 2018. i potpuno je aktuelan.
Gotovo svaki početnik se suočava s pitanjem odabira CMS-a za svoju web stranicu ili blog. To je razumljivo, jer je nemoguće sve znati unaprijed. I već se pojavilo dosta različitih sistema za upravljanje sadržajem. Ova recenzija sadrži samo besplatna rješenja. Oni ni na koji način nisu inferiorni u odnosu na svoje plaćene kolege, a ponekad čak i povoljno upoređuju s njima. Na kraju krajeva, mnogo je lakše izvršiti izmjene otvorenog koda, pa se sve pronađene ranjivosti brže popravljaju. I sve nove i hrabre ideje se prvo pojavljuju ovdje.

Za početak, trebali bismo uslovno podijeliti sisteme prema njihovom fokusu. Postoje CMS dizajnirani isključivo za kreiranje blogova, kao i fleksibilniji sistemi koji vam omogućavaju da kreirate punopravne web stranice i medijske portale. Istovremeno, blogerski sistemi mogu biti dizajnirani da kreiraju čitav niz projekata, na primjer, za cijelo poduzeće. Također je vrijedno napomenuti period razvoja platforme (što je duži, to je sistem bolji i sadrži manje grešaka), prisustvo zajednice (pomoći će ako se pojave poteškoće u instalaciji, otklanjanju grešaka ili korištenju sistema) , performanse (nisu svi sistemi prikladni za projekte visokog opterećenja). pa, hajde da pogledamo svaki CMS detaljnije.

Službena stranica.

Ovo je jedan od prilično starih i dobro dokazanih motora. Odličan je za e-trgovinu i online prodaju proizvoda. Mnogi dodaci, kao što je VirtueMart, omogućavaju vam da otvorite radnju vrlo brzo i za kratko vrijeme. Istina, da biste sve razumjeli od nule, morat ćete potrošiti malo vremena čitajući priručnike, čitajući dokumentaciju i forume. Na sreću, Joomla ima veoma dobru podršku i ogromnu zajednicu na nekoliko jezika, uključujući ruski.

Prednosti sistema uključuju prisustvo sljedećih funkcija "iz kutije":

  • autentifikaciju korisnika, uključujući i putem OpenID-a;
  • urednik vizualnih članaka;
  • praktično upravljanje datotekama;
  • sistem komentara i zaštita od neželjene pošte u njima;
  • menadžer dodataka i ekstenzija.

U stvari, ima mnogo više prednosti, vrlo je teško sve ih jednostavno navesti u jednom članku. Zato zauzima vodeću poziciju u CMS rejtingu i vrhovima. Ali postoje neki nedostaci: zahvaljujući njegovoj fleksibilnosti i mnogim postavkama, početnik će morati provesti više od jednog dana razumijevajući svu ovu raznolikost. Također, njegova funkcionalnost može biti suvišna za mnoge jednostavne stranice za posjetnice. Ali pogodan je za online trgovine i izložbe proizvoda.

TYPO3

Službena stranica.

Ne tako davno, prilično stari CMS, TYPO3, počeo je da dobija na popularnosti na Internetu, a sada je čvrsto ukorijenjen u TOP 5. Strukturu stranice ovdje predstavlja stablo stranica. Svaki od njih može sadržavati standardne elemente sadržaja: tekst, slike, tabele itd. Ovaj sistem upravljanja sadržajem baziran je na predlošcima koje možete preuzeti gotove ili sami napisati u TypoScript-u.

Prednosti TYPO3:

  • mogućnost finog podešavanja korisničkih prava;
  • jednostavnost održavanja nekoliko lokacija u isto vrijeme;
  • mogućnost korištenja ekstenzija iz TER (TYPO3 repozitorijum ekstenzija);
  • visoki sigurnosni zahtjevi;
  • napredni uređivač teksta sa provjerom pravopisa, pregledom, historijom promjena.

Nedostaci ovog sistema:

  • poteškoće uređivanja strukture web stranice pomoću predloška;
  • sporo prikazivanje velikih stranica sa raznovrsnim sadržajem (tabele, slike);
  • nekoliko gotovih rješenja za online trgovine

Preporučuje se za upotrebu u velikim industrijskim kompanijama i bankama. Najvjerovatnije neće biti prikladan za mlade i male lokacije, ili će troškovi razvoja i podrške biti nesrazmjerni prednostima korištenja.

Drupal

Službena stranica.

Takođe je veoma popularan i rasprostranjen CMS, koji se koristi za kreiranje veb lokacija od strane veoma velikih preduzeća, na primer, Sony Music. Oni biraju Drupal zbog njegovog širokog spektra funkcija za izgradnju internih i eksternih web stranica za korporativnu mrežu. Postoji ogromna baza podataka alata za upravljanje jednom bazom korisnika. Pogodno za organizovanje sistema blogova i foruma. Drupal ima vrlo aktivnu zajednicu programera, ogromnu bazu znanja i forum uživo. Odgovore na pitanja o instalaciji i implementaciji stranica i modula možete pronaći vrlo jednostavno.

Prednosti Drupala:

  • odlična podrška zajednice korisnika i programera;
  • više od 6000 modula koji olakšavaju proširenje funkcionalnosti;
  • Lako upravljajte korisničkim pravima, kreirajte kolektivne blogove i forume.

Nedostaci sistema:

  • može biti previše složen za jednostavne stranice;
  • potpuni nedostatak lijepih i funkcionalnih tema;
  • teško naučiti za neobučenog korisnika.

Za web stranice sa vizit kartama odabir ovog CMS-a se kategorički ne preporučuje, ali za organiziranje srednjih i velikih portala na koje će korisnici dodavati svoj materijal i komentarisati ga, Drupal je prikladan kao nijedan drugi.

MODX

Službena stranica.

Jedan od najmlađih CMS-a (razvoj traje od 2004. godine), koji se pojavio na samom početku formiranja tzv. Web 2.0. Ideja je bila uključiti korisnike u uređivanje i dodavanje sadržaja na stranicu. Na primjer, pisanje recenzija, recenzija, pa čak i cijelih članaka. Dakle, postoji dobar sistem registracije korisnika, pretraživanje web stranice pomoću AJAX-a (bez ponovnog učitavanja stranice), možete brzo proširiti feed vijesti i kolektivni blog. Nedostaci uključuju česte probleme sa ruskim kodiranjem, koji nisu u potpunosti riješeni, iako su se pojavili davno; nedostatak gotovih modula i rješenja za organiziranje galerije, foruma ili elektronske trgovine.

WordPress

Službena stranica.

Ako neko i dalje sumnja da je WordPress odavno prerastao fazu „sistema za blogovanje“, onda ove sumnje treba odbaciti. Na ovom CMS-u razvijen je veliki broj web stranica, uključujući društvene mreže, web stranice kompanija, online trgovine i izložbe proizvoda, forume, kao i jednostavne stranice za posjetnice.

Zahvaljujući hiljadama gotovih tema, dodataka, pa čak i gotovih sklopova za različite potrebe, WordPress zauzima zasluženo mjesto u TOP 5. Postoji aktivna zajednica programera koja generiše lekcije i informativne materijale.

Prednosti WordPress-a:

  • velika zajednica programera i dobro strukturirana dokumentacija;
  • hiljade besplatnih dodataka i tema za stranicu;
  • pogodan admin panel.

Nedostaci WordPress-a

  • početna funkcionalnost odmah nakon instalacije je prilično skromna, morate je dopuniti s najmanje 4-5 dodataka;
  • Nakon jednostavne instalacije potrebna su određena sigurnosna poboljšanja.

Zapravo, ovo je jedan od najjednostavnijih i najprikladnijih sistema za početnike. Omogućava vam da kreirate web stranice bez razumijevanja bilo čega o programiranju (pročitajte moje). Toplo se preporučuje kao vaš prvi CMS. U budućnosti, ako se pokaže da je njegova funkcionalnost ograničena za vas, tada možete lako prenijeti stranicu na drugi motor po vašem izboru.
[U većini slučajeva, na vrhu su ovih 5 CMS-a, koje sam pregledao u ovom članku.

Kada odgovarate na pitanje „koji CMS odabrati za web stranicu“, obratite pažnju na činjenicu da su popularni motori stalno na udaru. Njihov kod je otvoren za upotrebu od strane svih, uključujući i ne sasvim poštene ljude koji u njemu mogu tražiti ranjivosti i koristiti ih u svoje sebične svrhe. Opasnost se može izbjeći ako odmah ažurirate motor na najnoviju verziju. U isto vrijeme, ako koristite manje uobičajen sistem za upravljanje sadržajem, onda ako se pojave poteškoće, možda nećete imati gdje pronaći pomoć i možete se osloniti samo na sebe. Uzmite u obzir i ovaj faktor. Sretno!

Zdravo, Habr! Predstavljam vašoj pažnji prijevod članka Unutar super brzog CSS motora: Quantum CSS (aka Stylo) autora Lyn Clark-a.


Možda ste čuli za Project Quantum... Ovo je projekat za značajno preradu unutrašnjosti Firefox-a kako bi se ubrzao pretraživač. Dio po dio, implementiramo razvoj našeg eksperimentalnog Servo pretraživača i značajno poboljšavamo ostale elemente motora.


Projekat je upoređivan sa zamjenom avionskog motora u hodu. Unosimo promjene u Firefox komponentu po komponentu, tako da možete ocijeniti njihov učinak u sljedećem izdanju pretraživača čim bude spreman.



Bilješka prevodilac: ispod reza ima mnogo ilustracija. Sve njih je moguće kliknuti (za gledanje u višoj rezoluciji). Ako naiđete na netačnosti u prijevodu i druge greške, bit ću vam zahvalan ako to prijavite u komentarima ili ličnoj poruci.


I prva glavna komponenta iz Serva - novi CSS motor Quantum CSS (ranije poznat kao Stylo) - sada je dostupan za testiranje u noćnoj verziji Firefoxa (napomena prevodioca: u komentarima su sugerisali da je već u stabilnom 55). Opcija layout.css.servo.enabled u about:config je odgovorna za njeno omogućavanje.


Novi motor utjelovljuje najbolje inovacije iz drugih pretraživača.



Quantum CSS koristi prednosti modernog hardvera tako što paralelizira rad na svim procesorskim jezgrama, što rezultira ubrzanjima do 2, 4 ili čak 18 puta.


Osim toga, kombinuje moderne optimizacije iz drugih pretraživača, pa je i bez paralelizacije veoma brz.



Ali šta tačno radi CSS motor? Prvo, pogledajmo šta je CSS motor uopšte i koje je njegovo mesto u pretraživaču, a zatim ćemo pogledati kako Quantum CSS ubrzava celu stvar.

Šta je CSS motor?

CSS motor je dio motora za renderiranje pretraživača. Mašina za renderovanje uzima HTML i CSS fajlove sajta i pretvara ih u piksele na ekranu.



Svaki pretraživač ima mašinu za renderovanje. Chrome ima Blink, Edge ima EdgeHTML, Safari ima WebKit, a Firefox ima Gecko.


Za pretvorbu datoteka u piksele, svi oni rade otprilike istu stvar:


1) Parsiranje datoteka u objekte čitljive pregledniku, uključujući DOM. U ovoj fazi, DOM zna za strukturu stranice, zna za roditeljske odnose između elemenata, ali ne zna kako bi ti elementi trebali izgledati.



2) Određivanje izgleda elemenata. Za svaki DOM čvor, CSS motor otkriva koja će CSS pravila primijeniti. Zatim definira vrijednost za svako CSS svojstvo. Stilizira svaki čvor u DOM stablu pričvršćivanjem izračunatih stilova.



3) Odredite dimenzije i poziciju za svaki čvor. Kutije su kreirane za sve što treba da se prikaže na ekranu. Oni predstavljaju ne samo DOM čvorove, već i ono što bi moglo biti unutar njih. Na primjer, redovi teksta.



4) Blokovi za crtanje. Može se pojaviti na nekoliko slojeva. Zamišljam to kao stare ručno nacrtane animacije na nekoliko listova prozirnog papira. Ovo vam omogućava da promijenite jedan sloj bez ponovnog crtanja ostalih.



5) Kombiniranje slojeva u jednu sliku, nakon što su prethodno na njih primijenili potrebna svojstva kompozitora (na primjer, transformacije). To je kao da fotografišete slojeve spojenih zajedno. Ova slika će se tada prikazati na ekranu.



To jest, prije početka izračunavanja stilova, ulaz CSS motora je:

  • DOM stablo
  • Lista stilskih pravila

I tako, definira stilove za svaki DOM čvor redom, jedan za drugim. Vrijednost se dodjeljuje svakom CSS svojstvu, čak i ako nije postavljena u stilskim listovima.


Mislim na to kao na popunjavanje obrasca gdje su sva polja obavezna. Morate popuniti ovaj obrazac za svaki DOM čvor.



Da bi to uradio, CSS motor mora da uradi dve stvari:

  • Odaberite pravila koja treba primijeniti na čvor (podudaranje selektora)
  • Popunite sve nedostajuće vrijednosti standardnim vrijednostima ili naslijedite roditeljske vrijednosti (kaskada)

Mapiranje selektora

Za početak, biramo sva pravila koja se primjenjuju na čvor u listu. Budući da može postojati više od jednog pravila podudaranja, moguće je više definicija istog svojstva.



Osim toga, sam pretraživač dodaje neke standardne stilove (tablice stilova korisničkog agenta). Dakle, kako CSS motor određuje koju vrijednost koristiti?


Tu nam u pomoć dolazi “pravilo specifičnosti”. CSS motor kreira tabelu definicija, koju zatim sortira u različite kolone.



Pravilo sa najviše specifičnosti pobjeđuje. Na osnovu takve tabele, CSS motor u obrazac unosi sve vrednosti koje su u njoj postavljene.



Ostatak se izračunava kaskadno.

Kaskadno

Kaskadno korištenje čini CSS lakšim za pisanje i održavanje. Zahvaljujući njemu, možete podesiti svojstvo boje za body i znati da će boja teksta u elementima p, span, li biti ista (osim ako je sami ne poništite).


CSS mehanizam provjerava prazna polja u obrascu. Ako je svojstvo po defaultu naslijeđeno, onda CSS motor ide gore po stablu i provjerava da li je vrijednost ovog svojstva postavljena na roditeljski element. Ako je nijedan od predaka vrijednosti ne definira ili nije naslijeđena, tada se postavlja zadana vrijednost.



Dakle, sada su svi stilovi za dati DOM čvor izračunati, formular je popunjen.

Napomena: Dijeljenje stilskih struktura

Opisani oblik je malo pojednostavljen. CSS ima stotine svojstava. Kada bi CSS motor pohranio vrijednost svakog svojstva za svaki DOM čvor, brzo bi iskoristio svu dostupnu memoriju.


Umjesto toga, motori obično koriste dijeljenje stilskih struktura. Oni pohranjuju vrijednosti koje se obično koriste zajedno (kao što su svojstva fonta) u drugom objektu koji se zove struktura stila. Nadalje, umjesto pohranjivanja svih svojstava u jedan objekt, izračunati objekti stila sadrže samo pokazivač. Za svaku kategoriju svojstava postoji pokazivač na strukturu stila sa potrebnim vrijednostima.



Ovo štedi i memoriju i vrijeme. Čvorovi sa sličnim stilovima mogu jednostavno ukazivati ​​na iste strukture stila za zajednička svojstva. A budući da su mnoga svojstva naslijeđena, roditelj može podijeliti svoju strukturu sa bilo kojim podređenim čvorovima koji ne poništavaju njihove vlastite vrijednosti.

Pa kako da sve to ubrzamo?

Ovako izgleda proces izračunavanja neoptimiziranog stila.



Ima dosta posla ovde. I ne samo u trenutku kada se stranica prvi put učita. I opet i opet, dok ste u interakciji sa stranicom, kada pređete mišem preko elemenata ili promijenite DOM, stilovi se ponovo izračunavaju.



To znači da je izračunavanje CSS stilova odličan kandidat za optimizaciju... I tokom poslednjih 20 godina, pretraživači su testirali mnogo različitih strategija optimizacije. Quantum CSS pokušava kombinirati najbolje od njih kako bi stvorio novi super-brzi motor.


Pogledajmo kako sve to zajedno funkcionira.

Paralelizacija

Projekat Servo (iz kojeg je došao Quantum CSS) je eksperimentalni pretraživač koji pokušava da paralelizira sve u procesu renderiranja web stranice. Šta to znači?


Možete uporediti kompjuter sa mozgom. Postoji element odgovoran za razmišljanje (ALU). U blizini se nalazi nešto kao kratkoročna memorija (registri), potonji su grupisani zajedno na centralnom procesoru. Osim toga, postoji dugotrajna memorija (RAM).



Rani kompjuteri su mogli razmišljati samo jednu po jednu misao. Ali tokom proteklih decenija, procesori su se promenili, sada imaju nekoliko ALU i registara grupisanih u jezgre. Dakle, sada procesori mogu razmišljati o nekoliko misli odjednom - paralelno.



Quantum CSS koristi ove prednosti odvajanjem stilskih proračuna za različite DOM čvorove u različitim jezgrama.


Možda se čini lako... Samo razdvojite grane drveta i obradite ih na različitim jezgrama. U stvarnosti je sve mnogo komplikovanije iz nekoliko razloga. Prvi razlog je taj što su DOM stabla često nejednaka. To jest, neka jezgra će dobiti znatno više posla od drugih.



Da bi ravnomjernije rasporedio posao, Quantum CSS koristi tehniku ​​koja se zove krađa posla. Kada se DOM čvor obradi, program uzima njegovu direktnu djecu i dijeli ih na jednu ili više "radnih jedinica". Ove jedinice rada su u redu čekanja.



Kada jezgro završi sav posao u svom redu, može tražiti posao u drugim redovima. Na taj način ravnomjerno raspoređujemo rad bez potrebe za preliminarnom procjenom prolazeći kroz cijelo stablo.



Ovo će biti teško ispravno implementirati u većini pretraživača. Paralelizam je notorno težak zadatak, a CSS motor je sam po sebi prilično složen. Takođe se nalazi između druga dva najkompleksnija dela mašine za renderovanje - DOM i markup. Općenito, lako je pogriješiti, a paralelizacija može dovesti do prilično teško uhvatljivih grešaka koje se nazivaju "trke podataka". Te greške opisujem detaljnije u drugom članku (postoji i prijevod na ruski).


Ako prihvatite izmene od stotina hiljada saradnika, kako možete primeniti istovremenost bez straha? Zato imamo Rust.



Rust vam omogućava da statički provjerite da nema utrka podataka. To jest, izbjegavate teško uhvatljive greške tako što ih uopće ne dopuštate u svom kodu. Kompajler vam jednostavno neće dozvoliti da to uradite. O tome ću više pisati u budućim člancima. Možete i pogledati uvodni video o konkurentnosti u Rustu ili ovaj detaljniji razgovor o "krađi posla".


Sve ovo uveliko pojednostavljuje stvar. Sada vas gotovo ništa ne sprečava da paralelno efikasno implementirate CSS stilske proračune. To znači da možemo pristupiti linearnom ubrzanju. Ako je vaš procesor 4-jezgreni, onda će paralelizacija povećati brzinu za skoro 4 puta.

Ubrzavanje ponovnog izračunavanja pomoću stabla pravila

Za svaki DOM čvor, CSS motor mora proći kroz sva pravila i izvršiti uparivanje selektora. Za većinu čvorova, odgovarajući selektori se vjerovatno neće mijenjati često. Na primjer, ako korisnik pređe mišem iznad elementa, pravila koja mu odgovaraju mogu se promijeniti. Moramo ponovo izračunati stilove za svu njegovu djecu kako bi upravljali nasljeđivanjem svojstava. Ali pravila koja odgovaraju ovim potomcima se vjerovatno neće promijeniti.


Bilo bi lijepo zapamtiti koja pravila odgovaraju toj djeci, tako da ne morate ponovo poklapati selektore... A stablo pravila, koje dolazi iz prethodnih verzija Firefoxa, čini upravo to.


CSS motor bira selektore koji odgovaraju elementu i zatim ih sortira prema specifičnostima. Rezultat je povezana lista pravila.


Ova lista se dodaje stablu.



CSS motor pokušava da minimizira broj grana u stablu, koristeći ih kad god je to moguće.


Ako većina selektora na listi odgovara postojećoj grani, ona će je pratiti. Ali može doći do tačke u kojoj se sljedeće pravilo na listi ne podudara s pravilom iz postojeće grane. Samo u ovom slučaju se kreira nova grana.



DOM čvor će dobiti pokazivač na pravilo koje je zadnje dodano (u našem primjeru, div#warning). To je najkonkretnije.


Prilikom ponovnog izračunavanja stilova, mašina vrši brzu provjeru da vidi može li promjena u pravilima nadređenog elementa utjecati na pravila podređenih elemenata. Ako ne, onda za svu djecu, motor može jednostavno koristiti pokazivač na odgovarajuće pravilo u stablu. To jest, potpuno preskočite podudaranje i sortiranje selektora.



I tako, ovo pomaže u uštedi vremena pri ponovnom izračunavanju stilova, ali početno izračunavanje je i dalje radno intenzivno. Ako postoji 10.000 čvorova, onda se uparivanje selektora mora izvršiti 10.000 puta. Ali postoji način da se i ovo ubrza.

Ubrzajte početno prikazivanje pomoću dijeljenog keša stilova

Zamislite stranicu sa hiljadama čvorova. Mnogi od njih će slijediti ista pravila. Na primjer, zamislite dugačku stranicu Wikipedije... Glavni paragrafi sadržaja trebaju imati apsolutno identična pravila stila i apsolutno identične izračunate stilove.


Bez optimizacije, CSS motor mora da odgovara selektorima i izračunava stilove za svaki paragraf posebno. Ali ako bi postojao način da se dokaže da su stilovi za sve pasuse isti, onda bi motor jednostavno mogao obaviti posao jednom, i sa svakog čvora jednostavno pokazati na isti izračunati stil.


To je ono što radi keš generičkih pravila, uzimajući inspiraciju iz Safarija i Chromea. Nakon obrade elementa, izračunati stil se pohranjuje u keš memoriju. Zatim, prije početka izračunavanja stilova sljedećeg elementa, izvodi se nekoliko provjera da se vidi može li se išta iz keša koristiti.


Provjere su sljedeće:

  • Da li 2 čvora imaju isti ID, klase itd. Ako da, oni će se pridržavati istih pravila.
  • Imaju li isto značenje za sve što nije bazirano na selektoru (poput inline stilova). Ako je odgovor da, gornja pravila neće biti poništena, ili će biti poništena na isti način za oba.
  • Da li roditelji oba pokažu na isti objekat izračunatih stilova. Ako da, onda će i naslijeđene vrijednosti biti iste.


Ove provjere su implementirane u ranim verzijama dijeljenog stilskog keša od samog početka. Ali postoje mnoge male situacije u kojima se stilovi neće podudarati. Na primjer, ako CSS pravilo koristi selektor:first-child, onda se stilovi dva pasusa možda neće podudarati, čak i ako gornje provjere kažu drugačije.


WebKit i Blink odustaju u takvim situacijama i ne koriste uobičajeni stilski keš. A kako sve više stranica koristi ove moderne selektore, optimizacija postaje manje korisna, zbog čega ju je Blink tim nedavno u potpunosti uklonio. Ali ispostavilo se da je moguće pratiti sva ova ažuriranja i cjelokupnu predmemoriju stilova.


U Quantum CSS-u prikupljamo sve te čudne selektore i provjeravamo da li se primjenjuju na DOM čvor. Zatim pohranjujemo rezultat ove provjere kao jedinice i nule za svaki takav selektor. Ako dva elementa imaju identičan skup jedinica i nula, znamo da su oni potpuno podudarni.



Ako DOM čvor može koristiti stilove koji su već izračunati, tada se u suštini skoro sav posao preskače. Stranice često imaju mnogo čvorova sa istim stilovima, tako da zajednički keš stilova štedi memoriju i zaista ubrzava stvari.


Zaključak

Ovo je prvi veliki transfer tehnologije sa Servo na Firefox. Naučili smo mnogo o tome kako da unesemo moderan Rust kod visokih performansi u jezgru Firefoxa.


Oduševljeni smo što imamo veliki dio Project Quantum spreman za beta upotrebu. Bit ćemo vam zahvalni ako isprobate i, u slučaju grešaka, prijavite ih.

O Lyn Clark

Lin je inženjer u Mozilla Developer Relations timu. Radi sa JavaScript, WebAssembly, Rust i Servo. Takođe crta crtaće kodova.

Oznake: Dodajte oznake

Pozdrav, dragi čitaoci blog stranice. Danas želim govoriti o takvoj stvari kao što je web engine ili, naučno govoreći, CMS (sistem za upravljanje sadržajem).

U suštini, ovo su programi za web server koji uvelike pojednostavljuju kreiranje i održavanje web stranice. Pa, sama web stranica će vam omogućiti (ako je sami kreirate i ne trošite novac na njenu promociju).

Ako želite da dodate svoj resurs ovoj ocjeni, nemojte koristiti odgovarajuće dugme desno iznad tabele.

Inače, ako mislite da će vam biti malo teško, možete pogledati ocjena web studija, koji se nalazi na istom resursu. Tamo možete vidjeti projekte koje je izradio ovaj studio klikom na link u koloni “Radovi”.

Otprilike ovako izgleda statistika o mašinama koje koriste korisnici RuNeta (ovdje ne samo Joomla, već i svi popularni CMS-ovi općenito) u kontekstu toga koja se verzija CMS-a koristi - nova ili zastarjela:

Na Joomli se, pored običnih web stranica, stvara dosta toga, zahvaljujući postojećem proširenju trgovine pod nazivom .

Vjerojatno je najlakši besplatni motor za učenje WordPress. Naravno, uglavnom se koristi za prilično usku nišu (kreiranje i uvođenje blogova), ali po želji može se koristiti za implementaciju web stranica, foruma i galerija. Ali prije svega, WordPress je vrlo funkcionalan CMS za bloganje.

stranica radi pod kontrolom WordPress-a (ali to je tajna, jer motor koji se koristi i njegova verzija moraju biti skriveni, sudeći po gore navedenim savjetima Yandexa). Pisao sam i nastavljam pisati o suptilnostima i nijansama rada s ovim motorom u odjeljku, te o proširenjima za njega u odjeljku.

Sudeći po CMS grafikonu brzine iznad, WordPress se utrkuje, ali ja to lično nisam osjetio. Općenito, WordPress se može učiniti da radi brzo bez stvaranja nečuvenog . Istina, ovo će potrajati malo vremena, ali vaš blog može postati vrlo brz i vrlo jednostavan. Pisao sam o povećanju istoimene rubrike.

Sada je moj blog hostovan i sa opterećenjem od 20-25 hiljada posetilaca dnevno, i dalje sam zadovoljan brzinom WordPress-a, posebno nakon finalizacije šablona i optimizacije svega što se može optimizovati. Iako, kada se koristi veliki broj dodataka, bez i bez dodatne optimizacije, WordPress postaje prilično teško čudovište.

Jasno je da još uvijek postoji mnogo besplatnih CMS-ova koji se koriste u različite svrhe. Ovo je isti Drupal ili DLE (DataLife Engine), i u mnogim slučajevima njihova upotreba će biti opravdana, jer idealan CMS ne postoji, ali su WordPress i Joomla koji su malopre spomenuti najpopularniji. Razlog može biti njihov prilično jednostavan dizajn i jasnoća za početnike.

Koji su plaćeni motori najzanimljiviji?

Još jedan primjer koji se može navesti kao ne baš skup i prilično brzo plaćen CMS je S.Builder. Da biste razumjeli kako kreirati web stranice na ovom motoru, najvjerovatnije vam neće trebati puno vremena, jer... ima prilično nisku barijeru za ulazak (kako kažu, intuitivan je). Ovaj sistem je napisan za krajnjeg korisnika - apsolutno nepripremljen i bez iskustva u webmasteringu (može raditi u Wordu i to je u redu).

S.Builder je prilično fleksibilan i sa njim možete raditi skoro sve, ali, recimo, za razliku od Drupala (koji također može skoro sve), sa S.Builderom možete sve ovo učiniti bez ulaska u kod (postoji moćan dizajner modula prema vašim potrebama).

Pa, kao što sam već pomenuo, ovaj CMS jeste jedan od najbržih motora i prilično dobro drži opterećenje, iako je takođe napisan u PHP-u. To je najvjerovatnije zbog dobre čistoće koda (napisan je od nule) i dobrih performansi keširanja.

S.Builder možete isprobati besplatno i online i offline. U prvom slučaju, morat ćete otići na stranicu “Demo verzija on-line” i oni će napraviti privremenu stranicu na ovom CMS-u, gdje će svi moduli biti dostupni za “isprobavanje olovke”. Ako vam online testiranje ne odgovara, onda sa stranice „Preuzmite CMS“ možete preuzeti potpuno funkcionalnu i apsolutno besplatnu offline verziju ovog motora (kao da jeste) - „Probna verzija CMS-a za instalaciju na lokalnom računalu“.

Na kraju, želim da vam dam mišljenje profesionalnog optimizatora iz veoma poznate SEO kompanije Ashmanov and Partners, koji je dao prilično detaljan odgovor na pitanje - Koji je CMS bolji?:

P.S. Ponekad želiš da znaš na kojem motoru radi ova ili ona stranica?. Ispostavilo se da se to može učiniti prilično jednostavno i elegantno. U članku sam upravo spomenuo takav dodatak - Wappalyzer. Vrlo zanimljiva stvar.

Koji motor odabrati za online trgovinu? Ovo je pitanje koje postavlja većina ambicioznih preduzetnika. Postoji toliko mnogo platformi da ponekad može biti prilično teško navigirati. Ova recenzija će se osvrnuti na najbolji CMS. Korisnik će moći odabrati najprikladniji mehanizam za svoj web resurs.

Najbolji CMS sistemi

Većina kompanija nudi web stranice na platformama koje su im poznatije i koje im je lakše raditi. Često ovi motori ne zadovoljavaju zahtjeve kupaca. Kako ne biste naišli na ograničenja platforme, morate znati najbolji CMS za kreiranje web stranice. Odabir pravog motora osigurava uspjeh web resursa. Postoje 2 kategorije platformi: komercijalni i besplatni proizvodi.

Prvi tip motora kreiran je s ciljem ostvarivanja profita od prodaje licenci i dodataka. Ovi sistemi prednjače po kvalitetu rada i popularnosti. Gotovo svi korisni moduli su plaćeni. Početnici poduzetnici ne mogu si uvijek priuštiti kupovinu najboljeg CMS-a na komercijalnoj osnovi. Za njih su stvoreni besplatni motori.

Sistem "1C-Bitrix"

Ova platforma je najbolji CMS za online prodavnicu. Zašto je postala toliko popularna? Motor radi sa opsežnom 1C bazom podataka. Po želji korisnik može postaviti bonus programe za kupce i odrediti različite stope za pravna lica. Platforma se koristi za kreiranje velikih portala, informacionih resursa, kao i drugih servisa.

Web stranice napravljene na ovom CMS-u izdvajaju se među ostalim web stranicama po kvalitetu rada, velikom broju dodatnih modula, pouzdanoj zaštiti od hakerskih napada, te mogućnosti podjele prava između nekoliko administratora. Sistem zahtijeva značajna ulaganja. Stoga se preporučuje korištenje 1C-Bitrix platforme isključivo za kreiranje velikih projekata.

Magento

Ovaj sistem je najbolji CMS za online prodavnicu među besplatnim proizvodima. Više od 150 hiljada web stranica na Internetu kreirano je pomoću ovog motora. Platforma je dostupna u tri izdanja. Izdanje zajednice je besplatno. Admin panel je veoma zgodan.

Po želji možete razlikovati korisnička prava. Interfejs na ruskom. Odgovore na vaša pitanja možete pronaći u zajednici programera. Korisnik ima pristup opcijama za generiranje detaljnih izvještaja i dodavanje kupona za popust. Klijent može raditi sa 1C bazom podataka.

Proizvodi se uvoze na Yandex.Market. Postoje različiti filteri za proizvode. Po želji možete slati reklamne poruke kupcima i povezati društvene mreže. Programeri nude klijentima da kreiraju partnerski program za svoju internet prodavnicu. Administrator može upravljati više projekata sa jednog naloga.

Nedostaci Magenta

Nedostaci uključuju nedostatak integracije sa ruskim platnim sistemima i uslugama dostave. Ovaj problem se može riješiti instaliranjem plaćenih modula i uređivanjem postojećih. Prilikom pokretanja online trgovine, morat ćete koristiti usluge iskusnog programera.

Motor troši veliku količinu serverskih resursa. Platformu treba koristiti samo za kreiranje velikih online prodavnica. Moduli korisni za e-trgovinu se plaćaju. Neki od njih su jako preskupi.

Joomla

Platforma je na trećem mjestu na rang listi. Proizvod se odlikuje kvalitetom. Ako korisnik traži najbolji CMS engine, onda treba obratiti pažnju na Joomlu. Klijent može proširiti opsežan komplet alata uz pomoć dodatnih modula i dodataka. Osigurana je visoka sigurnost rada sa servisom.

Korisnik ima pristup opcijama za povezivanje višeslojne autorizacije za administratore i podjelu prava moderatora. Promjena izgleda stranice vrši se korištenjem gotovog predloška iz opsežnog kataloga. Ako želite, možete kreirati prilagođeni izgled. Mnogi klijenti vjeruju da je ovo najbolji CMS za trgovinu jer vam omogućava da prilagodite mnoge elemente. Web stranice zasnovane na ovom mehanizmu imaju fleksibilnu strukturu.

Dodatne komponente za Joomla

Programeri stalno objavljuju ažuriranja. U početku je platforma kreirana za korporativne web resurse, blogove i stranice sa vizit kartama. Sada motor radi s online trgovinama i društvenim platformama. Da biste dodali proizvode na stranicu, morate preuzeti dodatnu komponentu. Najčešće skripte su VirtueMart i JoomShopping.

Po potrebi se ugrađuju dodatni moduli. Koristeći VirtueMart, korisnik može integrirati stranicu sa 1C bazom podataka, povezati popularne sisteme plaćanja i konfigurirati uvoz/izvoz proizvoda. Dodatna komponenta je pogodna za pokretanje malih i srednjih online prodavnica. VirtueMart se ne koristi pri kreiranju velikih portala, jer nema potrebne funkcije i odgovarajući sigurnosni sistem.

Drupal

Ova platforma je namijenjena složenim web stranicama i profesionalnim programerima. Rad sa softverom zahtijeva iskustvo i odgovarajuću obuku. Sistem se sinhronizuje sa partnerskim sajtovima. Korisnik može birati kratke adrese, koristiti teme šablona i kreirati web resurse sa sličnim elementima (jedna korisnička baza). Dostupna je višejezična funkcija prevođenja.

Motor je pogodan za velike online trgovine i zajednice. U drugim slučajevima, troškovi neće biti opravdani. Da biste koristili platformu, morate instalirati Ubercart. Ova dodatna komponenta se praktično ne razlikuje od VirtueMart skripte. Najbolji besplatni CMS Magento i Joomla zauzeli su prvo mjesto na ljestvici samo zato što su malo češći i teže ih je naučiti i prilagoditi od Drupala.

MODX

Ova platforma može raditi na gotovo svim serverima i komunicirati s različitim pretraživačima. Softver se distribuira pod licencom. Motor se koristi za izradu web stranica različitih tipova. Platforma je također okruženje za razvoj aplikacija. Nije zahtjevan za resurse servera.

Instalacija i konfiguracija motora nije teška. Nedostaci uključuju nisku rasprostranjenost u zemljama ZND i nedostatak potrebnih funkcija za pokretanje punopravne internetske trgovine na ovim teritorijama. Mnogi korisnici ukazuju na to da prilikom rada s motorom nastaju problemi sa sigurnošću web resursa.

OpenCart

Komercijalni ili potpuno besplatni CMS - što je bolje? OpenCart platforma je primjer kako besplatni softver može nadmašiti najluđa očekivanja kupaca. Ovaj motor je najpogodnije rješenje za male projekte. Platforma je jednostavna za instalaciju i konfiguraciju. Motor nije zahtjevan za resurse servera.

Koristeći ogroman broj modula, možete dodati gotovo bilo koju potrebnu funkcionalnost vašoj online trgovini. Programeri iz zajednice ruskog govornog područja pomoći će u rješavanju svih problema koji se mogu pojaviti. Ako želite, možete koristiti ugrađeni instalater modula. U početku, platforma nije bila fokusirana na tržište CIS-a. Sada možete pronaći sklopove s dodatnom funkcionalnošću.

Programeri su ažurirali načine plaćanja i isporuke i dodali različite filtere. Najpopularniji sklopovi uključuju ocStore i MaxyStore. Klijent uvijek može kreirati svoju verziju od potrebnih dodataka. Korisnik ima pristup funkciji specificiranja ključnih riječi i meta tagova za svaki proizvod posebno. Nedostaci uključuju zamrzavanje sistema kada postoji veliki broj proizvoda, kao i visoku cijenu mnogih modula.

PrestaShop

Programeri su kreirali ovu platformu 2007. godine. Motor je pogodan za male i srednje online prodavnice. Baš kao i OpenCart, PrestaShop platforma ima impresivnu funkcionalnost. Za rad sa ruskim platnim sistemima, morat ćete dodati dodatne module. Motor apsolutno nije zahtjevan za resurse servera.

U 2011. godini, PrestaShop je proglašen za najbolju platformu za e-trgovinu. Za razliku od OpenCarta, motor nema službenu podršku za programere. Stoga nema toliko dodatnih modula koliko bi korisnici željeli. Osnovna verzija platforme koristi više resursa nego OpenCart. Cijena dodatnih modula je mnogo niža nego u Magentu.

UMI.CMS

Platforma se odlikuje responzivnim dizajnom i ekonomičnošću. Klijent može izabrati jezik sa kojim će raditi, postaviti teme šablona i pratiti statističke informacije kao što su podaci na osnovu prosečnog računa.

WordPress

Nastavljajući temu „najboljeg CMS-a“, treba spomenuti ovaj motor. Platforma je jednostavna, razumljiva, ali u isto vrijeme funkcionalna. Za rad motora nije potrebno tehničko znanje. Čak i profesionalci će biti zadovoljni jednostavnim interfejsom. Odgovore na vaša pitanja možete pronaći u uputama.

Platforma je kreirana za blogove, izvore vijesti i druge portale gdje je potrebno brzo dodati informacije. Dodaci za proširenje funkcionalnosti mogu se kupiti po pristupačnoj cijeni. Programeri nude više od 10 dodatnih komponenti za kreiranje online trgovine pomoću WordPress motora. Najpopularniji je dodatak WooCommerce. Vrlo je teško pokrenuti punopravnu internetsku trgovinu zasnovanu na tome.

Možete dodati najviše 100 kartica proizvoda koje ne zahtijevaju ažuriranje. Platformu je lako naučiti. Sistem je pogodan za početnike koji imaju blog na WordPress web stranici. Među nedostacima treba istaknuti nedostatak integracije sa 1C, ruskim platnim sistemima i uslugama dostave. Nakon instaliranja dodatka može doći do sukoba sa šablonom.

NetCat

Platforma pruža mogućnost u mobilnoj verziji. Podržan responzivni dizajn. Najbolji CMS bi trebao imati dobru funkcionalnost za promociju pretraživača i integraciju web stranice s korisnim servisima. Ovaj motor ispunjava sve zahtjeve. Interfejs je intuitivan.

Platforma radi sa 1C bazom podataka i elektronskim sistemima plaćanja. Prilikom rada sa platformom nema potrebe za korištenjem složenih tehnoloških rješenja. Interfejs se može podijeliti na dva: za korisnike i programere.

HostCMS

Motor nije zahtjevan za hosting i servere. Ova platforma je najbolji CMS za SEO. Korisnik ima opcije za kreiranje kratkih adresa stranica, određivanje meta tagova itd. Mašina odlično radi sa web resursima sa velikim prometom. Platforma radi sa 1C sistemom.

Cijena licence je 6 hiljada rubalja. Klijent dobija prilično funkcionalnu platformu sa mogućnošću proširenja funkcionalnosti instaliranjem dodatnih modula.

CS-Cart

Prilikom odabira najboljeg CMS-a, mnogi korisnici primjećuju prednosti ovog motora. Kreatori softvera nude klijentima širok spektar alata. Platformu odlikuje pogodna organizacija internet marketinga, dobar oblik rada sa narudžbama, SEO optimizacija resursa, integracija sa 1C i uslugom Yandex.Market. Korisnik ima pristup opcijama za kreiranje adaptivnog dizajna i jednostavno dodavanje materijala.

Amiro.CMS

Ova platforma se zove univerzalna. Motor je pogodan za kreiranje profesionalnih resursa različitih nivoa složenosti. Programeri nude više od 60 dodatnih modula koji proširuju funkcionalnost. Korisnik može pokrenuti visokokvalitetnu web stranicu gotovo bilo kojeg tipa.

LPgenerator

Generator mrežnih stranica na mreži je odlično rješenje za početnike i stručnjake. Pomoću motora možete kreirati web stranicu vizit karte ili malu trgovinu. Neki korisnici jednostavno dodaju materijale kako bi predstavili proizvod/uslugu. Klijenti mogu iskoristiti pogodan uređivač, kao i stotine šablona u LPStoreu.

Korisnik ima opcije za povezivanje nove domene i sinhronizaciju stranice sa korisnim servisima. Po želji, rasporedi se mogu preraditi. Programeri takođe pružaju alate za SEO optimizaciju.

HTML5 zajedno sa CSS3 i JavaScript-om daje programeru široke mogućnosti za kreiranje igara koristeći 3D, animaciju, Canvas, matematiku, boje, zvuk, WebGL. Jedna od najočitijih prednosti HTML5 je njegova nezavisnost i od platforme i, općenito, od hardvera.

Nakon detaljnijeg pregleda, možete prepoznati dodatne mogućnosti koje pružaju motori: pojednostavljenje nekih uobičajenih zadataka ili učitavanje resursa, formatirani unos, fizika, zvuk, bitmape (naravno, nema ih mnogo). Postoje i prilično loše dizajnirani motori, a postoje i oni koji programeru pružaju editor 2D nivoa i alate za otklanjanje grešaka.

Pretpostavlja se da većina motora služi za smanjenje vremena potrebnog za razvoj punopravne igre. Međutim, mnogi programeri radije kreiraju svoj projekat potpuno od nule kako bi bolje predstavili njegovu strukturu. Postoji nekoliko JavaScript-HTML5 motora koji zaista nešto vrijede, ali oni mogu imati jedan veliki nedostatak: više nisu podržani ili su blizu ukidanja. Stoga pri odabiru motora birajte one proizvode čija će podrška trajati prilično dugo.

Dakle, evo, u stvari, samih motora.

Lukavo

Idealno za implementaciju 2D arkadnih igara i zagonetki u retro stilu kao što je Sudoku. Ima gotovu za korištenje samopokrećuću petlju igre. Podržani miš i tastatura. Dobro je dokumentovan, a jedinim nedostatkom može se smatrati nedostatak zvučne podrške.

lycheeJS

Otvoreni kod za više pretraživača, u potpunosti napisan u JavaScript-u. Napravljen od temelja da bude što fleksibilniji, ima opsežan API i koristi najnovije karakteristike modernih pretraživača. Ovaj okvir je dizajniran da uradi sve za vas: vašu ideju - njenu implementaciju koristeći najčešće korištene alate.

GameJS

Za kreiranje stranice koriste se JavaScript i CSS. Zajedno rade prilično samouvjereno i skladno. Dizajniran za početnike koji uče osnove programiranja video igara. Biće vam lakše ako već imate neke CSS vještine.

ClanFX

2D HTML5 grafički mehanizam u JavaScriptu prenet sa iPhone-a. Omogućava vam da brzo kreirate 2D igre i grafičke aplikacije koje mogu raditi na svim modernim uređajima bez instaliranja dodatnih dodataka.