Gratis spelmotorer i HTML5 och JavaScript. Gratis HTML5- och JavaScript-spelmotorer Snabba upp den initiala renderingen med en delad stilcache

Artikeln uppdaterades den 18 januari 2018 och är helt aktuell.
Nästan varje nybörjare ställs inför frågan om att välja ett CMS för sin webbplats eller blogg. Detta är förståeligt, eftersom det är omöjligt att veta allt i förväg. Och det har redan dykt upp en hel del olika innehållshanteringssystem. Denna recension innehåller endast gratislösningar. De är inte på något sätt sämre än sina betalda motsvarigheter och jämför ibland till och med positivt med dem. När allt kommer omkring är det mycket lättare att göra ändringar i öppen källkod, därför åtgärdas alla upptäckta sårbarheter snabbare. Och även alla nya och djärva idéer dyker upp här först.

Till att börja med bör vi villkorligt dela upp systemen efter deras fokus. Det finns CMS designat exklusivt för att skapa bloggar, samt mer flexibla system som låter dig skapa fullfjädrade webbplatser och medieportaler. Samtidigt kan bloggsystem utformas för att skapa en hel serie projekt, till exempel för ett helt företag. Det är också värt att notera utvecklingsperioden för plattformen (ju längre den är, desto bättre är systemet utvecklat och innehåller färre fel), närvaron av en gemenskap (det hjälper om det uppstår svårigheter med att installera, felsöka eller använda systemet) , prestanda (alla system är inte lämpliga för högbelastningsprojekt). så, låt oss nu titta på varje CMS mer i detalj.

Officiell sida.

Detta är en av de ganska gamla och väl beprövade motorerna. Det är bra för e-handel och försäljning av produkter online. Många plugins, som VirtueMart, låter dig öppna en butik mycket snabbt och på kort tid. Det är sant att för att förstå allt från början måste du spendera lite tid på att läsa manualer, läsa dokumentation och forum. Som tur är har Joomla mycket bra support och en enorm community på flera språk, inklusive ryska.

Fördelarna med systemet inkluderar närvaron av följande funktioner "out of the box":

  • användarautentisering, inklusive genom OpenID;
  • visuell artikelredigerare;
  • bekväm filhantering;
  • kommentarssystem och skydd mot spam i dem;
  • ansvarig för plugins och tillägg.

Faktum är att det finns många fler fördelar, det är väldigt svårt att bara lista dem alla i en artikel. Det är därför det har en ledande position inom CMS-betyg och toppar. Men det finns några nackdelar: tack vare dess flexibilitet och många inställningar måste en nybörjare spendera mer än en dag på att förstå all denna mångfald. Dessutom kan dess funktionalitet vara överflödig för många enkla visitkortsajter. Men det är lämpligt för nätbutiker och produktvisningar.

TYPO3

Officiell sida.

För inte så länge sedan började ett ganska gammalt CMS, TYPO3, bli populärt på Internet, och nu är det fast förankrat i TOP 5. Webbplatsstrukturen här representeras av ett träd med sidor. Var och en av dem kan innehålla standardinnehållselement: text, bilder, tabeller, etc. Detta innehållshanteringssystem bygger på mallar som du antingen kan ladda ner färdiga eller skriva själv i TypoScript.

Fördelar med TYPO3:

  • förmågan att finjustera användarrättigheter;
  • lätt att underhålla flera platser samtidigt;
  • förmåga att använda tillägg från TER (TYPO3-tilläggsförråd);
  • höga säkerhetskrav;
  • avancerad textredigerare med stavningskontroll, förhandsgranskning, ändringshistorik.

Nackdelar med detta system:

  • svårigheten att redigera webbplatsens struktur med hjälp av en mallmotor;
  • långsam rendering av stora sidor med varierat innehåll (tabeller, bilder);
  • få färdiga lösningar för nätbutiker

Rekommenderas för användning inom stora industriföretag och banker. Det kommer sannolikt inte att vara lämpligt för unga och små platser, eller så kommer kostnaderna för utveckling och stöd att vara oproportionerliga i förhållande till nyttan med användningen.

Drupal

Officiell sida.

Det är också ett mycket populärt och utbrett CMS, som används för att skapa webbplatser av mycket stora företag, till exempel Sony Music. De väljer Drupal på grund av dess breda utbud av funktioner för att bygga både interna och externa webbplatser för företagsnätverket. Det finns en enorm databas med verktyg för att hantera en enda användarbas. Väl lämpad för att organisera ett system av bloggar och forum. Drupal har en mycket aktiv utvecklargemenskap, en enorm kunskapsbas och ett liveforum. Du kan enkelt hitta svar på frågor om installation och driftsättning av webbplatser och moduler.

Fördelar med Drupal:

  • utmärkt stöd från användar- och utvecklargemenskapen;
  • mer än 6000 moduler som underlättar utökad funktionalitet;
  • Hantera enkelt användarrättigheter, skapa gemensamma bloggar och forum.

Nackdelar med systemet:

  • kan vara alltför komplicerat för enkla webbplatser;
  • total avsaknad av vackra och funktionella teman;
  • svårt att lära sig för en outbildad användare.

För visitkortswebbplatser rekommenderas det kategoriskt inte att välja detta CMS, men för att organisera medelstora och stora portaler där användare lägger till sitt material och kommenterar det är Drupal lämplig som ingen annan.

