Narik is a framework that helps you create your Angular project more creatively in less time. You will find Narik interesting in many different aspects, once you use it.
Narik framework has built up of multiple libraries that each of them has a separate NPM module. Some of them are mandatory and some are optional so you can easily choose what you want from Narik.
The main advantage of using Narik is creating an Angular application without any code. Are you thinking about a code generator? No, you absolutely don't need any code. (Some coding for customization might be required though.)
With Narik you can create your application based on metadata instead of code (exactly a modular application). To achieve this, Narik provides you with a flexible metadata framework, including metadata inheritance, metadata projection, metadata modules, etc and a metadata generator
Narik provides you with a modular application. This means you can divide your application to different modules and each module has its own metadata.
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, there is no need to have two different components; Actually, all parts of the created UI (the UI created after applying inheritance) has one ts file.
With this feature, you can create multiple components with one HTML UI.
Data plays a important role in a data-centric applications. In these kinds of applications, you work with data and probably do the following actions:
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 is notified when data changes.
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 with data.
Query service is a concept that is 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 the crud, that the query service should consider.
Surely at the beginning of developing a new application, you have to make a big decision: Which UI library should we select?
Narik makes this decision easier for you with providing a flexible UI library. Actually, Narik UI library is a wrapper on famous Angular libraries. This makes you able to use UI components easier and more flexible.
Whenever you want to change your selected UI library you can change it only with some changes on module imports.
Dialogs are very important in many applications. Sometimes you want to display some messages, get confirmation from users, display a template or a component, interact with dialogs and so on. Narik dialog service provides all of these features and above all this service is fully independent of any UI library.
Angular provides you with Navigation via router and outlets. But in many cases, you want to navigate to the view in some other manner. For example, you want to navigate the view to a custom dialog or a new tab; Narik Navigation Service will handle that.