Javascript Framework

KIRJA.js is a powerful, fast, secure and easy to learn multipurposes progressive javascript framework that let you split the creation of simple or complex websites by separating your entire web-application in multiple and reusable components called pages... as if it were a virtual dynamic book that can be written by multiple hands.
Yes, it ensure scalability as well as collaboration because every single page can be coded as autonomous.

This is how all the files of your entire project will look like using the Kirja.js framework:
Source code
9 lines
HTML block
...
<k-code>
// Here all the JAVASCRIPT code for this page
</k-code>
 
<k-styles>
/* Here all your CSS styles for this page */
</k-styles>
Where every page, that are single files normally stored in your server, have an HTML block and its own and optional code block and styles block.

All the Javascript code for a page have to be placed between the <k-code> and </k-code> virtual tags. The framework will parse it transparently to the users when the page is initially loaded.
This mean no more script tags in your entire application!

Thanks to the new k-styles virtual tag you can also avoid to load huge CSS files at start.

All the page code is considered private to the page itself and normally cannot be seen outside of that page and it will exist until the page is used in your application.
This simple format allow code isolation, meaning that every method, variables, event or timer used in the page as well as all Ajax operations will be automatically closed/unloaded/released by Kirja.js once the page is substituted with another one or unloaded from your web application.

Plus, all the pages keep a relation with their parent pages. So when a parent page is substituted/unloaded, all its child pages will also receive a request to unload their own content but during that, every child page can also choose to stop the entire unload operation (maybe because a child is still saving something).
But this is only a fragment of what this library can offer.

So, are you understanding the importance of what you've read until now?
Learn more clicking those appealing GREEN buttons in the site header :)
In modern days complexity is a cancer!
Simplicity is the key for better productivity and scalability!
These are all the modules currently available:
  • library_books PAGES

    External modules of the UI that have their own code and that can be loaded from the server or the browser cache and injected inside a DOM container.

  • history HISTORY

    Automatically manage the browser history and allow you to also customize its behaviour.

  • language GLOBALS

    Allow the use of global variables or methods in your web application. Those variables and methods can also be used with the templates or history module.

  • code DOM & CSS MANIPULATION

    DOM elements attributes, classes, styles, visibility, finding and removing have never been so fast and easy.

  • cached CACHE

    Manage the session or permanent caching of pages and custom data. The cache can have a global or per-object automatic expiration time.

  • settings_ethernet TEMPLATES

    Complete inline HTML templating system that can also be used to create parameterized custom components.

  • battery_charging_full PRELOADER & LAZY-LOADING

    Preload content like for example the most used pages or data, storing them into the permanent cache. Plus the ability to lazi-load images and backgrounds

  • call_split ROUTER

    URL customization and routing functionalities allowing you to create simple but also complex loading paths.

  • alarm_on EVENTS & TIMERS

    DOM and special events management and a customizable timers manager.

  • dashboard CALCULATED STYLES

    No more fixed width or height in your inline style. Calculate the element size based on other element's size also mixing different unit of measure (px, %, rem, rm, etc)

Compatible with major browsers and platforms: This mean 100% compatible with all the browsers and devices out now.

en
cached content