Bezplatné herní enginy v HTML5 a JavaScriptu. Bezplatné herní motory HTML5 a JavaScript Urychlete počáteční vykreslování pomocí sdílené mezipaměti stylu

Článek byl aktualizován 18. ledna 2018 a je zcela aktuální.
Téměř každý začátečník stojí před otázkou výběru CMS pro svůj web nebo blog. Je to pochopitelné, protože vědět vše dopředu nelze. A různých redakčních systémů se už objevilo poměrně hodně. Tato recenze obsahuje pouze bezplatná řešení. Nejsou v žádném případě horší než své placené protějšky a někdy se s nimi dokonce příznivě srovnávají. Koneckonců, je mnohem snazší provádět úpravy v otevřeném zdrojovém kódu, a proto jsou všechny nalezené zranitelnosti opraveny rychleji. A také všechny nové a odvážné nápady se zde objevují jako první.

Pro začátek bychom měli systémy podmíněně rozdělit podle jejich zaměření. Existují CMS určené výhradně pro tvorbu blogů, ale i flexibilnější systémy, které umožňují vytvářet plnohodnotné webové stránky a mediální portály. Zároveň mohou být blogovací systémy navrženy tak, aby vytvářely celou řadu projektů, například pro celý podnik. Za zmínku také stojí vývojové období platformy (čím je delší, tím lépe je systém vyvíjen a obsahuje méně chyb), přítomnost komunity (pomůže v případě potíží s instalací, laděním nebo používáním systému) , výkon (ne všechny systémy jsou vhodné pro projekty s vysokou zátěží). Nyní se tedy podívejme na každý CMS podrobněji.

Oficiální stránka .

Jedná se o jeden z poměrně starých a osvědčených motorů. Je to skvělé pro elektronický obchod a prodej produktů online. Mnoho pluginů, jako je VirtueMart, umožňuje otevřít obchod velmi rychle a v krátkém čase. Pravda, abyste porozuměli všemu od začátku, budete muset strávit trochu času čtením manuálů, čtením dokumentace a fór. Naštěstí má Joomla velmi dobrou podporu a obrovskou komunitu v několika jazycích, včetně ruštiny.

Mezi výhody systému patří přítomnost následujících funkcí „z krabice“:

  • autentizace uživatele, včetně prostřednictvím OpenID;
  • vizuální editor článků;
  • pohodlná správa souborů;
  • systém komentářů a ochrana před spamem v nich;
  • správce pluginů a rozšíření.

Ve skutečnosti existuje mnohem více výhod, je velmi obtížné je jednoduše vyjmenovat v jednom článku. Proto zaujímá přední místo v hodnocení a špičkách CMS. Ale jsou tu některé nevýhody: díky své flexibilitě a mnoha nastavením bude muset začátečník strávit více než jeden den pochopením celé této rozmanitosti. Také jeho funkčnost může být pro mnoho jednoduchých vizitkových webů nadbytečná. Hodí se ale pro internetové obchody a vystavení produktů.

TYPO3

Oficiální stránka .

Není to tak dávno, co si na internetu začal získávat oblibu docela starý CMS TYPO3, který nyní pevně zakotvil v TOP 5. Strukturu webu zde představuje strom stránek. Každý z nich může obsahovat standardní obsahové prvky: text, obrázky, tabulky atd. Tento redakční systém je založen na šablonách, které si můžete buď stáhnout hotové, nebo si je sami napsat v TypoScriptu.

Výhody TYPO3:

  • možnost doladit uživatelská práva;
  • snadná údržba několika stránek současně;
  • možnost používat rozšíření z TER (TYPO3 extension repository);
  • vysoké požadavky na bezpečnost;
  • pokročilý textový editor s kontrolou pravopisu, náhledem, historií změn.

Nevýhody tohoto systému:

  • obtížnost úpravy struktury webu pomocí šablony;
  • pomalé vykreslování velkých stránek s různorodým obsahem (tabulky, obrázky);
  • několik hotových řešení pro internetové obchody

Doporučeno pro použití ve velkých průmyslových společnostech a bankách. S největší pravděpodobností nebude vhodný pro mladé a malé lokality, případně budou náklady na rozvoj a podporu neúměrné přínosům využití.

Drupal

Oficiální stránka .

Je to také velmi populární a rozšířený CMS, který používají k vytváření webových stránek velmi velké podniky, například Sony Music. Drupal si vybrali kvůli jeho široké škále funkcí pro vytváření interních i externích webových stránek pro podnikovou síť. Existuje obrovská databáze nástrojů pro správu jedné uživatelské základny. Dobře se hodí pro organizaci systému blogů a fór. Drupal má velmi aktivní vývojářskou komunitu, obrovskou znalostní základnu a živé fórum. Odpovědi na otázky týkající se instalace a nasazení stránek a modulů můžete najít poměrně jednoduše.

Výhody Drupalu:

  • vynikající podpora od komunity uživatelů a vývojářů;
  • více než 6000 modulů, které usnadňují rozšíření funkčnosti;
  • Snadno spravujte uživatelská práva, vytvářejte kolektivní blogy a fóra.

Nevýhody systému:

  • může být u jednoduchých webů příliš složitý;
  • naprostý nedostatek krásných a funkčních témat;
  • pro neškoleného uživatele obtížné se naučit.

Pro weby s vizitkami se volba tohoto CMS kategoricky nedoporučuje, ale pro organizování středních a velkých portálů, kam budou uživatelé přidávat své materiály a komentovat je, je Drupal vhodný jako žádný jiný.

