Skip to content
Ali Badakhshan edited this page Apr 9, 2019 · 31 revisions

Narik

Overview

Narik is a framework that helps you create your angular project more creatively during less time and without waste of time and money. You can find many amazing aspects in Narik that I'm sure you will be surprised when you hear about them and absolutely use them.

Narik aspects

Narik architecture

Narik framework divides to multiple libraries that each of them has a separate NPM module. Some of them are critical and some are optional so you can easily choose what you want from Narik.

More Information about Narik Architecture

Metadata framework

The main advantage of using Narik is creating an Angular application without any code. Are you thinking about a code generator?!! No, actually you don't need any code. (maybe some code will be required for customization)

With Narik you can create your application based on metadata instead of code(exactly modular applications). To achieve this, Narik provides you with a flexible metadata framework, including metadata inheritance, metadata projection, metadata modules, etc and a metadata generator

More Information about Narik Metadata Framework

Narik modularity system

Narik provides you with a modular application. this means you can divide your application to different modules and each module has its own metadata.

More Information about Narik modularity system

UI inheritance

One of the major features of Narik is UI inheritance. As you can inherit from a component ts class, you can inherit from a base HTML file in a component template. It's completely different from the content projection. In UI inheritance, unlike content projection, no need to have two different components, actually all part of the created UI(UI created after apply inheritance) has one ts file.

Whit this feature you can create multiple components with one HTML UI.

More Information about UI inheritance

Data framework

Data plays a basic role in a data-centric application. Actually, in this kind of applications, you work with data. You probably do the following actions with data:

receive data from a remote server or create it at the client side. store data on specific storage like a cache system. Get data from storage or provider whenever you want. Manage your application states with data. Except be notified when data changed. Bind data to a UI component. Invalidate stored data on a custom storage on custom conditions.

Narik provides you with two major concepts in data framework:

DataProvider and DataStorage that with the help of these two concepts you can do everything about data.

More Information about Data framework

Query service

Query service is a concept very close to data service. With query service, you can manage the way you act to the remote server to get and post data. For example for crud actions or other things like that. We know there are many other types of the query rather than crud that Query service should consider.

More Information about Query service

UI component framework

Surely at the start of developing a new application, you face a big decision. Which UI library should we select?

Narik makes this decision comfortable for you with providing a flexible UI library. Actually, Narik UI library is a wrapper on famous Angular libraries. This causes you to use UI components more comfortable and more flexible.

Whenever you want to change your selected UI library you can change it only with some changes on module imports

More Information about UI component framework

Dialog service

Dialogs are very important in any application. Many times you want to display some messages, get confirm from users, display a template or a component, interact with dialogs and ... Narik dialog service provides you with all of these features and above all this service is fully independent of UI library you used.

More Information about Dialog service

Navigation service

Angular provides you with Navigation via router and outlets. but in many cases, you want to navigate to the view in the other manner. for example, you want navigated view will be open in custom dialog or in a new tab and something like this.

More Information about Navigation service

Authentication and Authorization Service

More Information about Authentication and Authorization serviceservice

Commands

More Information about Commands

Other services, components, directives

More Information about Other services, components, directives