MODX

Officiell sida.

En av de yngsta CMS (utveckling har pågått sedan 2004), som dök upp i början av bildandet av den så kallade Web 2.0. Tanken var att involvera användare i att redigera och lägga till innehåll på sajten. Till exempel att skriva recensioner, recensioner och till och med hela artiklar. Därför finns det ett bra användarregistreringssystem, webbplatssökning med AJAX (utan att ladda om sidan), du kan snabbt utöka nyhetsflödet och en samlad blogg. Nackdelar inkluderar frekventa problem med rysk kodning, som inte har lösts helt, även om de dök upp för länge sedan; brist på färdiga moduler och lösningar för att organisera ett galleri, forum eller elektronisk butik.

WordPress

Officiell sida.

Om någon fortfarande tvivlar på att WordPress länge har vuxit ur "bloggsystemet"-stadiet, bör dessa tvivel kastas åt sidan. Ett stort utbud av webbplatser utvecklas på detta CMS, inklusive sociala nätverk, företagswebbplatser, onlinebutiker och produktvisningar, forum, såväl som enkla visitkortsajter.

Tack vare tusentals färdiga teman, plugins och till och med färdiga sammansättningar för olika behov tar WordPress en välförtjänt plats i TOP 5. Det finns en aktiv community av utvecklare som genererar lektioner och informationsmaterial.

Fördelar med WordPress:

  • stor utvecklargemenskap och välstrukturerad dokumentation;
  • tusentals gratis plugins och teman för webbplatsen;
  • bekväm adminpanel.

Nackdelar med WordPress

  • startfunktionen omedelbart efter installationen är ganska blygsam, du måste komplettera den med minst 4-5 plugins;
  • Efter en enkel installation behövs vissa säkerhetsförbättringar.

Faktum är att detta är ett av de enklaste och mest nybörjarvänliga systemen. Det låter dig skapa hemsidor utan att förstå något om programmering (läs min). Rekommenderas varmt som ditt första CMS. I framtiden, om dess funktionalitet visar sig vara begränsad för dig, kan du enkelt överföra webbplatsen till en annan motor som du väljer.
[I de flesta fall är de översta upptagna av dessa 5 CMS, som jag granskade i den här artikeln.

När du svarar på frågan "vilket CMS du ska välja för en webbplats", bör du vara uppmärksam på att populära motorer ständigt attackeras. Deras kod är öppen för användning av alla, inklusive inte helt ärliga människor som kan leta efter sårbarheter i den och använda dem för sina egna själviska syften. Faran kan undvikas om du snabbt uppdaterar motorn till den senaste versionen. Samtidigt, om du använder ett mindre vanligt innehållshanteringssystem och om svårigheter uppstår, kanske du inte har någonstans att hitta hjälp och kan bara lita på dig själv. Ta även hänsyn till denna faktor. Lycka till!

Hej, Habr! Jag presenterar för din uppmärksamhet en översättning av artikeln Inuti en supersnabb CSS-motor: Quantum CSS (aka Stylo) av Lyn Clark.


Du kanske har hört talas om Project Quantum... Detta är ett projekt för att avsevärt omarbeta Firefox internt för att påskynda webbläsaren. Bit för bit implementerar vi utvecklingen av vår experimentella Servo-webbläsare och förbättrar avsevärt andra delar av motorn.


Projektet jämfördes med att ersätta en flygplansmotor i farten. Vi gör ändringar i Firefox komponent för komponent, så du kan utvärdera deras effekt i nästa version av webbläsaren så snart den är klar.



Notera översättare: det finns många illustrationer under snittet. Alla är klickbara (för visning i högre upplösning). Om du stöter på felaktigheter i översättningen och andra fel är jag tacksam om du rapporterar detta i kommentarerna eller i ett personligt meddelande.


Och den första stora komponenten från Servo - den nya CSS-motorn Quantum CSS (tidigare känd som Stylo) - är nu tillgänglig för testning i den nattliga versionen av Firefox (översättarens anmärkning: i kommentarerna föreslog de att den redan är i stabil 55). Alternativet layout.css.servo.enabled i about:config är ansvarigt för att aktivera det.


Den nya motorn förkroppsligar de bästa innovationerna från andra webbläsare.



Quantum CSS drar fördel av modern hårdvara genom att parallellisera arbetet över alla processorkärnor, vilket resulterar i hastigheter på upp till 2, 4 eller till och med 18 gånger.


Dessutom kombinerar den moderna optimeringar från andra webbläsare, så även utan parallellisering är den väldigt snabb.



Men vad exakt gör en CSS-motor? Låt oss först titta på vad en CSS-motor är i allmänhet och vad dess plats är i webbläsaren, och sedan ska vi titta på hur Quantum CSS snabbar upp det hela.

Vad är en CSS-motor?

CSS-motorn är en del av webbläsarens renderingsmotor. Återgivningsmotorn tar webbplatsens HTML- och CSS-filer och förvandlar dem till pixlar på skärmen.



Varje webbläsare har en renderingsmotor. Chrome har Blink, Edge har EdgeHTML, Safari har WebKit och Firefox har Gecko.


För att smälta filer till pixlar gör de alla ungefär samma sak:


1) Analysera filer till webbläsbara objekt, inklusive DOM. I det här skedet känner DOM till sidans struktur, känner till överordnade relationer mellan element, men vet inte hur dessa element ska se ut.