MODX

Oficiální stránka .

Jeden z nejmladších CMS (vývoj probíhá od roku 2004), který se objevil na samém počátku formování tzv. Webu 2.0. Cílem bylo zapojit uživatele do úprav a přidávání obsahu na stránky. Například psaní recenzí, recenzí a dokonce i celých článků. Proto existuje dobrý systém registrace uživatelů, vyhledávání na stránkách pomocí AJAX (bez opětovného načítání stránky), můžete rychle rozšířit zpravodajství a společný blog. Mezi nevýhody patří časté problémy s kódováním ruštiny, které nejsou zcela vyřešeny, ačkoli se objevily již dávno; nedostatek hotových modulů a řešení pro organizaci galerie, fóra nebo elektronického obchodu.

WordPress

Oficiální stránka .

Pokud někdo stále pochybuje o tom, že WordPress již dávno přerostl fázi „blogovacího systému“, pak by tyto pochybnosti měly být odloženy. Na tomto CMS je vyvíjeno velké množství webových stránek, včetně sociálních sítí, firemních webových stránek, internetových obchodů a displejů produktů, fór a také jednoduchých stránek s vizitkami.

Díky tisícům hotových témat, pluginů a dokonce i hotových sestav pro různé potřeby zaujímá WordPress zasloužené místo v TOP 5. Je zde aktivní komunita vývojářů, kteří generují lekce a informační materiály.

Výhody WordPressu:

  • velká komunita vývojářů a dobře strukturovaná dokumentace;
  • tisíce bezplatných pluginů a témat pro web;
  • pohodlný admin panel.

Nevýhody WordPressu

  • spouštěcí funkcionalita ihned po instalaci je poměrně skromná, je třeba ji doplnit alespoň 4-5 pluginy;
  • Po jednoduché instalaci je potřeba vylepšit zabezpečení.

Ve skutečnosti se jedná o jeden z nejjednodušších a pro začátečníky nejpřívětivější systémy. Umožňuje vám vytvářet webové stránky, aniž byste rozuměli čemukoli o programování (přečtěte si můj). Vřele doporučujeme jako váš první CMS. Pokud se v budoucnu ukáže, že jeho funkčnost je pro vás omezená, můžete web snadno převést na jiný engine dle vašeho výběru.
[Ve většině případů jsou ty nejvyšší obsazeny těmito 5 CMS, které jsem recenzoval v tomto článku.

Při zodpovězení otázky „který CMS zvolit pro web“ byste měli věnovat pozornost skutečnosti, že populární motory jsou neustále pod útokem. Jejich kód je otevřený pro použití všemi, včetně ne zcela poctivých lidí, kteří v něm mohou hledat zranitelnosti a využívat je pro své sobecké účely. Nebezpečí se lze vyhnout, pokud urychleně aktualizujete motor na nejnovější verzi. Pokud přitom používáte méně běžný redakční systém, pak při potížích možná nemáte kde najít pomoc a můžete se spolehnout jen sami na sebe. Vezměte v úvahu i tento faktor. Hodně štěstí!

Dobrý den, Habr! Předkládám vaší pozornosti překlad článku Uvnitř super rychlého CSS enginu: Quantum CSS (aka Stylo) od Lyn Clark.


Možná jste slyšeli o Project Quantum... Jedná se o projekt výrazně přepracovat vnitřnosti Firefoxu za účelem zrychlení prohlížeče. Kousek po kousku implementujeme vývoj našeho experimentálního prohlížeče Servo a výrazně vylepšujeme další prvky enginu.


Projekt byl přirovnáván k výměně motoru letadla za chodu. Provádíme změny ve Firefoxu komponentu po komponentě, takže jejich účinek můžete vyhodnotit v příštím vydání prohlížeče, jakmile bude připraven.



Poznámka překladatel: pod řezem je spousta ilustrací. Všechny jsou klikací (pro prohlížení ve větším rozlišení). Pokud narazíte na nepřesnosti v překladu a jiné chyby, budu vděčný, když to nahlásíte v komentářích nebo v osobní zprávě.


A první hlavní komponent ze Servo – nový CSS engine Quantum CSS (dříve známý jako Stylo) – je nyní k dispozici pro testování v nočním sestavení Firefoxu. (pozn. překladatele: v komentářích naznačili, že už je ve stabilní 55). Za jeho povolení je zodpovědná volba layout.css.servo.enabled v about:config.


Nový engine ztělesňuje nejlepší inovace z jiných prohlížečů.



Quantum CSS využívá moderní hardware tím, že paralelizuje práci napříč všemi procesorovými jádry, což vede ke zrychlení až 2, 4 nebo dokonce 18krát.


Navíc kombinuje moderní optimalizace z jiných prohlížečů, takže i bez paralelizace je velmi rychlý.



Ale co přesně dělá CSS engine? Nejprve se podíváme na to, co je CSS engine obecně a jaké je jeho místo v prohlížeči a následně se podíváme na to, jak Quantum CSS celou věc zrychluje.

Co je to CSS engine?

CSS engine je součástí vykreslovacího jádra prohlížeče. Vykreslovací modul vezme soubory HTML a CSS z webu a přemění je na pixely na obrazovce.



Každý prohlížeč má vykreslovací jádro. Chrome má Blink, Edge má EdgeHTML, Safari má WebKit a Firefox má Gecko.


Chcete-li soubory rozdělit na pixely, všechny dělají zhruba totéž:


1) Analýza souborů do objektů čitelných prohlížečem, včetně DOM. V této fázi DOM ví o struktuře stránky, ví o nadřazených vztazích mezi prvky, ale neví, jak by tyto prvky měly vypadat.



