brillout / awesome-angular-components

Catalog of Angular 2+ Components & Libraries
https://devarchy.com/angular
Creative Commons Zero v1.0 Universal
3.24k stars 409 forks source link

Cand add a library because there is no npm package #10

Closed YagoLopez closed 7 years ago

YagoLopez commented 7 years ago

Hello.

I would like to add a library to the list at devarchy.com, but it is impossibe because there is still no npm package for it.

The github repo is: https://github.com/YagoLopez/material-light

It is a library of UI components based on Material Design Lite and converted from javascript to Typscript components. In my opinion is lighter, faster and easier to use than official Material Design 2. (Especially indicated for mobile interfaces too)

Could you be so kind to add it to the list? I have inverted a considerable amount of work in it and think it could be useful for other developers.

Anyway thanks for all, Yago Lopez https://yagolopez.github.io

brillout commented 7 years ago

Hello.

Thanks for the PR!

Material Light seems to be neat.

But couple of things;

YagoLopez commented 7 years ago

Hello, You are very inquisitive :)

This is the first library I created using Angular 2. The process seems to be not straight-forward and simple as a tipical library of modules, there are things like how to manage static assets to be compatible with webpack compliation and other things relatives to dependencies and compatibility with angular versions 2 and 4. I wanted to be sure of things like that before creating an npm package. (Angular 4 was relased only a couple of weeks). By now the library is easily usable cloning the repository and including the directory of components in your project (basically using copy and paste) but my intention is to create an npm package when all the details be solved. Maybe I was a litte impatient releasing, but I thought the work worth it and it could be useful for other people. Also excuse me if my repo seems to much pretentious and I must to recongize that the documentation of the apis is almost inexsistent. Hope to solve that soon.

Respet your questions: I have no time nor resources for making benchmarks with all other alternatives, but in some cases it is easy to percive at simple eye that Material Light loads very quick, or page weights are small, or components are truly encapsulated or file structure is clear and compact, or (attributes, and code) are very simple. I dont want to be concrete and give name of other alternatives or understimate work of other developers (it is said comparations are odious) just make the compartaion by yourself.

I have paid especial attention to some things like modules for lazy-loading and an easy way to validate forms out-of-the box (without extra code) and good performace on mobile. Other options work well in browser but perform not so well in smartphones with poor hardware.

The library is based on Material Design Lite that was created to be light as his name indicates. If you compare Material Design Light with Material Design it is quite easy to see that MDL runs better in middle smartphones. By other side Material Design is more complete but it can be more complicated to include in your project, with components more verbose and more code to write. It is a trade off.

I hope don't have extended too much and excuse me if my English is mediocre. If you want I could try to give you some code examples and some benchmarks, but I would need more time. Anyway thanks for your interest and If you dont include ML in your repo no problem :)

PD: I forgot it. In the the demo there are a couple of buttons in the bottom of each screen where you can see how the components are used, but as I told you I am in the process of creating a complete documentation for each api of the components.

Cheers, Yago Lopez.

brillout commented 7 years ago

Hi & thanks for the elaborate answer.

I'd say that documentation and an npm package is a minimum to be included in the catalog. Also elaborating on why it's better in the readme would be good. Doesn't need to be benchmarks but at least a justification of why it is expected to be better.

Closing this for now. Feel free to add it to devarchy once the issues tackled.