2) Bestämma utseendet på element. För varje DOM-nod räknar CSS-motorn ut vilka CSS-regler som ska tillämpas. Sedan definierar den ett värde för varje CSS-egenskap. Stilar varje nod i DOM-trädet genom att bifoga de beräknade stilarna.



3) Bestäm dimensionerna och positionen för varje nod. Lådor skapas för allt som ska visas på skärmen. De representerar inte bara DOM-noder, utan också vad som kan finnas inuti dem. Till exempel textrader.



4) Ritblock. Det kan förekomma på flera lager. Jag föreställer mig det som gamla handritade animationer på flera ark genomskinligt papper. Detta gör att du kan ändra ett lager utan att behöva rita om de andra.



5) Kombinera lager till en bild, efter att tidigare ha applicerat de nödvändiga kompositöregenskaperna på dem (till exempel transformationer). Det är som att ta ett fotografi av lager kombinerade. Denna bild kommer sedan att visas på skärmen.



Det vill säga, innan man börjar beräkna stilar är inmatningen av CSS-motorn:

  • DOM-träd
  • Lista över stilregler

Och så definierar den stilar för varje DOM-nod i tur och ordning, en efter en. Ett värde tilldelas varje CSS-egenskap, även om den inte är inställd i stilmallar.


Jag ser det som att fylla i ett formulär där alla fält är obligatoriska. Du måste fylla i detta formulär för varje DOM-nod.



För att göra detta måste CSS-motorn göra två saker:

  • Välj reglerna som ska tillämpas på noden (väljarmatchning)
  • Fyll i alla saknade värden med standardvärden eller ärv överordnade värden (kaskaden)

Väljarmappning

Till att börja med väljer vi alla regler som gäller för noden i en lista. Eftersom det kan finnas mer än en matchningsregel är flera definitioner av samma egenskap möjliga.



Dessutom lägger webbläsaren själv till några standardstilar (stilmallar för användaragenter). Så hur avgör CSS-motorn vilket värde som ska användas?


Det är här "specificitetsregeln" kommer till vår hjälp. CSS-motorn skapar en tabell med definitioner, som den sedan sorterar i olika kolumner.



Regeln med mest specificitet vinner. Baserat på en sådan tabell matar CSS-motorn in alla värden som anges i den i formuläret.



Resten beräknas genom kaskad.

Cascading

Cascading gör CSS lättare att skriva och underhålla. Tack vare det kan du ställa in färgegenskapen för body , och veta att textfärgen i elementen p , span , li kommer att vara densamma (om du inte åsidosätter den själv).


CSS-motorn söker efter tomma fält i formuläret. Om en egenskap ärvs som standard, går CSS-motorn upp i trädet och kontrollerar om värdet för den här egenskapen är satt på det överordnade elementet. Om ingen av värdets förfäder definierar det, eller om det inte ärvs, ställs standardvärdet in.



Så nu har alla stilar för en given DOM-nod beräknats, formuläret är ifyllt.

Obs: Dela stilstrukturer

Formen som beskrivs är något förenklad. CSS har hundratals egenskaper. Om CSS-motorn lagrade värdet för varje egenskap för varje DOM-nod skulle den snabbt använda allt tillgängligt minne.


Istället använder motorer vanligtvis stilstrukturdelning. De lagrar värden som vanligtvis används tillsammans (som typsnittsegenskaper) i ett annat objekt som kallas en stilstruktur. Dessutom, istället för att lagra alla egenskaper i ett objekt, innehåller beräknade stilobjekt endast en pekare. För varje egenskapskategori finns det en pekare till en stilstruktur med de nödvändiga värdena.



Detta sparar både minne och tid. Noder med liknande stilar kan helt enkelt peka på samma stilstrukturer för vanliga egenskaper. Och eftersom många egenskaper ärvs kan föräldern dela sin struktur med alla underordnade noder som inte åsidosätter sina egna värden.

Så hur snabbar vi upp det hela?

Så här ser en icke-optimerad stilberäkningsprocess ut.



Det pågår ganska mycket arbete här. Och inte bara i det ögonblick som sidan först laddas. Och gång på gång, när du interagerar med sidan, när du håller muspekaren över element eller ändrar DOM, räknas stilar om.



Detta betyder att CSS-stilmallsberäkning är en utmärkt kandidat för optimering... Och under de senaste 20 åren har webbläsare testat många olika optimeringsstrategier. Quantum CSS försöker kombinera det bästa av dem för att skapa en ny supersnabb motor.


Låt oss titta på hur det hela fungerar tillsammans.

Parallellisering

Servo-projektet (från vilket Quantum CSS kom) är en experimentell webbläsare som försöker parallellisera allt i webbsidans renderingsprocessen. Vad betyder det?


Du kan jämföra en dator med en hjärna. Det finns ett element som ansvarar för tänkandet (ALU). I närheten av den finns något som liknar korttidsminne (register), de senare är grupperade på den centrala processorn. Dessutom finns det långtidsminne (RAM).