2) Určení vzhledu prvků. Pro každý uzel DOM zjistí modul CSS, která pravidla CSS použít. Poté definuje hodnotu pro každou vlastnost CSS. Styluje každý uzel ve stromu DOM připojením vypočítaných stylů.



3) Určete rozměry a polohu pro každý uzel. Na vše, co je potřeba zobrazit na obrazovce, jsou vytvořeny boxy. Představují nejen uzly DOM, ale také to, co by se v nich mohlo nacházet. Například řádky textu.



4) Kreslicí bloky. Může se vyskytovat v několika vrstvách. Představuji si to jako staré ručně kreslené animace na několika listech průsvitného papíru. To vám umožní změnit jednu vrstvu, aniž byste museli překreslovat ostatní.



5) Sloučení vrstev do jednoho obrázku, na které byly předtím aplikovány potřebné vlastnosti skladatele (například transformace). Je to jako fotografování vrstev spojených dohromady. Tento obrázek se poté zobrazí na obrazovce.



To znamená, že před zahájením výpočtu stylů je vstupem enginu CSS:

  • strom DOM
  • Seznam pravidel stylu

A tak postupně definuje styly pro každý uzel DOM, jeden po druhém. Ke každé vlastnosti CSS je přiřazena hodnota, i když není nastavena v šablonách stylů.


Beru to jako vyplnění formuláře, kde jsou povinná všechna pole. Tento formulář musíte vyplnit pro každý uzel DOM.



K tomu musí CSS engine udělat dvě věci:

  • Vyberte pravidla, která se mají použít na uzel (shoda selektoru)
  • Doplňte všechny chybějící hodnoty standardními hodnotami nebo zděďte rodičovské hodnoty (kaskádu)

Mapování selektoru

Nejprve vybereme všechna pravidla, která se vztahují na uzel, do seznamu. Protože může existovat více než jedno odpovídající pravidlo, je možné více definic stejné vlastnosti.



Kromě toho prohlížeč sám přidává některé standardní styly (styky uživatelského agenta). Jak tedy engine CSS určí, kterou hodnotu použít?


Zde nám pomáhá „pravidlo specifičnosti“. CSS engine vytvoří tabulku definic, kterou pak seřadí do různých sloupců.



Pravidlo s největší specifičností vyhrává. Na základě takové tabulky CSS engine zadá do formuláře všechny hodnoty v ní nastavené.



Zbytek se vypočítává pomocí kaskády.

Kaskádové

Kaskádování usnadňuje psaní a údržbu CSS. Díky ní můžete nastavit vlastnost color body a vědět, že barva textu v prvcích p , span , li bude stejná (pokud ji sami nepřepíšete).


Modul CSS kontroluje prázdná pole ve formuláři. Pokud je vlastnost ve výchozím nastavení zděděna, pak modul CSS přejde do stromu a zkontroluje, zda je hodnota této vlastnosti nastavena na nadřazeném prvku. Pokud ji žádný z předků hodnoty nedefinuje nebo není zděděná, je nastavena výchozí hodnota.



Nyní jsou tedy vypočteny všechny styly pro daný uzel DOM, formulář je vyplněn.

Poznámka: Sdílení struktur stylů

Popsaný formulář je mírně zjednodušený. CSS má stovky vlastností. Pokud by modul CSS uložil hodnotu každé vlastnosti pro každý uzel DOM, rychle by spotřeboval veškerou dostupnou paměť.


Místo toho motory obvykle používají sdílení struktur stylu. Ukládají hodnoty, které se běžně používají společně (jako jsou vlastnosti písma) v jiném objektu zvaném struktura stylu. Kromě toho, namísto ukládání všech vlastností do jednoho objektu, objekty vypočítaného stylu obsahují pouze ukazatel. U každé kategorie vlastností je ukazatel na strukturu stylu s požadovanými hodnotami.



To šetří paměť i čas. Uzly s podobnými styly mohou jednoduše ukazovat na stejné struktury stylů pro společné vlastnosti. A protože se mnoho vlastností dědí, může rodič sdílet svou strukturu s libovolnými podřízenými uzly, které nepřepisují své vlastní hodnoty.

Jak to tedy všechno urychlit?

Takto vypadá proces výpočtu neoptimalizovaného stylu.



Je tu docela dost práce. A to nejen v okamžiku, kdy se stránka poprvé načte. A znovu a znovu při interakci se stránkou, když umístíte kurzor na prvky nebo změníte DOM, styly se přepočítají.



To znamená, že výpočet šablon stylů CSS je skvělým kandidátem na optimalizaci... A za posledních 20 let prohlížeče testovaly mnoho různých optimalizačních strategií. Quantum CSS se snaží spojit to nejlepší z nich a vytvořit nový superrychlý engine.


Pojďme se společně podívat, jak to všechno funguje.

Paralelizace

Projekt Servo (ze kterého vzešlo Quantum CSS) je experimentální prohlížeč, který se snaží paralelizovat vše v procesu vykreslování webových stránek. Co to znamená?


Počítač můžete přirovnat k mozku. Existuje prvek zodpovědný za myšlení (ALU). V jeho blízkosti je něco jako krátkodobá paměť (registry), ty jsou seskupeny na centrálním procesoru. Navíc je zde dlouhodobá paměť (RAM).



