Dec 192016 Tagged with , , 0 Responses

Total.js Review

Total.js is a free and very powerful web application framework for building Web sites and Web applications using JavaScript, HTML and CSS. The framework is a server-side framework for Node.js. The framework is written in pure JavaScript.

node framework

Total.js framework has very simple logic, a short learning curve and many features for creating rich and scalable web applications.

If you know JavaScript well, then Total.js will make your task easier. It has a very rich set of features. By using Total.js, you will save a lot of time, if you are developing a webapp from scratch. Not only that, a webapp built in Total.js is highly secured and scalable. Total.js enables rapid application development, very low maintenance cost, powerful security, scalability, easy scaling and high performance.

Let us have a look at its features in detail:

MVC based framework:

Total.js is one of the Node.js frameworks supporting MVC (Model-View-Controller) software architecture.

mvc-architecture

Clean Directory Structure:

The directory structure of total.js application is shown below.

Directory Structure

You can see Total.js project has a very simple directory structure. All directories are optional and you can rewrite each path of directory in the framework configuration file.

Isomorphic Code:

Isomorphic code means the code that can execute both on the client as well as on the server.

As a result you can write the code once and then execute it on the server to render static pages and on the client to allow for fast interactions.

RESTful routing:

RESTful Routing is based around the principle of Resources and the actions: GET, POST, PUT, DELETE.

Supports just-in-time JS, CSS (variables and nesting) and HTML compression and merging:

It reduces HTTP requests and enables faster loading.

Supports modules and packages:

Module in Total.js is simply plain JavaScript file with .js extension. The package is the plain text file with .package extension. The Package is same as the Total.js module, but the Package can contains multiple files in the one package file.

Supports WebSockets (RFC 6455) and Server-Sent events

Total.js supports WebSockets(RFC 6455) protocol for bidirectional client-server communication in your web app. It also supports Server-Sent Events which allow a web page to get updates from a server automatically.

Localization:

Localization is the process of developing application for a given culture and locale. You can develop multilingual websites and webapps using Total.js. It is supported by resource files.

Built-in view engine:

The view engine is used for creating HTML from your views. Views are usually some kind of mixup of HTML and a programming language. The view engine supports layouts, conditions, loops, sections, helpers and inline helpers. View Engine renders the HTML to the browser. Views can render HTML. You can render “view” in “view” and “view” is rendered into the layout at the end.

Supports Cache mechanism:

Caching is a technique of storing frequently used information in memory, so that, when the same information is required again, it can be directly accessed from the memory instead of being generated by the application.

Supports schema:

The Total.js Schema provides a way of manipulating database tables. It also provides a way of creating business objects. You can validate and prepare data according to the schema. Schema supports transformations, workflows, validations and standard CRUD operations (CREATE, READ, UPDATE, DELETE).

Security:

  • By default the view engine encodes all values. The framework works only with object. POST, GET, DELETE, PUT data are parsed as object.
  • To prevent CSRF attacks, you can use AJAX/XHR form submitting.
  • It provides the method for configuring CORS (Cross-Origin Resource Sharing) options.
  • The framework supports auto-binding model into the forms.
  • The framework automatically checks incoming requests and the bad requests destroys automatically. All requests are destroyed when don’t have a defined route.
  • The framework checks length of uploading files.

Other important features:

  • Fully asynchronous
  • Full web server with serving of static files
  • Supports generators like synchronous programming and wrapped methods
  • Supports IP restrictions
  • Supports redirections
  • Supports media streaming (e.g. audio, videos etc)
  • Supports just-in-time mapping of files
  • Built-in image processing engine via ImageMagick or GraphicsMagick
  • Supports multipart/x-mixed-replace (IP camera streaming) uploading and sending
  • Supports middleware (like express.js) with custom options
  • Supports unit testing
  • Supports workers for heavy CPU operations
  • Supports 4x config files (common, debug, release and test)
  • Mailer with templating (Gmail, Outlook or classic SMTP servers with auth and TLS)
  • Supports injecting scripts, packages and views from URL
  • Supports String, Date, Number and Array prototypes
  • Supports additional utilities (e.g. create request, XML parsing, etc.)
  • Supports themes
  • Supports scripting
  • Possibility to rewrite existing functionality
  • NoSQL embedded database with joins, scalar operations and in-memory mode
  • You can use framework as single library

To Conclude:

Total.js is one of the leading JavaScript frameworks that is trending for all the apparent reasons. It provide all the right features, functions and tools to get the job done. It is great in developing web apps that are secured and scalable. You can start exploring Totaljs document to learn Totaljs.

Total js guys are team of web developers that provides excellent website and web application development services and support.

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">