Tidiga datorer kunde bara tänka en tanke åt gången. Men under de senaste decennierna har processorerna förändrats, nu har de flera ALU:er och register grupperade i kärnor. Så nu kan processorer tänka flera tankar samtidigt – parallellt.



Quantum CSS drar fördel av dessa fördelar genom att separera stilberäkningar för olika DOM-noder över olika kärnor.


Det kan verka enkelt... Dela bara trädets grenar och bearbeta dem på olika kärnor. I verkligheten är allt mycket mer komplicerat av flera skäl. Den första anledningen är att DOM-träd ofta är ojämna. Det vill säga att vissa kärnor kommer att få betydligt mer arbete än andra.



För att fördela arbetet jämnare använder Quantum CSS en teknik som kallas arbetsstöld. När en DOM-nod bearbetas tar programmet sina direkta barn och delar upp dem i en eller flera "arbetsenheter". Dessa arbetsenheter står i kö.



När en kärna har slutfört allt arbete i sin kö kan den söka arbete i andra köer. På så sätt fördelar vi arbetet jämnt utan behov av förhandsutvärdering genom att passera hela trädet.



Detta kommer att vara svårt att implementera korrekt i de flesta webbläsare. Parallellism är en notoriskt svår uppgift, och CSS-motorn är ganska komplex i sig. Den sitter också mellan de andra två mest komplexa delarna av en renderingsmotor - DOM och markup. I allmänhet är det lätt att göra ett misstag, och parallellisering kan leda till ganska svårfångade buggar som kallas "dataraces". Jag beskriver dessa buggar mer detaljerat i en annan artikel (det finns också en översättning till ryska).


Om du accepterar redigeringar från hundratusentals bidragsgivare, hur kan du tillämpa samtidighet utan rädsla? Det är därför vi har Rust.



Rust låter dig statiskt verifiera att det inte finns några dataraser. Det vill säga att du undviker svårfångade buggar genom att inte släppa in dem i din kod i första hand. Kompilatorn tillåter dig helt enkelt inte att göra detta. Jag kommer att skriva mer om detta i kommande artiklar. Du kan också titta introduktionsvideo om samtidighet i Rust eller den här en mer detaljerad konversation om "jobbstöld".


Allt detta förenklar saken avsevärt. Nu finns det nästan ingenting som hindrar dig från att implementera CSS-stylingberäkningar effektivt parallellt. Det betyder att vi kan närma oss linjär acceleration. Om din processor är 4-kärnig kommer parallellisering att öka hastigheten med nästan 4 gånger.

Accelererar omräkning med hjälp av ett regelträd

För varje DOM-nod måste CSS-motorn gå igenom alla regler och utföra väljarmatchning. För de flesta noder kommer motsvarande väljare sannolikt inte att ändras särskilt ofta. Till exempel, om användaren för musen över ett element, kan reglerna som motsvarar det ändras. Vi måste räkna om stilarna för alla dess barn för att hantera egendomsarv. Men reglerna som motsvarar dessa ättlingar kommer troligen inte att ändras.


Det skulle vara trevligt att komma ihåg vilka regler som matchar dessa barn så att du inte behöver matcha väljarna igen... Och regelträdet, som kommer från tidigare versioner av Firefox, gör just det.


CSS-motorn väljer väljare som matchar elementet och sorterar dem sedan efter specificitet. Resultatet är en länkad lista med regler.


Denna lista läggs till i trädet.



CSS-motorn försöker minimera antalet grenar i trädet och återanvänder dem när det är möjligt.


Om de flesta av väljarna i listan matchar en befintlig gren kommer den att följa den. Men det kan nå en punkt där nästa regel i listan inte matchar en regel från en befintlig gren. Endast i detta fall skapas en ny gren.



