Besplatni motori za igre u HTML5 i JavaScriptu. Besplatni HTML5 i JavaScript motori za igre Ubrzajte početno iscrtavanje pomoću dijeljene predmemorije stila

Članak je ažuriran 18. siječnja 2018. i potpuno je aktualan.
Gotovo svaki početnik se susreće s pitanjem odabira CMS-a za svoju web stranicu ili blog. To je i razumljivo, jer nemoguće je znati sve unaprijed. I već se pojavilo dosta različitih sustava za upravljanje sadržajem. Ova recenzija sadrži samo besplatna rješenja. Oni ni na koji način nisu inferiorni od svojih plaćenih kolega, a ponekad se čak i povoljno uspoređuju s njima. Uostalom, puno je lakše napraviti izmjene u otvorenom kodu, stoga se sve pronađene ranjivosti popravljaju brže. Također se sve nove i hrabre ideje pojavljuju prve ovdje.

Za početak treba uvjetno podijeliti sustave prema njihovoj usmjerenosti. Postoje CMS dizajnirani isključivo za izradu blogova, kao i fleksibilniji sustavi koji vam omogućuju izradu cjelovitih web stranica i medijskih portala. U isto vrijeme, blogging sustavi mogu biti dizajnirani za stvaranje cijelog niza projekata, na primjer, za cijelo poduzeće. Također je vrijedno napomenuti razvojno razdoblje platforme (što je duže, to je sustav bolje razvijen i sadrži manje grešaka), prisutnost zajednice (pomoći će ako se pojave poteškoće pri instaliranju, uklanjanju pogrešaka ili korištenju sustava) , performanse (nisu svi sustavi prikladni za projekte visokog opterećenja). Dakle, sada pogledajmo svaki CMS detaljnije.

Službena stranica .

Ovo je jedan od prilično starih i dobro dokazanih motora. Izvrstan je za e-trgovinu i prodaju proizvoda na mreži. Mnogi dodaci, kao što je VirtueMart, omogućuju vam da vrlo brzo i u kratkom vremenu otvorite trgovinu. Istina, da biste razumjeli sve od nule, morat ćete potrošiti malo vremena na čitanje priručnika, čitanje dokumentacije i foruma. Srećom, Joomla ima vrlo dobru podršku i veliku zajednicu na nekoliko jezika, uključujući ruski.

Prednosti sustava uključuju prisutnost sljedećih funkcija "izvan kutije":

  • provjera autentičnosti korisnika, uključujući putem OpenID-a;
  • vizualni urednik članaka;
  • praktično upravljanje datotekama;
  • sustav komentara i zaštita od spama u njima;
  • upravitelj dodataka i proširenja.

Zapravo, ima mnogo više prednosti; vrlo ih je teško sve jednostavno navesti u jednom članku. Zbog toga zauzima vodeće mjesto u CMS ocjenama i vrhovima. Ali postoje neki nedostaci: zahvaljujući svojoj fleksibilnosti i mnogim postavkama, početnik će morati potrošiti više od jednog dana na razumijevanje sve ove raznolikosti. Također, njegova funkcionalnost može biti suvišna za mnoge jednostavne stranice s posjetnicama. Ali prikladan je za online trgovine i prikaze proizvoda.

TYPO3

Službena stranica .

Nedavno je prilično stari CMS, TYPO3, počeo dobivati ​​popularnost na Internetu, a sada je čvrsto ukorijenjen u TOP 5. Struktura stranice ovdje je predstavljena stablom stranica. Svaki od njih može sadržavati standardne elemente sadržaja: tekst, slike, tablice itd. Ovaj sustav za upravljanje sadržajem temelji se na predlošcima koje možete preuzeti gotove ili sami napisati u TypoScriptu.

Prednosti TYPO3:

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

Nedostaci ovog sustava:

  • poteškoće s uređivanjem strukture stranice pomoću predložaka;
  • sporo iscrtavanje velikih stranica s raznolikim sadržajem (tablice, slike);
  • nekoliko gotovih rješenja za online trgovine

Preporuča se za korištenje u velikim industrijskim tvrtkama i bankama. Najvjerojatnije neće biti prikladan za mlade i male stranice ili će troškovi razvoja i podrške biti nesrazmjerni prednostima korištenja.

Drupal

Službena stranica .

Također je vrlo popularan i raširen CMS, koji se koristi za izradu web stranica od strane vrlo velikih poduzeća, na primjer, Sony Music. Odabiru 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. Pogodan za organiziranje sustava blogova i foruma. Drupal ima vrlo aktivnu zajednicu programera, veliku bazu znanja i forum uživo. Vrlo jednostavno možete pronaći odgovore na pitanja o instalaciji i postavljanju web stranica i modula.

