New improved version of the framework brings better performance, new features and some bug fixes.
New Total.js version 2.5
It's the best time to switch to Total.js. I can say that the framework is a professional tool for all web developers and their companies. Today it's Your last chance to buy Total.js Premium Account at 30% discount. Buy the premium with chat support now and start your business with Total.js platform, we'll change your view of web development in the next days.
What's new?
- supports WebSocket DEFLATE compression algorithm
- replaced EventEmitter with custom implementation in the framework core (this step increased performance)
- rewritten handling of static files
- improved overall performance about 2-5%
- improved components, components now support groups
- improved loading of framework dependencies
- improved view rendering
- Total.js apps can be handled via Passenger web server
- improved responses
- improved requests processing
- improved WebSocket performance
- improved a memory consumption for GraphicsMagick and ImageMagick (great news for weaker VPS)
- and many small fixes and improvements
- Changelog
$ npm install total.js
or download empty-project with the framework
New global aliases
Events:
ON(name, fn)
alias forF.on()
OFF(name, [fn])
alias forF.removeListener(name, fn)
orF.removeAllListeners(name)
EMIT(name, arg1, arg..N)
alias forF.emit()
Schemas:
$GET(schema, [options], callback)
alias forGETSCHEMA(name).get()
$QUERY(schema, [options], callback)
alias forGETSCHEMA(name).query()
$WORKFLOW(schema, name, [options], callback)
alias forGETSCHEMA(name).workflow2()
$TRANSFORM(schema, name, [options], callback)
alias forGETSCHEMA(name).transform2()
$OPERTION(schema, name, [options], callback)
alias forGETSCHEMA(name).transform2()
$MAKE(schema, model, [filter], [callback], [novalidate], [argument])
alias forGETSCHEMA(name).make()
Other:
WAIT
alias forU.wait()
A new alternative of schema declaration
An small example:
Debugging of Total.js application
I have added a debug logging into the framework. You can enable it via allow-debug : true
in a config
file or by passing options to http
method:
Example of output:
- the framework creates
/usage.log
file when it is initialized - at every
service
interval the file/usage.log
is updated - created for critical situations
Scheduler
Now scheduler can be cleared via F.clearSchedule()
.
Components
The components mechanism supports groups
to render all components from the group:
This mechanism can extend your web applications (e.g. Total.js Messenger uses this mechanism).
Consolidated config names
IMPORTANT: don't worry all older names will be work the next 3 versions, so you have time for replacing older values. I have updated more than 60 projects because of that.
Easy way to change SMTP server
I have added a new method for easy changing of SMTP server with a check via Mail.try()
. More information in documentation.
Deferred functions
- an experimental feature
- documentation
How it works?
Framework automatically parses all functions function DEFER
and saves them to the helper variable.
- Don't have a premium account yet? Register now
- Support Total.js on social networks
- Make a donation
- Let's talk with us on Total.js Messenger
With new version is also coming a new product Total.js Flow (I hope next week) and better functionality (coming soon) for Total.js Eshop, Messenger, SuperAdmin, Dashboard, etc..
Other posts from Total.js Platform
- 2024-11-13Benchmarking Node.js Frameworks: selecting your framework for 2025!
- 2024-11-01October report 2024
- 2024-10-22Performance Testing: Total.js vs. NestJS
- 2024-10-01September report 2024
- 2024-09-27Total.js UI Builder: #2 designing your first interface
- 2024-09-26Total.js V5: Middlewares
- 2024-09-23Beginner Guide to Total.js UI: # 05 Client-side routing
- 2024-09-23Total.js UI #4: Data Binding (Part 2 – Practical Example)
- 2024-09-20Introduction to Total.js UI Builder: A Beginner’s Guide
- 2024-09-13Total.js v5: #06 Understanding File Routing