Dřívější počítače dokázaly myslet vždy jen jednu myšlenku. Ale během posledních desetiletí se procesory změnily, nyní mají několik ALU a registrů seskupených do jader. Takže nyní mohou procesory myslet několik myšlenek najednou - paralelně.



Quantum CSS využívá těchto výhod oddělením výpočtů stylu pro různé uzly DOM napříč různými jádry.


Může se to zdát snadné... Stačí rozdělit větve stromu a zpracovat je na různých jádrech. Ve skutečnosti je vše mnohem složitější z několika důvodů. Prvním důvodem je, že stromy DOM jsou často nerovnoměrné. To znamená, že některá jádra dostanou podstatně více práce než jiná.



K rovnoměrnějšímu rozdělení práce používá Quantum CSS techniku ​​zvanou krádež práce. Když je uzel DOM zpracován, program vezme jeho přímé potomky a rozdělí je do jedné nebo více „pracovních jednotek“. Tyto jednotky práce jsou zařazeny do fronty.



Když jádro dokončí veškerou práci ve své frontě, může hledat práci v jiných frontách. Práci tak rozdělujeme rovnoměrně bez nutnosti předběžného hodnocení průchodem celého stromu.



To bude obtížné správně implementovat ve většině prohlížečů. Paralelnost je notoricky obtížný úkol a CSS engine je sám o sobě poměrně složitý. Také se nachází mezi dalšími dvěma nejsložitějšími částmi vykreslovacího jádra – DOM a markup. Obecně je snadné udělat chybu a paralelizace může vést k poměrně obtížně zachytitelným chybám nazývaným „datové závody“. Tyto chyby popisuji podrobněji v jiném článku (je tam i překlad do ruštiny).


Pokud přijímáte úpravy od stovek tisíc přispěvatelů, jak můžete bez obav použít souběžnost? Proto máme Rust.



Rust vám umožňuje staticky ověřit, že neexistují žádné závody v datech. To znamená, že se vyhnete těžko odhalitelným chybám tím, že je vůbec nevpustíte do svého kódu. Kompilátor vám to prostě nedovolí. Více o tom napíšu v dalších článcích. Můžete se také podívat úvodní video o souběžnosti v Rustu nebo tento podrobnější rozhovor o „krádeži práce“.


To vše značně zjednodušuje záležitost. Nyní vám již téměř nic nebrání v efektivní paralelní implementaci výpočtů stylů CSS. To znamená, že se můžeme přiblížit lineárnímu zrychlení. Pokud je váš procesor 4jádrový, pak paralelizace zvýší rychlost téměř 4krát.

Zrychlení přepočtu pomocí stromu pravidel

Pro každý uzel DOM musí engine CSS projít všemi pravidly a provést párování selektorů. U většiny uzlů se odpovídající selektory pravděpodobně nebudou měnit příliš často. Pokud například uživatel najede myší na prvek, pravidla, která mu odpovídají, se mohou změnit. Musíme přepočítat styly pro všechny jeho potomky, abychom zvládli dědění majetku. Pravidla odpovídající těmto potomkům se ale pravděpodobně nezmění.


Bylo by hezké si zapamatovat, která pravidla odpovídají těmto dětem, abyste nemuseli znovu přiřazovat selektory... A strom pravidel, pocházející z předchozích verzí Firefoxu, to dělá.


Modul CSS vybere selektory, které odpovídají prvku, a poté je seřadí podle specifičnosti. Výsledkem je propojený seznam pravidel.


Tento seznam je přidán do stromu.



Modul CSS se snaží minimalizovat počet větví ve stromu a znovu je používá, kdykoli je to možné.


Pokud většina selektorů v seznamu odpovídá existující větvi, bude ji následovat. Může však dojít k bodu, kdy další pravidlo v seznamu neodpovídá pravidlu z existující větve. Pouze v tomto případě se vytvoří nová větev.