Prednosti Drupala:

  • izvrsna podrška zajednice korisnika i programera;
  • više od 6000 modula koji olakšavaju proširenje funkcionalnosti;
  • Jednostavno upravljajte korisničkim pravima, stvarajte zajedničke blogove i forume.

Nedostaci sustava:

  • može biti previše složeno za jednostavna mjesta;
  • potpuni nedostatak lijepih i funkcionalnih tema;
  • teško naučiti neobučenom korisniku.

Za web stranice poslovne kartice odabir ovog CMS-a se kategorički ne preporučuje, ali za organiziranje srednjih i velikih portala na kojima će korisnici dodavati svoje materijale i komentirati ih, Drupal je prikladan kao nitko drugi.

MODX

Službena stranica .

Jedan od najmlađih CMS-ova (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. Stoga postoji dobar sustav registracije korisnika, pretraživanje web mjesta pomoću AJAX-a (bez ponovnog učitavanja stranice), možete brzo proširiti feed vijesti i zajednički blog. Nedostaci uključuju česte probleme s ruskim kodiranjem, koji nisu u potpunosti riješeni, iako su se pojavili davno; nedostatak gotovih modula i rješenja za organizaciju galerije, foruma ili elektroničke trgovine.

WordPress

Službena stranica .

Ako netko još uvijek sumnja da je WordPress odavno prerastao fazu "sustava za bloganje", onda te sumnje treba odbaciti. Veliki izbor web stranica razvijen je na ovom CMS-u, uključujući društvene mreže, web stranice tvrtki, online trgovine i prikaze proizvoda, forume, kao i jednostavne web stranice s posjetnicama.

Zahvaljujući tisućama gotovih tema, dodataka, pa čak i gotovih sklopova za razne potrebe, WordPress zauzima zasluženo mjesto u TOP 5. Postoji aktivna zajednica programera koja generira lekcije i informativne materijale.

Prednosti WordPress-a:

  • velika zajednica programera i dobro strukturirana dokumentacija;
  • tisuće besplatnih dodataka i tema za stranicu;
  • prikladna administrativna ploča.

Nedostaci WordPressa

  • početna funkcionalnost odmah nakon instalacije prilično je skromna, potrebno ju je nadopuniti s najmanje 4-5 dodataka;
  • Nakon jednostavne instalacije potrebna su neka sigurnosna poboljšanja.

Zapravo, ovo je jedan od najjednostavnijih sustava koji su najprikladniji za početnike. Omogućuje vam izradu web stranica bez razumijevanja programiranja (pročitajte moje). Toplo se preporučuje kao vaš prvi CMS. U budućnosti, ako se ispostavi da je njegova funkcionalnost ograničena za vas, možete jednostavno prenijeti stranicu na drugi motor po vašem izboru.
[U većini slučajeva, one na vrhu zauzimaju ovih 5 CMS-a, koje sam pregledao u ovom članku.

Kada odgovarate na pitanje "koji CMS odabrati za web stranicu", trebali biste obratiti pozornost na činjenicu da su popularni motori stalno na udaru. Njihov kod je otvoren za korištenje svima, uključujući i ne posve poštene ljude koji u njemu mogu tražiti ranjivosti i koristiti ih za 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čajeni sustav za upravljanje sadržajem, tada 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!

Pozdrav, Habr! Vašoj pozornosti predstavljam prijevod članka Inside a super fast CSS engine: Quantum CSS (aka Stylo) by Lyn Clark.


Možda ste čuli za Project Quantum... Ovo je projekt za značajno preoblikovanje unutrašnjosti Firefoxa kako bi se ubrzao preglednik. Dio po dio, implementiramo razvoj našeg eksperimentalnog Servo preglednika i značajno poboljšavamo druge elemente motora.


Projekt se usporedio sa zamjenom motora aviona u hodu. Mi mijenjamo Firefox komponentu po komponentu, tako da možete procijeniti njihov učinak u sljedećem izdanju preglednika čim bude spremno.



Bilješka prevoditelj: ima puno ilustracija ispod reza. Sve ih je moguće kliknuti (za gledanje u višoj rezoluciji). Ako naiđete na netočnosti prijevoda i druge pogreške, bit ću vam zahvalan ako to prijavite u komentarima ili osobnom porukom.


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


Novi motor utjelovljuje najbolje inovacije drugih preglednika.



Quantum CSS iskorištava prednosti modernog hardvera paralelizirajući rad svih procesorskih jezgri, što rezultira ubrzanjima do 2, 4 ili čak 18 puta.


Osim toga, kombinira moderne optimizacije iz drugih preglednika, pa je i bez paralelizacije vrlo brz.



Ali što točno radi CSS mehanizam? Prvo, pogledajmo što je uopće CSS engine i koje je njegovo mjesto u pregledniku, a zatim ćemo pogledati kako Quantum CSS ubrzava cijelu stvar.

Što je CSS motor?

CSS mehanizam dio je mehanizma za renderiranje preglednika. Mehanizam za prikazivanje preuzima HTML i CSS datoteke web mjesta i pretvara ih u piksele na zaslonu.



Svaki preglednik ima mehanizam za prikazivanje. Chrome ima Blink, Edge ima EdgeHTML, Safari ima WebKit, a Firefox ima Gecko.


Da bi razložili datoteke na piksele, svi oni rade otprilike istu stvar:


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



2) Određivanje izgleda elemenata. Za svaki DOM čvor CSS mehanizam utvrđuje koja CSS pravila primijeniti. Zatim definira vrijednost za svako CSS svojstvo. Stilizira svaki čvor u DOM stablu prilaganjem izračunatih stilova.



3) Odredite dimenzije i položaj za svaki čvor. Kutije su stvorene za sve što treba prikazati na ekranu. Oni ne predstavljaju 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 više slojeva. Zamišljam to kao stare rukom crtane animacije na nekoliko listova prozirnog papira. To vam omogućuje promjenu jednog sloja bez ponovnog crtanja ostalih.