DOM-noden kommer att få en pekare till regeln som lades till sist (i vårt exempel, div#warning). Det är det mest specifika.


Vid omräkning av stilar utför motorn en snabb kontroll för att se om en förändring i reglerna för det överordnade elementet kan påverka reglerna för de underordnade elementen. Om inte, då för alla barn, kan motorn helt enkelt använda en pekare till motsvarande regel i trädet. Det vill säga hoppa över väljarmatchning och sortering helt.



Och så, detta hjälper till att spara tid vid omräkning av stilar, men den initiala beräkningen är fortfarande arbetskrävande. Om det finns 10 000 noder måste väljarmatchning göras 10 000 gånger. Men det finns ett sätt att påskynda detta också.

Snabba upp den initiala renderingen med en delad stilcache

Föreställ dig en sida med tusentals noder. Många av dem kommer att följa samma regler. Föreställ dig till exempel en lång Wikipedia-sida... Huvudinnehållsstyckena bör ha absolut identiska stilregler och helt identiska beräknade stilar.


Utan optimeringar måste CSS-motorn matcha väljare och beräkna stilar för varje stycke separat. Men om det fanns ett sätt att bevisa att stilarna för alla stycken var desamma, så kunde motorn helt enkelt göra jobbet en gång, och från varje nod helt enkelt peka på samma beräknade stil.


Detta är vad en generisk regelcache gör, med inspiration från Safari och Chrome. Efter bearbetning av elementet lagras den beräknade stilen i cachen. Därefter, innan man börjar beräkna stilarna för nästa element, utförs flera kontroller för att se om något från cachen kan användas.


Kontrollerna är följande:

  • Har 2 noder samma ID, klasser osv. Om ja, kommer de att följa samma regler.
  • Har de samma betydelse för allt som inte är väljarbaserat (som inline-stilar). Om ja, kommer ovanstående regler inte att åsidosättas, eller kommer att åsidosättas på samma sätt för båda.
  • Pekar föräldrarna till båda på samma objekt för de beräknade stilarna. Om ja, kommer de ärvda värdena också att vara desamma.


Dessa kontroller implementerades i tidiga versioner av den delade stilcachen från allra första början. Men det finns många små situationer där stilarna inte kommer att matcha. Till exempel, om en CSS-regel använder:first-child-väljaren, kanske stilarna i två stycken inte matchar, även om kontrollerna ovan säger något annat.


WebKit och Blink ger upp i sådana situationer och använder inte en vanlig stilcache. Och eftersom fler webbplatser använder dessa moderna väljare, blir optimeringen mindre användbar, vilket är anledningen till att Blink-teamet nyligen tog bort det helt. Men det visar sig att det går att hänga med i alla dessa uppdateringar och den övergripande stilcachen.


I Quantum CSS samlar vi alla dessa konstiga väljare och kontrollerar om de gäller för en DOM-nod. Vi lagrar sedan resultatet av denna kontroll som ettor och nollor för varje sådan väljare. Om två element har en identisk uppsättning av ettor och nollor, vet vi att de är en exakt matchning.



Om en DOM-nod kan använda stilar som redan har beräknats, hoppas nästan allt arbete över. Sidor har ofta många noder med samma stilar, så en delad stilcache sparar minne och påskyndar verkligen saker och ting.


Slutsats

Detta är den första stora tekniköverföringen från Servo till Firefox. Vi har lärt oss mycket om hur man tar in modern, högpresterande Rust-kod i Firefox-kärnan.


Vi är glada över att ha en stor del av Project Quantum redo för betaanvändning. Vi kommer att vara tacksamma om du provar det och, vid fel, rapporterar dem.

Om Lyn Clark

Lin är ingenjör i Mozilla Developer Relations-teamet. Det fungerar med JavaScript, WebAssembly, Rust och Servo. Han ritar också kodteckningar.

Taggar: Lägg till taggar

Hej kära läsare av bloggsidan. Idag vill jag prata om något sådant som en webbplatsmotor eller, vetenskapligt sett, ett CMS (content management system).

I huvudsak är dessa program för en webbserver som avsevärt förenklar skapandet och underhållet av en webbplats. Tja, webbplatsen i sig tillåter dig (om du skapar den själv och inte spenderar pengar på marknadsföringen).

Om du vill lägga till din resurs till detta betyg, använd då inte motsvarande knapp till höger ovanför tabellen.

Förresten, om du tror att det blir lite svårt för dig kan du titta webbstudio betyg, som finns på samma resurs. Där kan du se projekten som skapats av denna studio genom att klicka på länken i kolumnen "Works".

Ungefär så ser statistiken ut på de motorer som används av RuNet-användare (här inte bara Joomla, utan alla populära CMS i allmänhet) i samband med vilken version av CMS som används - ny eller föråldrad:

På Joomla skapas, förutom vanliga hemsidor, ganska mycket, tack vare det befintliga butikstillägget som heter .

Det är förmodligen den enklaste gratismotorn att lära sig WordPress. Naturligtvis används den främst för en ganska smal nisch (att skapa och introducera bloggar), men om så önskas kan den användas för att implementera webbplatser, forum och gallerier. Men först och främst är WordPress ett mycket funktionellt blogg-CMS.

webbplatsen körs under kontroll av WordPress (men detta är en hemlighet, eftersom motorn som används och dess version måste döljas, att döma av Yandex-råden ovan). Jag skrev och fortsätter att skriva om subtiliteterna och nyanserna i att arbeta med den här motorn i avsnittet, och om tillägg för den i avsnittet.

Att döma av CMS-hastighetsdiagrammet ovan, är WordPress racing, men jag personligen kände det inte. I allmänhet kan WordPress fås att köra snabbt utan att skapa en skandalös . Visserligen kommer det att ta lite tid, men din blogg kan bli väldigt snabb och väldigt enkel. Jag skrev om ökningen i kolumnen med samma namn.

Nu är min blogg värd på och med en belastning på 20-25 tusen besökare per dag är jag fortfarande nöjd med hastigheten på WordPress, speciellt efter att ha färdigställt mallen och optimerat allt som kan optimeras. Även om WordPress blir ett ganska tungt monster när man använder ett stort antal plugins, utan och utan ytterligare optimering.

Det är tydligt att det fortfarande finns en hel del gratis CMS som används för olika ändamål. Detta är samma Drupal eller DLE (DataLife Engine), och i många fall kommer deras användning att vara motiverad, eftersom ett idealiskt CMS inte existerar, men WordPress och Joomla som nämns strax ovan är de mest populära. Anledningen kan vara deras ganska enkla design och tydlighet för nybörjare.

Vilka betalda motorer är mest intressanta?

Ett annat exempel som kan ges som ett inte särskilt dyrt och ganska snabbt betalt CMS är S.Builder. För att förstå hur man skapar webbplatser på den här motorn kommer det troligen inte att ta dig särskilt mycket tid, eftersom... den har en ganska låg inträdesbarriär (som man säger, den är intuitiv). Detta system är skrivet för slutanvändaren - absolut oförberedd och utan erfarenhet av webbmastering (det kan fungera i Word och det är bra).

S.Builder är ganska flexibelt och du kan göra nästan allt med det, men säg, till skillnad från Drupal (som också kan göra nästan allt), med S.Builder kan du göra allt detta utan att komma in i koden alls (det finns en kraftfull moduldesigner enligt dina behov).

Tja, som jag redan nämnt, är detta CMS en av de snabbaste motorerna och håller belastningen ganska bra, även om den också är skriven i PHP. Detta beror med största sannolikhet på kodens goda renlighet (den skrevs från början) och bra cachningsprestanda.

Du kan prova S.Builder gratis både online och offline. I det första fallet måste du gå till sidan "Demoversion on-line" och de kommer att skapa en tillfällig webbplats på detta CMS, där alla moduler kommer att vara tillgängliga för att "prova pennan". Om onlinetestning inte passar dig kan du ladda ner från sidan "Ladda ner CMS" en fullt fungerande och helt gratis offlineversion av denna motor (som om du vore) - "Provversion av CMS för installation på en lokal dator."

Slutligen vill jag ge dig åsikten från en professionell optimerare från det mycket välkända SEO-företaget Ashmanov and Partners, som gav ett ganska detaljerat svar på frågan - Vilket CMS är bättre?:

P.S. Ibland vill man veta vilken motor kör den eller den sidan på?. Det visar sig att detta kan göras ganska enkelt och elegant. I artikeln nämnde jag just ett sådant plugin - Wappalyzer. En mycket intressant sak.

Vilken motor ska du välja för en webbutik? Det är frågan de flesta blivande entreprenörer ställer sig. Det finns så många plattformar att det ibland kan vara ganska svårt att navigera. Denna recension kommer att titta på det bästa CMS. Användaren kommer att kunna välja den mest lämpliga motorn för sin webbresurs.

De bästa CMS-systemen

De flesta företag erbjuder webbplatser på plattformar som är mer bekanta och lättare för dem att arbeta med. Ofta uppfyller dessa motorer inte kundens krav. För att inte stöta på plattformsbegränsningar måste du känna till det bästa CMS för att skapa en webbplats. Att välja rätt motor säkerställer framgången för webbresursen. Det finns två kategorier av plattformar: kommersiella och gratisprodukter.

Den första typen av motorer skapades med syftet att tjäna pengar på försäljningen av licenser och tillägg. Dessa system leder i kvalitet på arbetet och popularitet. Nästan alla användbara moduler är betalda. Nybörjarföretagare har inte alltid råd att köpa det bästa CMS på kommersiell basis. Gratis motorer skapades för dem.

System "1C-Bitrix"

Denna plattform är det bästa CMS för en onlinebutik. Varför blev hon så populär? Motorn arbetar med en omfattande 1C-databas. Om så önskas kan användaren sätta upp bonusprogram för köpare och ange olika priser för juridiska personer. Plattformen används för att skapa stora portaler, informationsresurser och andra tjänster.

Webbplatser gjorda på detta CMS sticker ut bland andra webbplatser på grund av kvaliteten på deras arbete, ett stort antal ytterligare moduler, tillförlitligt skydd mot hackerattacker och möjligheten att dela rättigheter mellan flera administratörer. Systemet kräver stora investeringar. Därför rekommenderas det att använda 1C-Bitrix-plattformen uteslutande för att skapa stora projekt.

Magento

Detta system är det bästa CMS för en onlinebutik bland gratisprodukter. Mer än 150 tusen webbplatser på Internet har skapats med denna motor. Plattformen finns i tre upplagor. Community-utgåvan är gratis. Administratörspanelen är väldigt bekväm.

Om så önskas kan du skilja användarrättigheterna åt. Gränssnitt på ryska. Svar på dina frågor finns i utvecklargemenskapen. Användaren har tillgång till alternativ för att generera detaljerade rapporter och lägga till rabattkuponger. Klienten kan arbeta med 1C-databasen.

Produkterna importeras till Yandex.Market. Det finns olika produktfilter. Om så önskas kan du skicka reklammeddelanden till kunder och ansluta sociala nätverk. Utvecklarna erbjuder sina kunder att skapa ett affiliateprogram för sin onlinebutik. En administratör kan hantera flera projekt från ett konto.

Nackdelar med Magento

Nackdelarna inkluderar bristen på integration med ryska betalningssystem och leveranstjänster. Detta problem kan lösas genom att installera betalda moduler och redigera befintliga. När du startar en onlinebutik måste du använda tjänsterna från en erfaren programmerare.

Motorn förbrukar en stor mängd serverresurser. Plattformen ska endast användas för att skapa stora nätbutiker. Moduler som är användbara för e-handel är betalda. Vissa av dem är mycket överprissatta.

Joomla

Plattformen ligger på tredje plats i rankingen. Produkten kännetecknas av sin kvalitet. Om en användare letar efter den bästa CMS-motorn bör han vara uppmärksam på Joomla. Klienten kan utöka den omfattande verktygslådan med hjälp av ytterligare moduler och plugins. Hög säkerhet i arbetet med tjänsten säkerställs.

Användaren har tillgång till alternativ för att ansluta flernivåauktorisering för administratörer och dela rättigheterna för moderatorer. Att ändra utseendet på webbplatsen görs med hjälp av en färdig mall från en omfattande katalog. Om så önskas kan du skapa en anpassad layout. Många kunder tror att detta är det bästa CMS för en butik eftersom det låter dig anpassa många element. Webbplatser baserade på denna motor har en flexibel struktur.

Ytterligare komponenter för Joomla

Utvecklare släpper ständigt uppdateringar. Från början skapades plattformen för företagswebbresurser, bloggar och visitkortssidor. Nu fungerar motorn med nätbutiker och sociala plattformar. För att lägga till produkter på webbplatsen måste du ladda ner en extra komponent. De vanligaste skripten är VirtueMart och JoomShopping.

Vid behov installeras ytterligare moduler. Med VirtueMart kan användaren integrera webbplatsen med 1C-databasen, ansluta populära betalningssystem och konfigurera import/export av produkter. Tilläggskomponenten är lämplig för lansering av små och medelstora nätbutiker. VirtueMart används inte när man skapar stora portaler, eftersom den inte har de nödvändiga funktionerna och ett ordentligt säkerhetssystem.

Drupal

Denna plattform riktar sig till komplexa webbplatser och professionella programmerare. Att arbeta med programvaran kräver erfarenhet och lämplig utbildning. Systemet synkroniserar med partners webbplatser. Användaren kan välja korta adresser, använda mallteman och skapa webbresurser med liknande element (en enda användarbas). Flerspråkig översättningsfunktion tillgänglig.

Motorn är lämplig för stora nätbutiker och gemenskaper. I andra fall kommer kostnaderna inte att motiveras. För att använda plattformen måste du installera Ubercart. Denna extra komponent skiljer sig praktiskt taget inte från VirtueMart-skriptet. De bästa gratis CMS Magento och Joomla tog förstaplatsen i rankningen bara för att de är något vanligare och mindre svåra att lära sig och anpassa än Drupal.

MODX

Denna plattform kan köras på nästan alla servrar och interagera med olika webbläsare. Programvaran distribueras under en licens. Motorn används för att skapa webbplatser av olika slag. Plattformen är också en applikationsutvecklingsmiljö. Det är inte krävande på serverresurser.

Att installera och konfigurera motorn är inte svårt. Nackdelar inkluderar låg prevalens i OSS-länderna och bristen på nödvändiga funktioner för att lansera en fullfjädrad onlinebutik i dessa territorier. Många användare anger att när de arbetar med motorn uppstår problem med säkerheten för webbresurser.

OpenCart

Kommersiellt eller helt gratis CMS - vilket är bättre? OpenCart-plattformen är ett exempel på hur fri programvara kan överträffa kundernas vildaste förväntningar. Denna motor är den mest lämpliga lösningen för små projekt. Plattformen är enkel att installera och konfigurera. Motorn kräver inte serverresurser.

Genom att använda ett stort antal moduler kan du lägga till nästan vilken funktionalitet som helst i din onlinebutik. Utvecklare från det rysktalande samhället hjälper till att lösa eventuella problem som kan uppstå. Om så önskas kan du använda den inbyggda modulinstalleraren. Inledningsvis var plattformen inte fokuserad på OSS-marknaden. Nu kan du hitta sammanställningar med ytterligare funktionalitet.

Utvecklarna har uppdaterat betalnings- och leveranssätt och lagt till olika filter. De mest populära sammansättningarna inkluderar ocStore och MaxyStore. Klienten kan alltid skapa sin egen version från nödvändiga tillägg. Användaren har tillgång till funktionen att ange nyckelord och metataggar för varje produkt separat. Nackdelar inkluderar systemfrysning när det finns ett stort antal produkter, såväl som den höga kostnaden för många moduler.

PrestaShop

Utvecklarna skapade den här plattformen 2007. Motorn är lämplig för små och medelstora nätbutiker. Precis som OpenCart har PrestaShop-plattformen imponerande funktionalitet. För att arbeta med ryska betalningssystem måste du lägga till ytterligare moduler. Motorn kräver absolut inte serverresurser.

2011 röstades PrestaShop till den bästa gratis e-handelsplattformen. Till skillnad från OpenCart har motorn inget officiellt utvecklarstöd. Därför finns det inte så många extra moduler som användarna skulle vilja. Grundversionen av plattformen använder mer resurser än OpenCart. Kostnaden för ytterligare moduler är mycket lägre än i Magento.

UMI.CMS

Plattformen har en responsiv design och kostnadseffektivitet. Kunden kan välja språk att arbeta med, ställa in mallteman och spåra statistisk information som data baserat på den genomsnittliga räkningen.

WordPress

Om vi ​​fortsätter med ämnet "det bästa CMS", bör vi nämna denna motor. Plattformen är enkel, begriplig, men samtidigt funktionell. Ingen teknisk kunskap krävs för att driva motorn. Även proffs kommer att vara nöjda med det enkla gränssnittet. Svar på dina frågor finns i instruktionerna.

Plattformen skapades för bloggar, nyhetsresurser och andra portaler där du snabbt behöver lägga till information. Plugins för att utöka funktionaliteten kan köpas till ett överkomligt pris. Utvecklarna erbjuder mer än 10 ytterligare komponenter för att skapa en onlinebutik med WordPress-motorn. Det mest populära är WooCommerce-plugin. Det är väldigt svårt att lansera en fullfjädrad webbutik utifrån det.

Du kan inte lägga till fler än 100 produktkort som inte behöver uppdateras. Plattformen är lätt att lära sig. Systemet är lämpligt för nybörjare som har en blogg på en WordPress-webbplats. Bland bristerna bör det noteras bristen på integration med 1C, ryska betalningssystem och leveranstjänster. Efter installation av plugin-programmet kan en konflikt med mallen uppstå.

NetCat

Plattformen ger möjlighet i en mobilversion. Responsiv design stöds. Det bästa CMS-systemet bör ha bra funktionalitet för marknadsföring av sökmotorer och webbplatsintegration med användbara tjänster. Denna motor uppfyller alla krav. Gränssnittet är intuitivt.

Plattformen fungerar med databasen 1C och elektroniska betalningssystem. När man arbetar med plattformen behöver man inte använda komplexa tekniska lösningar. Gränssnittet kan delas upp i två: för användare och utvecklare.

HostCMS

Motorn är inte krävande för hosting och servrar. Denna plattform är det bästa CMS för SEO. Användaren har alternativ för att skapa korta sidadresser, ange metataggar etc. Motorn fungerar utmärkt med webbresurser med hög trafik. Plattformen fungerar med 1C-systemet.

Licenskostnaden är 6 tusen rubel. Kunden får en ganska funktionell plattform med möjlighet att utöka funktionaliteten genom att installera ytterligare moduler.

CS-vagn

När de väljer det bästa CMS, noterar många användare fördelarna med denna motor. Programvaruskapare erbjuder sina kunder ett brett utbud av verktyg. Plattformen kännetecknas av sin bekväma organisation av internetmarknadsföring, bra form att arbeta med beställningar, SEO-optimering av resurser, integration med 1C och Yandex.Market-tjänsten. Användaren har tillgång till alternativ för att skapa adaptiv design och helt enkelt lägga till material.

Amiro.CMS

Denna plattform kallas universell. Motorn är lämplig för att skapa professionella resurser med varierande komplexitetsnivåer. Utvecklarna erbjuder mer än 60 ytterligare moduler som utökar funktionaliteten. Användaren kan lansera en högkvalitativ webbplats av nästan vilken typ som helst.

LPgenerator

En webbsidesgenerator online är en bra lösning för nybörjare och experter. Med hjälp av motorn kan du skapa en visitkortswebbplats eller en liten butik. Vissa användare lägger helt enkelt till material för att presentera en produkt/tjänst. Kunder kan dra nytta av en bekväm redigerare, samt hundratals mallar i LPStore.

Användaren har alternativ för att ansluta en ny domän och synkronisera webbplatsen med användbara tjänster. Om så önskas kan layouterna göras om. Utvecklarna tillhandahåller också verktyg för SEO-optimering.

HTML5 tillsammans med CSS3 och JavaScript ger utvecklaren stora möjligheter att skapa spel med 3D, animation, Canvas, matematik, färger, ljud, WebGL. En av de mest uppenbara fördelarna med HTML5 är dess oberoende från både plattformen och i allmänhet hårdvaran.

Vid närmare granskning kan du identifiera de ytterligare funktionerna som tillhandahålls av motorerna: förenkling av några vanliga uppgifter eller laddning av resurser, formaterad input, fysik, ljud, bitmappar (naturligtvis finns det inte många av dessa). Det finns också ganska dåligt designade motorer, och det finns också de som förser utvecklaren med en 2D-nivåredigerare och felsökningsverktyg.

Det antas att de flesta motorer tjänar till att minska tiden som krävs för att utveckla ett fullfjädrat spel. Men många utvecklare föredrar att skapa sitt projekt helt från början för att bättre representera dess struktur. Det finns få JavaScript-HTML5-motorer som verkligen är värda besväret, men de kan också ha en stor nackdel: de stöds inte längre eller är nära att avvecklas. Därför, när du väljer en motor, välj de produkter vars stöd kommer att pågå under ganska lång tid.

Så här är faktiskt själva motorerna.

Listig

Idealisk för att implementera retrostil 2D sprite arkadspel och pussel som Sudoku. Den har en självkörande spelloop som är klar att använda. Mus och tangentbord stöds. Det är väldokumenterat, och den enda nackdelen kan anses vara bristen på ljudstöd.

lycheeJS

Öppen källkod för flera webbläsare, skriven helt i JavaScript. Byggd från grunden för att vara så flexibel som möjligt, den har ett omfattande API och använder de senaste funktionerna i moderna webbläsare. Detta ramverk är utformat för att göra allt för dig: din idé - dess implementering med hjälp av de mest använda verktygen.

GameJS

JavaScript och CSS används för att skapa sidan. Tillsammans arbetar de ganska tryggt och harmoniskt. Designad för nybörjare som lär sig grunderna i videospelsprogrammering. Det blir lättare för dig om du redan har vissa CSS-kunskaper.

ClanFX

2D HTML5-grafikmotor i JavaScript portad från iPhone. Låter dig snabbt skapa 2D-spel och grafiska applikationer som kan köras på alla moderna enheter utan att installera ytterligare plugins.