Peter Širka
Peter Širka

Osobný blog programátora a IT nadšenca.

Nová verzia Total.js v2.1.0 + nové produkty

Nová verzia Total.js v2.1.0 a nové produkty

Total.js

S radosťou môžem oznámiť, že vyšla nová verzia frameworku Total.js v2.1.0. Prináša niekoľko noviniek a opráv. S novou verziou prišiel aj veľký redizajn webovej stránky www.totaljs.com. Celý zoznam zmien sa nachádza na GitHube: changes.txt.

Dôležité: Hľadám sponzora alebo investora


Prepísaný JavaScript minifikátor

Minifikátor musel byť prepísaný kvôli licenciám a táto zmena patrí k veľmi zásadným novinkám. Nový algoritmus by mal byť trošku efektívnejší a rýchlejší.

Novinka v schémach: Hooks

Hooks som ešte osobne v projektoch nevyužil, ale vidím tam veľký pontenciál pri modulárnych aplikáciách. Operácie ako workflow, transform, atď. môžu byť len unikátne, to znamená, že ak máte workflow send tak druhý workflow send už nemôže byť a práve tu prichádzajú hooks. Hooks je laicky povedané pole funkcií, ktoré sú volané postupne za sebou.

Zlepšené sitemapy

Sitemapy odteraz podporujú lokalizácie aj v URL adresách a ich funkčnosť bola všeobecne vylepšená. Viac informácií sa dočítate v dokumentácií: https://docs.totaljs.com/latest/en.html#pages~File%3A%20sitemap

Aby som nezabudol, tak s týmto nápadom prišiel Tomáš Novák z firmy For Best Clients.

Obnovená a vylepšená funkčnosť streamovania obrázkov

Obnovil som podporu streamovania (pri upload/download) súborov cez multipart/x-mixed-replace, vďaka tejto funkčnosti môžete veľmi ľahko streamovať napr. obsah z IP camery s podporou MJPEG. Implementácia je veľmi jednoduchá.

Príklady:

Nová funkcia F.group()

Do frameworku som pridal novú metódu F.group(flags, scope), ktorá rozširuje flags v scope pre metódy F.route(), F.websocket() a F.file(). Inpširoval ma PHP framework Laravel na prednáške WEBtlak - dokonca som zistil, že Total.js sa trošku podobá na Laravel framework (iba trošku).

WebSocket auto-destroy

Do WebSocketového controllera bola pridaná nová metóda controller.autodestroy([callback]), ktorá zničí inštanciu controllera a uvoľní pamäť, keď nie je online žiadny užívateľ.

Nové open-source produkty

Blog Engine

Blog Engine je veľmi jednoduchý produkt, pomocou ktorého si môžete písať blogy. Sila produktu je v tom, že používa NoSQL Embedded databázu, takže pre prevádzkovanie nepotrebujete nič inštalovať okrem platformy Node.js a Total.js frameworku. Aj tento môj blog beží na Blog Engine.

Dashboard

Dashboard patrí medzi veľmi zaujímavé a využiteľné produkty. Pomocou Dashboardu si môžete vytvárať vlastné Dashboardy s rôznymi widgetami. Widgety môžu zobrazovať rôzne grafy, zoznamy, ale aj nejakú dynamickú funkčnosť. Dashboard bol napísaný tak, aby ste si ho mohli prispôsobiť Vašim potrebám a pomocou jednoduchého API je možné vytvoriť vlastnú sadu widgetov.

CMS

Node.js Content Management System (CMS) má odteraz vlastný repozitár na GitHube, takže už nebude spájaný s Eshopom a novinky v CMS nájdete popísané nižšie.

Upravené produkty

Eshop

Z produktu Eshop bol odobratý projekt CMS, ktorý som presunul do samostatného repozitára. Nakoľko sa jedná o skoro rovnaké projekty s menšími odlišnosťami tak nové zmeny sa týkajú obidvoch produktov. Celkovo boli vylepšené skoro všetky UI komponenty (lepšia performance a pridané animácie) a na server-side boli refaktorované zdrojové kódy - sú krajšie, menšie a čitateľnejšie. CMS dostalo odosť vylepšený a stabilnejší WYSIWYG editor.

SuperAdmin

SuperAdmin dostal ako novú funkčnosť: obnovenie SSL certifikátov, šablóny aplikácií a notifikácie. Zmeny sa týkajú ešte UI kompomentov, ktoré boli vylepšené, zjednodušené a z animované.

Componentator

Skoro všetky komponenty v componentator.com prešli refactoringom, takže niektoré komponenty majú menší + lepší kód a pridal som aj nové CSS animácie.