5) Kombiniranje slojeva u jednu sliku, prethodno primijenivši na njih potrebna svojstva skladatelja (na primjer, transformacije). To je kao da fotografirate slojeve spojene zajedno. Ova slika će se zatim prikazati na ekranu.



To jest, prije početka izračunavanja stilova, unos CSS mehanizma je:

  • DOM stablo
  • Popis stilskih pravila

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


Mislim na to kao na ispunjavanje obrasca u kojem su sva polja obavezna. Morate ispuniti ovaj obrazac za svaki DOM čvor.



Da bi to učinio, CSS mehanizam mora učiniti dvije stvari:

  • Odaberite pravila koja se trebaju primijeniti na čvor (podudaranje selektora)
  • Ispunite sve vrijednosti koje nedostaju standardnim vrijednostima ili naslijedite nadređene vrijednosti (kaskada)

Preslikavanje selektora

Za početak odabiremo sva pravila koja se odnose na čvor na popis. Budući da može postojati više od jednog podudarnog pravila, moguće je više definicija istog svojstva.



Osim toga, sam preglednik dodaje neke standardne stilove (listove stilova korisničkog agenta). Dakle, kako CSS mehanizam određuje koju vrijednost koristiti?


Tu nam u pomoć dolazi "pravilo specifičnosti". CSS mehanizam stvara tablicu definicija koju zatim razvrstava u različite stupce.



Pravilo s najviše specifičnosti pobjeđuje. Na temelju takve tablice, CSS motor upisuje sve vrijednosti postavljene u njoj u obrazac.



Ostatak se izračunava kaskadno.

Kaskadno

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


CSS mehanizam provjerava postoje li prazna polja u obrascu. Ako je svojstvo naslijeđeno prema zadanim postavkama, tada CSS mehanizam ide gore stablom i provjerava je li vrijednost ovog svojstva postavljena na nadređenom elementu. Ako je niti jedan od predaka vrijednosti ne definira ili nije naslijeđena, postavlja se zadana vrijednost.



Dakle, sada su svi stilovi za određeni DOM čvor izračunati, obrazac je ispunjen.

Napomena: Dijeljenje stilskih struktura

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


Umjesto toga, motori obično koriste dijeljenje strukture stila. Oni pohranjuju vrijednosti koje se obično koriste zajedno (kao što su svojstva fonta) u drugom objektu koji se naziva struktura stila. Nadalje, umjesto pohranjivanja svih svojstava u jedan objekt, izračunati stilski objekti 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 stilova za zajednička svojstva. A budući da su mnoga svojstva naslijeđena, roditelj može dijeliti svoju strukturu s bilo kojim podređenim čvorom koji ne nadjačava vlastite vrijednosti.

Dakle, kako ćemo sve to ubrzati?

Ovako izgleda proces proračuna neoptimiziranog stila.



Ovdje se dosta radi. I to ne samo u trenutku prvog učitavanja stranice. I uvijek iznova, dok komunicirate sa stranicom, kada lebdite iznad elemenata ili mijenjate DOM, stilovi se ponovno izračunavaju.



To znači da je izračun CSS stylesheet izvrstan kandidat za optimizaciju... A tijekom posljednjih 20 godina, preglednici su testirali mnoge različite strategije optimizacije. Quantum CSS pokušava kombinirati najbolje od njih kako bi stvorio novi superbrzi mehanizam.