Uzel DOM obdrží ukazatel na pravidlo, které bylo přidáno jako poslední (v našem příkladu div#warning). Je to nejkonkrétnější.


Při přepočítávání stylů engine provede rychlou kontrolu, zda změna v pravidlech nadřazeného prvku může ovlivnit pravidla podřízených prvků. Pokud ne, pak pro všechny děti může motor jednoduše použít ukazatel na odpovídající pravidlo ve stromu. To znamená, že zcela přeskočit porovnávání a řazení voličů.



To pomáhá šetřit čas při přepočítávání stylů, ale počáteční výpočet je stále pracný. Pokud existuje 10 000 uzlů, je třeba provést párování selektoru 10 000krát. Ale existuje způsob, jak to také urychlit.

Urychlete počáteční vykreslování pomocí sdílené mezipaměti stylu

Představte si stránku s tisíci uzlů. Mnoho z nich se bude řídit stejnými pravidly. Představte si například dlouhou stránku Wikipedie... Odstavce hlavního obsahu by měly mít naprosto identická pravidla stylu a absolutně identické vypočítané styly.


Bez optimalizací musí CSS engine odpovídat selektorům a počítat styly pro každý odstavec zvlášť. Ale pokud by existoval způsob, jak dokázat, že styly pro všechny odstavce jsou stejné, pak by engine mohl jednoduše udělat práci jednou a z každého uzlu jednoduše ukázat na stejný vypočítaný styl.


To je to, co dělá mezipaměť obecných pravidel, která se inspiruje v Safari a Chrome. Po zpracování prvku se vypočítaný styl uloží do mezipaměti. Dále, před zahájením výpočtu stylů dalšího prvku, se provede několik kontrol, zda lze použít něco z mezipaměti.


Kontroly jsou následující:

  • Mají 2 uzly stejné ID, třídy atd. Pokud ano, budou dodržovat stejná pravidla.
  • Mají stejný význam pro vše, co není založeno na selektoru (jako inline styly). Pokud ano, pak výše uvedená pravidla nebudou přepsána, nebo budou přepsána stejným způsobem pro obě.
  • Ukazují rodiče obou na stejný objekt vypočítaných stylů. Pokud ano, pak budou zděděné hodnoty také stejné.


Tyto kontroly byly implementovány v raných verzích sdílené mezipaměti stylu od samého začátku. Ale existuje mnoho malých situací, ve kterých se styly nebudou shodovat. Pokud například pravidlo CSS používá selektor:first-child, pak se styly dvou odstavců nemusí shodovat, i když výše uvedené kontroly říkají něco jiného.


WebKit a Blink to v takových situacích vzdávají a nepoužívají mezipaměť společného stylu. A jak více webů používá tyto moderní selektory, optimalizace se stává méně užitečnou, což je důvod, proč ji tým Blink nedávno úplně odstranil. Ale ukazuje se, že je možné držet krok se všemi těmito aktualizacemi a celkovou mezipamětí stylu.


V Quantum CSS shromažďujeme všechny ty podivné selektory a kontrolujeme, zda se vztahují na uzel DOM. Výsledek této kontroly pak uložíme jako jedničky a nuly pro každý takový selektor. Pokud mají dva prvky identickou sadu jedniček a nul, víme, že se jedná o přesnou shodu.



Pokud uzel DOM může používat styly, které již byly vypočteny, pak je v podstatě přeskočena téměř veškerá práce. Stránky mají často mnoho uzlů se stejnými styly, takže sdílená mezipaměť stylů šetří paměť a skutečně urychluje práci.


Závěr

Toto je první velký technologický transfer ze Servo do Firefoxu. Naučili jsme se hodně o tom, jak vnést moderní, vysoce výkonný Rust kód do jádra Firefoxu.


Jsme nadšeni, že máme velký kus Project Quantum připravený k použití ve verzi beta. Budeme vděční, když to vyzkoušíte a v případě chyb je nahlásíte.

O Lyn Clarkové

Lin je inženýr v týmu Mozilla Developer Relations. Pracuje s JavaScriptem, WebAssembly, Rustem a Servo. Také kreslí kreslené kódy.

Štítky: Přidat štítky

Dobrý den, milí čtenáři tohoto blogu. Dnes chci mluvit o takové věci, jako je engine webových stránek nebo vědecky řečeno CMS (systém pro správu obsahu).

V podstatě se jedná o programy pro webový server, které výrazně zjednodušují tvorbu a údržbu webu. Web sám o sobě vám to umožní (pokud si ho vytvoříte sami a nebudete utrácet peníze za jeho propagaci).

Pokud chcete k tomuto hodnocení přidat svůj zdroj, nepoužívejte odpovídající tlačítko vpravo nad tabulkou.

Mimochodem, pokud si myslíte, že to pro vás bude trochu těžké, můžete se podívat hodnocení webového studia, který se nachází na stejném zdroji. Zde si můžete prohlédnout projekty vytvořené tímto studiem kliknutím na odkaz ve sloupci „Práce“.

Zhruba takto vypadají statistiky enginů používaných uživateli RuNet (zde nejen Joomla, ale obecně všechny populární CMS), v kontextu které verze CMS se používá – nová nebo zastaralá:

Na Joomle se toho kromě běžných webů vytváří poměrně hodně, a to díky existujícímu rozšíření obchodu s názvem .

Pravděpodobně nejjednodušší bezplatný engine k naučení je WordPress. Samozřejmě se používá hlavně pro poměrně úzký výklenek (vytváření a zavádění blogů), ale v případě potřeby jej lze použít k implementaci webových stránek, fór a galerií. Ale za prvé, WordPress je velmi funkční blogovací CMS.

web běží pod kontrolou WordPress (ale to je tajemství, protože použitý engine a jeho verze musí být skryty, soudě podle výše uvedené rady Yandex). O jemnostech a nuancích práce s tímto motorem jsem psal a nadále píšu v sekci a o rozšířeních pro něj v sekci.

Soudě podle výše uvedeného grafu rychlosti CMS WordPress závodí, ale osobně jsem to necítil. Obecně lze říci, že WordPress může běžet rychle, aniž by vytvořil pobuřující . Je pravda, že to bude chvíli trvat, ale váš blog může být velmi rychlý a velmi snadný. O nárůstu jsem psal ve stejnojmenném sloupci.

Nyní je můj blog hostován na a při zátěži 20-25 tisíc návštěvníků denně jsem stále spokojen s rychlostí WordPressu, zvláště po finalizaci šablony a optimalizaci všeho, co optimalizovat lze. I když při použití velkého množství pluginů, bez a bez dodatečné optimalizace, se WordPress stává poměrně těžkým monstrem.

Je jasné, že stále existuje spousta bezplatných CMS, které se používají k různým účelům. Jedná se o stejný Drupal nebo DLE (DataLife Engine) a v mnoha případech bude jejich použití opodstatněné, protože ideální CMS neexistuje, ale nejpopulárnější jsou právě výše zmíněné WordPress a Joomla. Důvodem může být jejich vcelku jednoduchý design a přehlednost pro začínající uživatele.

Které placené motory jsou nejzajímavější?

Dalším příkladem, který lze uvést jako nepříliš drahý a poměrně rychle placený CMS, je S.Builder. Pochopení toho, jak vytvořit webové stránky na tomto enginu, vám s největší pravděpodobností nezabere mnoho času, protože... má poměrně nízkou bariéru vstupu (jak se říká, je intuitivní). Tento systém je napsán pro koncového uživatele – absolutně nepřipraveného a bez zkušeností s webmasteringem (může fungovat ve Wordu a to je v pořádku).

S.Builder je poměrně flexibilní a můžete s ním dělat téměř vše, ale, řekněme, na rozdíl od Drupalu (který také umí téměř vše), s S.Builder to vše můžete udělat, aniž byste se vůbec dostali do kódu (existuje výkonný návrhář modulů podle vašich potřeb).

No, jak jsem již zmínil, tento CMS je jeden z nejrychlejších motorů a docela dobře drží zátěž, i když je také napsaný v PHP. To je pravděpodobně způsobeno dobrou čistotou kódu (byl napsán od začátku) a dobrým výkonem při ukládání do mezipaměti.

S.Builder si můžete zdarma vyzkoušet online i offline. V prvním případě budete muset přejít na stránku „Demo verze on-line“ a na tomto CMS vytvoří dočasnou stránku, kde budou k dispozici všechny moduly pro „vyzkoušení pera“. Pokud vám online testování nevyhovuje, můžete si ze stránky „Stáhnout CMS“ stáhnout plně funkční a zcela bezplatnou offline verzi tohoto motoru (jako byste byli) – „Zkušební verze CMS pro instalaci na místní počítač“.

Na závěr vám chci sdělit názor profesionálního optimalizátora z velmi známé SEO firmy Ashmanov and Partners, který na otázku dal poměrně podrobnou odpověď - Který CMS je lepší?:

P.S. Někdy to chceš vědět na jakém enginu běží ten či onen web?. Ukazuje se, že to lze provést zcela jednoduše a elegantně. V článku jsem právě zmínil takový plugin - Wappalyzer. Velmi zajímavá věc.

Jaký motor byste si měli vybrat pro internetový obchod? To je otázka, kterou si klade většina začínajících podnikatelů. Existuje tolik platforem, že někdy může být docela obtížné se orientovat. Tato recenze se podívá na nejlepší CMS. Uživatel si bude moci vybrat nejvhodnější engine pro svůj webový zdroj.

Nejlepší CMS systémy

Většina společností nabízí webové stránky na platformách, které jsou pro ně známější a snáze se s nimi pracuje. Často tyto motory nesplňují požadavky zákazníků. Abyste nenarazili na omezení platformy, musíte znát nejlepší CMS pro tvorbu webu. Výběr správného enginu zajišťuje úspěch webového zdroje. Existují 2 kategorie platforem: komerční a bezplatné produkty.

První typ motorů vznikl s cílem dosáhnout zisku z prodeje licencí a doplňků. Tyto systémy vedou v kvalitě práce a oblíbenosti. Téměř všechny užitečné moduly jsou placené. Začínající podnikatelé si nemohou vždy dovolit koupit nejlepší CMS na komerční bázi. Pro ně byly vytvořeny bezplatné motory.

Systém "1C-Bitrix"

Tato platforma je nejlepší CMS pro internetový obchod. Proč se stala tak populární? Motor pracuje s rozsáhlou databází 1C. V případě potřeby může uživatel nastavit bonusové programy pro kupující a určit různé sazby pro právnické osoby. Platforma slouží k vytváření velkých portálů, informačních zdrojů, ale i dalších služeb.

Weby vytvořené na tomto CMS vynikají mezi ostatními weby kvalitou své práce, velkým množstvím doplňkových modulů, spolehlivou ochranou před útoky hackerů a možností sdílet práva mezi více administrátory. Systém vyžaduje značné investice. Proto se doporučuje používat platformu 1C-Bitrix výhradně pro vytváření velkých projektů.

Magento

Tento systém je nejlepší CMS pro internetový obchod mezi produkty zdarma. Pomocí tohoto enginu bylo vytvořeno více než 150 tisíc webových stránek na internetu. Platforma je k dispozici ve třech edicích. Komunitní edice je zdarma. Admin panel je velmi pohodlný.

V případě potřeby můžete rozlišit uživatelská práva. Rozhraní v ruštině. Odpovědi na vaše otázky naleznete v komunitě vývojářů. Uživatel má přístup k možnostem generování podrobných reportů a přidávání slevových kupónů. Klient může pracovat s databází 1C.

Produkty jsou importovány do Yandex.Market. Existují různé produktové filtry. V případě potřeby můžete zákazníkům posílat reklamní zprávy a propojovat sociální sítě. Vývojáři nabízejí klientům vytvoření affiliate programu pro jejich internetový obchod. Administrátor může spravovat více projektů z jednoho účtu.

Nevýhody Magenta

Mezi nevýhody patří nedostatečná integrace s ruskými platebními systémy a doručovacími službami. Tento problém lze vyřešit instalací placených modulů a úpravou stávajících. Při spuštění internetového obchodu budete muset využít služeb zkušeného programátora.

Motor spotřebovává velké množství serverových prostředků. Platforma by měla sloužit pouze k vytváření velkých internetových obchodů. Moduly užitečné pro elektronický obchod jsou placené. Některé z nich jsou značně předražené.

Joomla

Platforma je na třetím místě v žebříčku. Výrobek se vyznačuje svou kvalitou. Pokud uživatel hledá nejlepší CMS engine, pak by měl věnovat pozornost Joomle. Klient může rozsáhlou sadu nástrojů rozšířit pomocí dalších modulů a pluginů. Je zajištěna vysoká bezpečnost práce se službou.

Uživatel má přístup k možnostem připojení víceúrovňové autorizace pro administrátory a rozdělení práv moderátorů. Změna vzhledu webu se provádí pomocí hotové šablony z rozsáhlého katalogu. V případě potřeby můžete vytvořit vlastní rozvržení. Mnoho klientů se domnívá, že toto je nejlepší CMS pro obchod, protože umožňuje přizpůsobit mnoho prvků. Webové stránky založené na tomto enginu mají flexibilní strukturu.

Další komponenty pro Joomla

Vývojáři neustále vydávají aktualizace. Původně byla platforma vytvořena pro firemní webové zdroje, blogy a stránky vizitek. Nyní motor spolupracuje s online obchody a sociálními platformami. Chcete-li na web přidat produkty, musíte si stáhnout další komponentu. Nejběžnějšími skripty jsou VirtueMart a JoomShopping.

V případě potřeby se instalují další moduly. Pomocí VirtueMart může uživatel integrovat web s databází 1C, propojit oblíbené platební systémy a nakonfigurovat import/export produktů. Doplňková komponenta je vhodná pro spouštění malých a středně velkých internetových obchodů. VirtueMart se nepoužívá při vytváření velkých portálů, protože nemá potřebné funkce a správný bezpečnostní systém.

Drupal

Tato platforma je zaměřena na komplexní weby a profesionální programátory. Práce se softwarem vyžaduje zkušenosti a odpovídající školení. Systém se synchronizuje s partnerskými weby. Uživatel si může vybrat krátké adresy, používat témata šablon a vytvářet webové zdroje s podobnými prvky (jednotná uživatelská základna). K dispozici je funkce vícejazyčného překladu.

Motor je vhodný pro velké internetové obchody a komunity. V ostatních případech nebudou náklady oprávněné. Chcete-li používat platformu, musíte nainstalovat Ubercart. Tato doplňková komponenta se prakticky neliší od skriptu VirtueMart. Nejlepší bezplatné CMS Magento a Joomla obsadily první místo v žebříčku jen proto, že jsou o něco běžnější a méně náročné na naučení a přizpůsobení než Drupal.

MODX

Tato platforma může běžet téměř na všech serverech a komunikovat s různými prohlížeči. Software je distribuován na základě licence. Motor se používá k vytváření webových stránek různých typů. Platforma je také prostředím pro vývoj aplikací. Není náročný na zdroje serveru.

Instalace a konfigurace motoru není obtížná. Mezi nevýhody patří nízká prevalence v zemích SNS a nedostatek nezbytných funkcí pro spuštění plnohodnotného internetového obchodu na těchto územích. Mnoho uživatelů uvádí, že při práci s motorem vznikají problémy s bezpečností webových zdrojů.

OpenCart

Komerční nebo zcela zdarma CMS - co je lepší? Platforma OpenCart je příkladem toho, jak svobodný software může překonat nejdivočejší očekávání zákazníků. Tento motor je nejvhodnějším řešením pro malé projekty. Platforma se snadno instaluje a konfiguruje. Engine není náročný na zdroje serveru.

Pomocí obrovského množství modulů můžete do svého internetového obchodu přidat téměř jakoukoli požadovanou funkcionalitu. Vývojáři z rusky mluvící komunity pomohou vyřešit jakékoli problémy, které mohou nastat. V případě potřeby můžete použít vestavěný instalátor modulů. Zpočátku se platforma nezaměřovala na trh SNS. Nyní můžete najít sestavy s dalšími funkcemi.

Vývojáři aktualizovali způsoby platby a doručení a přidali různé filtry. Mezi nejoblíbenější sestavy patří ocStore a MaxyStore. Klient si vždy může vytvořit vlastní verzi z potřebných doplňků. Uživatel má přístup k funkci specifikace klíčových slov a meta tagů pro každý produkt zvlášť. Nevýhody zahrnují zamrzání systému při velkém počtu produktů a také vysoké náklady na mnoho modulů.

PrestaShop

Vývojáři vytvořili tuto platformu v roce 2007. Motor je vhodný pro malé a středně velké internetové obchody. Stejně jako OpenCart má platforma PrestaShop působivou funkčnost. Chcete-li pracovat s ruskými platebními systémy, budete muset přidat další moduly. Engine je absolutně nenáročný na zdroje serveru.

V roce 2011 byl PrestaShop zvolen nejlepší bezplatnou platformou elektronického obchodování. Na rozdíl od OpenCart nemá engine oficiální vývojářskou podporu. Přídavných modulů tedy není tolik, kolik by si uživatelé přáli. Základní verze platformy využívá více zdrojů než OpenCart. Náklady na další moduly jsou mnohem nižší než v Magento.

UMI.CMS

Platforma se vyznačuje citlivým designem a nákladovou efektivitou. Klient si může vybrat jazyk, se kterým bude pracovat, nastavit témata šablon a sledovat statistické informace, jako jsou údaje založené na průměrném účtu.

WordPress

V pokračování tématu „nejlepší CMS“ bychom měli zmínit tento engine. Platforma je jednoduchá, srozumitelná, ale zároveň funkční. Pro provoz motoru nejsou potřeba žádné technické znalosti. S jednoduchým rozhraním budou spokojeni i profesionálové. Odpovědi na vaše otázky najdete v návodu.

Platforma byla vytvořena pro blogy, zpravodajské zdroje a další portály, kde potřebujete rychle přidávat informace. Pluginy pro rozšíření funkčnosti lze zakoupit za přijatelnou cenu. Vývojáři nabízejí více než 10 dalších komponent pro vytvoření internetového obchodu pomocí enginu WordPress. Nejoblíbenější je plugin WooCommerce. Spustit na jeho základě plnohodnotný internetový obchod je velmi obtížné.

Můžete přidat maximálně 100 produktových karet, které nevyžadují aktualizaci. Platforma se snadno učí. Systém je vhodný pro začátečníky, kteří mají blog na webu WordPress. Mezi nedostatky je třeba poznamenat nedostatečnou integraci s 1C, ruskými platebními systémy a doručovacími službami. Po instalaci pluginu může dojít ke konfliktu se šablonou.

NetCat

Platforma poskytuje příležitost v mobilní verzi. Podporován responzivní design. Nejlepší CMS by měl mít dobrou funkčnost pro propagaci vyhledávačů a integraci webových stránek s užitečnými službami. Tento motor splňuje všechny požadavky. Rozhraní je intuitivní.

Platforma pracuje s databází 1C a elektronickými platebními systémy. Při práci s platformou není potřeba používat složitá technologická řešení. Rozhraní lze rozdělit na dvě: pro uživatele a vývojáře.

HostCMS

Engine je nenáročný na hosting a servery. Tato platforma je nejlepší CMS pro SEO. Uživatel má možnosti pro vytváření krátkých adres stránek, specifikaci meta tagů atd. Engine skvěle pracuje s webovými zdroji s vysokou návštěvností. Platforma pracuje se systémem 1C.

Cena licence je 6 tisíc rublů. Klient obdrží poměrně funkční platformu s možností rozšíření funkčnosti instalací dalších modulů.

CS-Cart

Při výběru nejlepšího CMS si mnoho uživatelů všimne výhod tohoto motoru. Tvůrci softwaru nabízejí klientům širokou škálu nástrojů. Platforma se vyznačuje pohodlnou organizací internetového marketingu, dobrou formou práce s objednávkami, SEO optimalizací zdrojů, integrací s 1C a službou Yandex.Market. Uživatel má přístup k možnostem vytváření adaptivního návrhu a jednoduchého přidávání materiálu.

Amiro.CMS

Tato platforma se nazývá univerzální. Engine je vhodný pro vytváření profesionálních zdrojů různé úrovně složitosti. Vývojáři nabízejí více než 60 dalších modulů, které rozšiřují funkčnost. Uživatel může spustit vysoce kvalitní web téměř jakéhokoli typu.

LPgenerátor

Online generátor webových stránek je skvělým řešením pro začátečníky i odborníky. Pomocí enginu můžete vytvořit webovou vizitku nebo malý obchod. Někteří uživatelé jednoduše přidají materiály k prezentaci produktu/služby. Klienti mohou využít pohodlný editor a také stovky šablon v LPStore.

Uživatel má možnosti pro připojení nové domény a synchronizaci webu s užitečnými službami. V případě potřeby lze rozvržení předělat. Vývojáři také poskytují nástroje pro SEO optimalizaci.

HTML5 spolu s CSS3 a JavaScriptem dává vývojářům dostatek příležitostí k vytváření her pomocí 3D, animací, plátna, matematiky, barev, zvuku, WebGL. Jednou z nejviditelnějších výhod HTML5 je jeho nezávislost na platformě a obecně na hardwaru.

Při bližším zkoumání můžete identifikovat další schopnosti, které motory poskytují: zjednodušení některých běžných úkolů nebo načítání zdrojů, formátovaný vstup, fyzika, zvuk, bitmapy (těch samozřejmě není mnoho). Existují také poněkud špatně navržené enginy a existují i ​​takové, které poskytují vývojáři editor 2D úrovní a nástroje pro ladění.

Předpokládá se, že většina enginů slouží ke zkrácení času potřebného k vývoji plnohodnotné hry. Mnoho vývojářů však dává přednost vytvoření svého projektu úplně od nuly, aby lépe reprezentovalo jeho strukturu. Existuje jen málo JavaScript-HTML5 motorů, které skutečně stojí za to, ale mohou mít také jednu velkou nevýhodu: již nejsou podporovány nebo se blíží jejich ukončení. Proto při výběru motoru vybírejte ty produkty, jejichž podpora vydrží poměrně dlouho.

Takže zde jsou ve skutečnosti samotné motory.

Lstivý

Ideální pro implementaci 2D sprite arkádových her a hlavolamů v retro stylu, jako je Sudoku. Má připravenou k použití samospouštěcí herní smyčku. Podporována myš a klávesnice. Je dobře zdokumentován a za jediný nedostatek lze považovat chybějící zvukovou podporu.

ličiJS

Open source pro různé prohlížeče, napsaný výhradně v JavaScriptu. Je od základu postaven tak, aby byl co nejflexibilnější, má rozsáhlé API a využívá nejnovější funkce moderních prohlížečů. Tento framework je navržen tak, aby udělal vše za vás: váš nápad – jeho implementaci pomocí nejčastěji používaných nástrojů.

GameJS

K vytvoření stránky se používá JavaScript a CSS. Společně působí celkem sebevědomě a harmonicky. Určeno pro začátečníky, kteří se učí základy programování videoher. Bude to pro vás snazší, pokud již máte nějaké CSS dovednosti.

ClanFX

2D grafický engine HTML5 v JavaScriptu přenesený z iPhone. Umožňuje rychle vytvářet 2D hry a grafické aplikace, které lze spustit na všech moderních zařízeních bez instalace dalších pluginů.