Pogledajmo kako sve to zajedno funkcionira.

Paralelizacija

Projekt Servo (iz kojeg je proizašao Quantum CSS) je eksperimentalni preglednik koji pokušava paralelizirati sve u procesu renderiranja web stranice. Što to znači?


Računalo možete usporediti s mozgom. Postoji element odgovoran za razmišljanje (ALU). U blizini se nalazi nešto poput kratkoročne memorije (registri), potonji su grupirani zajedno na središnjem procesoru. Dodatno postoji dugoročna memorija (RAM).



Rana računala mogla su misliti samo jednu po jednu misao. Ali tijekom proteklih desetljeća procesori su se promijenili, sada imaju nekoliko ALU-ova i registara grupiranih u jezgre. Tako sada procesori mogu razmišljati o nekoliko misli odjednom - paralelno.



Quantum CSS iskorištava ove prednosti odvajanjem stilskih izračuna za različite DOM čvorove u različitim jezgrama.


Možda se čini lako... Samo razdvojite grane stabla i obradite ih na različite jezgre. U stvarnosti je sve puno kompliciranije iz nekoliko razloga. Prvi razlog je taj što su DOM stabla često nejednaka. Odnosno, neke će jezgre dobiti znatno više posla od drugih.



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



Kada jezgra završi sav posao u svom redu čekanja, može potražiti posao u drugim redovima čekanja. Na taj način ravnomjerno raspoređujemo rad bez potrebe za prethodnim ocjenjivanjem prolaskom kroz cijelo stablo.



Ovo će biti teško ispravno implementirati u većini preglednika. Paralelizam je notorno težak zadatak, a CSS mehanizam je sam po sebi prilično složen. Također se nalazi između druga dva najsloženija dijela mehanizma za renderiranje - DOM-a i oznake. Općenito, lako je pogriješiti, a paralelizacija može dovesti do bugova koje je prilično teško uhvatiti, a nazivaju se "utrkama podataka". Detaljnije opisujem ove greške u drugom članku (postoji i prijevod na ruski).


Ako prihvaćate uređivanja od stotina tisuća suradnika, kako možete primijeniti konkurentnost bez straha? Zato imamo Rusta.



Rust vam omogućuje statičku provjeru da nema utrkivanja podataka. To jest, izbjegavate greške koje je teško uhvatiti tako da ih uopće ne dopustite u svoj kod. Kompajler vam to jednostavno ne dopušta. O tome ću više pisati u narednim člancima. Možete i pogledati uvodni video o konkurentnosti u Rustu ili ovaj detaljniji razgovor o "krađi poslova".


Sve to uvelike pojednostavljuje stvar. Sada vas gotovo ništa ne sprječava da paralelno učinkovito implementirate izračune CSS stila. To znači da možemo pristupiti linearnom ubrzanju. Ako je vaš procesor s 4 jezgre, tada će paralelizacija povećati brzinu za gotovo 4 puta.

Ubrzavanje ponovnog izračuna pomoću stabla pravila

Za svaki DOM čvor, CSS mehanizam mora proći kroz sva pravila i izvršiti podudaranje selektora. Za većinu čvorova, odgovarajući birači se vjerojatno neće mijenjati često. Na primjer, ako korisnik prijeđe mišem preko elementa, pravila koja mu odgovaraju mogu se promijeniti. Moramo ponovno izračunati stilove za svu njegovu djecu kako bismo obradili nasljeđivanje imovine. Ali pravila koja odgovaraju tim potomcima vjerojatno se neće promijeniti.


Bilo bi lijepo zapamtiti koja se pravila podudaraju s tom djecom tako da ne morate ponovno podudarati selektore... A stablo pravila, koje dolazi iz prethodnih verzija Firefoxa, čini upravo to.


CSS mehanizam odabire selektore koji odgovaraju elementu i zatim ih sortira prema specifičnosti. Rezultat je povezana lista pravila.


Ovaj popis se dodaje stablu.



CSS mehanizam pokušava minimizirati broj grana u stablu, ponovno ih upotrebljavajući kad god je to moguće.


Ako većina selektora na popisu odgovara postojećoj grani, slijedit će je. Ali može doći do točke u kojoj sljedeće pravilo na popisu ne odgovara pravilu iz postojeće grane. Samo u ovom slučaju stvara se nova grana.



DOM čvor će primiti pokazivač na pravilo koje je posljednje dodano (u našem primjeru, div#upozorenje). To je najkonkretnije.


Prilikom ponovnog izračunavanja stilova, motor izvodi 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. Odnosno, potpuno preskočite podudaranje i sortiranje selektora.



I tako, ovo pomaže uštedjeti vrijeme pri ponovnom izračunavanju stilova, ali početni izračun i dalje je radno intenzivan. Ako postoji 10 000 čvorova, tada se podudaranje selektora mora izvršiti 10 000 puta. Ali postoji način da se i to ubrza.

Ubrzajte početno iscrtavanje pomoću dijeljene predmemorije stila

Zamislite stranicu s tisućama čvorova. Mnogi od njih slijedit će ista pravila. Na primjer, zamislite dugačku Wikipedijinu stranicu... Odlomci glavnog sadržaja trebali bi imati potpuno identična stilska pravila i potpuno identične izračunate stilove.


Bez optimizacija, CSS mehanizam mora uskladiti selektore i izračunati stilove za svaki paragraf zasebno. Ali kad bi postojao način da se dokaže da su stilovi za sve odlomke isti, tada bi motor mogao jednostavno obaviti posao jednom i iz svakog čvora jednostavno pokazati na isti izračunati stil.


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


Provjere su sljedeće:

  • Imaju li 2 čvora isti ID, klase itd. Ako da, pridržavat će se istih pravila.
  • Imaju li isto značenje za sve što nije temeljeno na selektoru (poput ugrađenih stilova). Ako da, gornja pravila neće biti nadjačana ili će biti nadjačana na isti način za oba.
  • Pokazuju li roditelji obaju na isti objekt izračunatih stilova. Ako da, tada će naslijeđene vrijednosti također biti iste.


Te su provjere implementirane u ranim verzijama zajedničke predmemorije stila 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, tada se stilovi dva odlomka možda neće podudarati, čak i ako gore navedene provjere govore drugačije.


WebKit i Blink odustaju u takvim situacijama i ne koriste zajedničku predmemoriju stilova. I kako sve više web stranica koristi ove moderne birače, optimizacija postaje manje korisna, zbog čega ju je Blink tim nedavno u potpunosti uklonio. Ali pokazalo se da je moguće pratiti sva ta ažuriranja i cjelokupnu predmemoriju stilova.


U Quantum CSS-u prikupljamo sve te čudne selektore i provjeravamo primjenjuju li se 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 se točno podudaraju.



Ako DOM čvor može koristiti stilove koji su već izračunati, tada se gotovo sav posao preskače. Stranice često imaju mnogo čvorova s ​​istim stilovima, tako da dijeljena predmemorija stilova štedi memoriju i stvarno ubrzava stvari.


Zaključak

Ovo je prvi veliki prijenos tehnologije sa Serva na Firefox. Naučili smo mnogo o tome kako unijeti moderan Rust kod visokih performansi u jezgru Firefoxa.


Oduševljeni smo što imamo veliki dio Project Quantuma 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 Mozillinom timu za odnose s programerima. Radi s JavaScriptom, WebAssemblyjem, Rustom i Servoom. Crta i stripove kodova.

Oznake: Dodajte oznake

Pozdrav, dragi čitatelji bloga. Danas želim govoriti o takvoj stvari kao što je motor web stranice ili, znanstveno govoreći, CMS (sustav za upravljanje sadržajem).

U biti, radi se o programima za web server koji uvelike pojednostavljuju izradu i održavanje web stranice. Pa, sama web stranica će vam to omogućiti (ako je sami izradite i ne trošite novac na njezinu promociju).

Ako želite dodati svoj resurs ovoj ocjeni, nemojte koristiti odgovarajući gumb s desne strane iznad tablice.

Usput, 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 poveznicu u koloni “Radovi”.

Ovako otprilike izgleda statistika na motorima koje koriste korisnici RuNeta (ovdje ne samo Joomla, nego općenito svi popularni CMS-ovi) u kontekstu toga koja se verzija CMS-a koristi - nova ili zastarjela:

Na Joomli se, uz redovne web stranice, stvara dosta, zahvaljujući postojećem proširenju trgovine pod nazivom .

Vjerojatno je najlakši besplatni motor za naučiti WordPress. Naravno, uglavnom se koristi za prilično usku nišu (stvaranje i uvođenje blogova), ali po želji se može 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 korišteni motor i njegova verzija moraju biti skriveni, sudeći prema gore navedenom savjetu Yandexa). Pisao sam i nastavljam pisati o suptilnostima i nijansama rada s ovim motorom u odjeljku io proširenjima za njega u odjeljku.

Sudeći prema CMS grafikonu brzine iznad, WordPress se utrkuje, ali ja to osobno nisam osjetio. Općenito, WordPress može raditi brzo bez stvaranja nečuvenog . Istina, ovo će potrajati malo vremena, ali vaš blog može postati vrlo brz i vrlo jednostavan. O povećanju sam pisao u istoimenoj rubrici.

Sada je moj blog hostiran i uz opterećenje od 20-25 tisuća posjetitelja dnevno, još uvijek sam zadovoljan brzinom WordPressa, posebno nakon dovršetka predloška i optimizacije svega što se može optimizirati. Iako, korištenjem velikog broja dodataka, bez i bez dodatne optimizacije, WordPress postaje prilično teško čudovište.

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

Koji su plaćeni motori najzanimljiviji?

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

S.Builder je dosta fleksibilan i s njim možete gotovo sve, ali recimo za razliku od Drupala (koji također može gotovo sve), sa S.Builderom sve to možete napraviti bez da uopće ulazite u kod (postoji moćan dizajner modula prema vašim potrebama).

Pa, kao što sam već spomenuo, ovaj CMS je jedan od najbržih motora i dosta dobro drži opterećenje, iako je također napisan u PHP-u. To je najvjerojatnije zbog dobre čistoće koda (napisan je od nule) i dobrih performansi predmemoriranja.

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, sa stranice "Preuzmi CMS" možete preuzeti potpuno funkcionalnu i potpuno besplatnu offline verziju ovog motora (kao da jeste) - "Probna verzija CMS-a za instalaciju na lokalno računalo."

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

p.s. Ponekad želiš znati na kojem motoru radi ova ili ona stranica?. Ispada da se to može učiniti vrlo jednostavno i elegantno. U članku sam upravo spomenuo takav dodatak - Wappalyzer. Jako zanimljiva stvar.

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

Najbolji CMS sustavi

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

Prva vrsta motora stvorena je s ciljem ostvarivanja dobiti od prodaje licenci i dodataka. Ovi sustavi prednjače u kvaliteti rada i popularnosti. Gotovo svi korisni moduli se plaćaju. Poduzetnici početnici ne mogu si uvijek priuštiti kupnju najboljeg CMS-a na komercijalnoj osnovi. Za njih su stvoreni besplatni motori.

Sustav "1C-Bitrix"

Ova platforma je najbolji CMS za online trgovinu. Zašto je postala toliko popularna? Motor radi s opsežnom 1C bazom podataka. Po želji, korisnik može postaviti bonus programe za kupce i odrediti različite stope za pravne osobe. Platforma se koristi za izradu velikih portala, informacijskih izvora, kao i drugih servisa.

Web stranice izrađene na ovom CMS-u ističu se među ostalim stranicama kvalitetom rada, velikim brojem dodatnih modula, pouzdanom zaštitom od hakerskih napada te mogućnošću dijeljenja prava između više administratora. Sustav zahtijeva značajna ulaganja. Stoga se preporuča korištenje platforme 1C-Bitrix isključivo za izradu velikih projekata.

Magento

Ovaj sustav je najbolji CMS za online trgovinu među besplatnim proizvodima. Više od 150 tisuća web stranica na internetu kreirano je pomoću ovog motora. Platforma je dostupna u tri izdanja. Izdanje zajednice je besplatno. Administratorska ploča je vrlo zgodna.

Ako želite, možete razlikovati prava korisnika. Sučelje na ruskom. Odgovore na svoja pitanja možete pronaći u zajednici programera. Korisnik ima pristup opcijama za generiranje detaljnih izvješća i dodavanje kupona za popust. Klijent može raditi s bazom podataka 1C.

Proizvodi se uvoze u Yandex.Market. Postoje različiti filtri proizvoda. Ako želite, možete slati reklamne poruke kupcima i povezati društvene mreže. Programeri nude klijentima stvaranje affiliate programa za svoju internetsku trgovinu. Administrator može upravljati s više projekata s jednog računa.

Nedostaci Magenta

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

Motor troši veliku količinu resursa poslužitelja. Platforma bi se trebala koristiti samo za stvaranje velikih internetskih trgovina. Moduli korisni za e-trgovinu se plaćaju. Neki od njih su znatno precijenjeni.

Joomla

Platforma je na trećem mjestu na ljestvici. Proizvod se ističe kvalitetom. Ako korisnik traži najbolji CMS motor, onda bi trebao obratiti pozornost na Joomlu. Klijent može proširiti opsežni skup alata uz pomoć dodatnih modula i dodataka. Osigurana je visoka sigurnost rada s uslugom.

Korisnik ima pristup opcijama za povezivanje višerazinske autorizacije za administratore i podjelu prava moderatora. Promjena izgleda stranice provodi se pomoću gotovog predloška iz opsežnog kataloga. Ako želite, možete izraditi prilagođeni izgled. Mnogi klijenti vjeruju da je ovo najbolji CMS za trgovinu jer vam omogućuje prilagodbu mnogih elemenata. Web stranice temeljene na ovom motoru imaju fleksibilnu strukturu.

Dodatne komponente za Joomla

Programeri neprestano objavljuju ažuriranja. U početku je platforma stvorena za korporativne web resurse, blogove i stranice s posjetnicama. Sada mehanizam radi s internetskim trgovinama i društvenim platformama. Da biste dodali proizvode na stranicu, morate preuzeti dodatnu komponentu. Najčešće skripte su VirtueMart i JoomShopping.

Ako je potrebno, postavljaju se dodatni moduli. Koristeći VirtueMart, korisnik može integrirati web mjesto s bazom podataka 1C, povezati popularne sustave plaćanja i konfigurirati uvoz / izvoz proizvoda. Dodatna komponenta prikladna je za pokretanje malih i srednjih internetskih trgovina. VirtueMart se ne koristi pri izradi velikih portala jer nema potrebne funkcije i odgovarajući sigurnosni sustav.

Drupal

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

Motor je prikladan za velike online trgovine i zajednice. U drugim slučajevima troškovi neće biti opravdani. Za korištenje platforme morate instalirati Ubercart. Ova dodatna komponenta praktički se 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 lakši za naučiti i prilagoditi od Drupala.

MODX

Ova platforma može raditi na gotovo svim poslužiteljima i komunicirati s različitim preglednicima. Softver se distribuira pod licencom. Motor se koristi za izradu web stranica raznih vrsta. Platforma je također okruženje za razvoj aplikacija. Nije zahtjevan prema resursima poslužitelja.

Instaliranje i konfiguriranje motora nije teško. Nedostaci uključuju nisku prevalenciju u zemljama ZND-a i nedostatak potrebnih funkcija za pokretanje punopravne internetske trgovine na tim teritorijima. Mnogi korisnici navode da pri radu s motorom nastaju problemi sa sigurnošću web resursa.

OpenCart

Komercijalni ili potpuno besplatni CMS - što je bolje? Platforma OpenCart primjer je kako besplatni softver može premašiti najluđa očekivanja kupaca. Ovaj motor je najprikladnije rješenje za male projekte. Platforma se lako instalira i konfigurira. Motor nije zahtjevan prema resursima poslužitelja.

Korištenjem ogromnog broja modula, svojoj online trgovini možete dodati gotovo sve potrebne funkcije. Programeri iz zajednice ruskog govornog područja pomoći će u rješavanju problema koji se mogu pojaviti. Ako želite, možete koristiti ugrađeni instalater modula. U početku platforma nije bila usmjerena 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 dostave te dodali razne filtere. Najpopularniji sklopovi uključuju ocStore i MaxyStore. Klijent uvijek može kreirati vlastitu verziju od potrebnih dodataka. Korisnik ima pristup funkciji određivanja ključnih riječi i meta oznaka za svaki proizvod zasebno. Nedostaci uključuju zamrzavanje sustava kada postoji veliki broj proizvoda, kao i visoku cijenu mnogih modula.

PrestaShop

Programeri su kreirali ovu platformu 2007. Motor je prikladan za male i srednje internetske trgovine. Baš kao i OpenCart, PrestaShop platforma ima impresivnu funkcionalnost. Za rad s ruskim sustavima plaćanja morat ćete dodati dodatne module. Motor apsolutno nije zahtjevan prema resursima poslužitelja.

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

UMI.CMS

Platforma se odlikuje responzivnim dizajnom i ekonomičnošću. Klijent može odabrati jezik s kojim će raditi, postaviti teme predložaka i pratiti statističke informacije kao što su podaci temeljeni na prosječnom računu.

WordPress

Nastavljajući temu "najbolji CMS", trebali bismo spomenuti ovaj motor. Platforma je jednostavna, razumljiva, ali u isto vrijeme funkcionalna. Za upravljanje motorom nije potrebno tehničko znanje. Čak će i profesionalci biti zadovoljni jednostavnim sučeljem. Odgovore na svoja pitanja možete pronaći u uputama.

Platforma je stvorena za blogove, izvore vijesti i druge portale gdje je potrebno brzo dodavanje informacija. Dodaci za proširenje funkcionalnosti mogu se kupiti po pristupačnoj cijeni. Programeri nude više od 10 dodatnih komponenti za stvaranje internetske trgovine pomoću motora WordPress. Najpopularniji je dodatak WooCommerce. Vrlo je teško pokrenuti punopravnu internetsku trgovinu na temelju toga.

Ne možete dodati više od 100 kartica proizvoda koje ne zahtijevaju ažuriranje. Platformu je lako naučiti. Sustav je prikladan za početnike koji imaju blog na WordPress web stranici. Među nedostacima treba istaknuti nedostatak integracije s 1C, ruskim sustavima plaćanja i uslugama dostave. Nakon instaliranja dodatka može doći do sukoba s predloškom.

NetCat

Platforma pruža mogućnost u mobilnoj verziji. Podržan responzivni dizajn. Najbolji CMS trebao bi imati dobru funkcionalnost za promociju tražilice i integraciju web stranice s korisnim uslugama. Ovaj motor ispunjava sve zahtjeve. Sučelje je intuitivno.

Platforma radi s bazom podataka 1C i elektroničkim sustavima plaćanja. Pri radu s platformom nema potrebe za korištenjem složenih tehnoloških rješenja. Sučelje se može podijeliti na dva: za korisnike i za programere.

HostCMS

Motor nije zahtjevan za hosting i servere. Ova platforma je najbolji CMS za SEO. Korisnik ima opcije za stvaranje kratkih adresa stranica, određivanje meta oznaka, itd. Motor radi odlično s web resursima s velikim prometom. Platforma radi s 1C sustavom.

Cijena licence je 6 tisuća rubalja. Klijent dobiva prilično funkcionalnu platformu s mogućnošću proširenja funkcionalnosti instaliranjem dodatnih modula.

CS-košarica

Prilikom odabira najboljeg CMS-a, mnogi korisnici primjećuju prednosti ovog motora. Kreatori softvera klijentima nude širok raspon alata. Platforma se odlikuje prikladnom organizacijom internetskog marketinga, dobrim oblikom rada s narudžbama, SEO optimizacijom resursa, integracijom s 1C i uslugom Yandex.Market. Korisnik ima pristup opcijama za izradu prilagodljivog dizajna i jednostavnog dodavanja materijala.

Amiro.CMS

Ova platforma se naziva univerzalnom. Motor je prikladan za stvaranje profesionalnih resursa različitih razina složenosti. Programeri nude više od 60 dodatnih modula koji proširuju funkcionalnost. Korisnik može pokrenuti visokokvalitetnu web stranicu gotovo bilo koje vrste.

LPgenerator

Mrežni generator web stranica izvrsno je rješenje za početnike i stručnjake. Pomoću motora možete izraditi web stranicu posjetnice ili malu trgovinu. Neki korisnici jednostavno dodaju materijale kako bi predstavili proizvod/uslugu. Klijenti mogu iskoristiti pogodan uređivač, kao i stotine predložaka u LPStoreu.

Korisnik ima mogućnosti povezivanja nove domene i sinkronizacije stranice s korisnim servisima. Po želji, izgledi se mogu preurediti. Programeri također pružaju alate za SEO optimizaciju.

HTML5 zajedno s CSS3 i JavaScriptom pruža programerima široke mogućnosti za stvaranje igara koristeći 3D, animaciju, Canvas, matematiku, boje, zvuk, WebGL. Jedna od najočitijih prednosti HTML5 je njegova neovisnost o platformi i, općenito, o hardveru.

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 uređivač 2D razine i alate za uklanjanje pogrešaka.

Pretpostavlja se da većina motora služi za smanjenje vremena potrebnog za razvoj cjelovite igre. Međutim, mnogi programeri radije stvaraju svoj projekt potpuno od nule kako bi bolje predstavili njegovu strukturu. Malo je JavaScript-HTML5 motora koji su uistinu vrijedni truda, ali mogu imati i jedan veliki nedostatak: više nisu podržani ili su blizu ukidanja. Stoga, pri odabiru motora, odaberite one proizvode čija će podrška trajati dosta dugo.

Dakle, ovdje su zapravo sami motori.

Lukavo

Idealno za implementaciju 2D sprite arkadnih igara u retro stilu i zagonetki poput Sudokua. Ima petlju igre spremnu za korištenje. Podržani miš i tipkovnica. Dobro je dokumentiran, a jedini nedostatak može se smatrati nedostatkom zvučne podrške.

ličiJS

Otvoreni kod za više preglednika, u potpunosti napisan u JavaScriptu. Izgrađen od temelja da bude što je moguće fleksibilniji, ima opsežan API i koristi najnovije značajke modernih preglednika. Ovaj okvir je dizajniran da radi sve za vas: vašu ideju - njenu implementaciju pomoću najčešće korištenih alata.

GameJS

Za izradu stranice koriste se JavaScript i CSS. Zajedno djeluju prilično sigurno i skladno. Dizajniran za početnike koji uče osnove programiranja videoigara. Bit će vam lakše ako već imate neke CSS vještine.

ClanFX

2D HTML5 grafički mehanizam u JavaScriptu prenesen s iPhonea. Omogućuje vam brzo stvaranje 2D igara i grafičkih aplikacija koje se mogu izvoditi na svim modernim uređajima bez instaliranja dodatnih dodataka.