-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Component-Oriented UI #107
Comments
https://github.com/workhorsy/comic_book_reader/tree/polymer |
This is a good idea. I have been looking into different libraries to do this: angular, react, vue, polymer, et cetera. Unfortunately right now I don't know enough about either to properly use them. |
@btzr-io That polymer branch was accidentally pushed to github. I don't think there is anything even in it. It was just for a test. I'm not even sure if polymer is the right component library to use. |
Ok, here's a basic implementation of react (not ready yet): Run for developmentnpm start |
Now we just need to split UI into
|
Since you started porting to React, I've been looking into it more. Surprisingly it has a problem with its license. From what I understand, it uses the 3 clause BSD license with a patent rider clause added: https://en.wikipedia.org/wiki/React_(JavaScript_library)#Licensing This would make it so Facebook could terminate someones right to use React, if Facebook thinks they violated one of Facebook's patents. Or if they made a patent claim against Facebook. It looks like there is a recent effort to fix this: Until this is resolved, there is no way I can support using React. You can continue changing it to use React if you want. But there is no way I can merge this into master with the license problem. |
Well, we could use: preact Preact
And if facebook ever fix that issue we could migrate to react: Preact-compat
|
Preact License: MIT License |
I'll look into preact. Thanks |
Right now I'm looking at a bunch of different component libraries. Here are a few requirements that will need to be met for us to select one:
|
I think preact it's a really good option (lightweight, fast, react-compatible, works with redux) License
Setuphttps://github.com/developit/preact#getting-started Preact-cli
https://github.com/developit/preact-cli Benchmarkhttp://developit.github.io/preact-perf Browser support |
Riot.jsFramework size comparison
Browser support
License MIT |
That's incorrect. Facebook cannot terminate your right to use React, they can only terminate your right to use any patents which they may or may not have on the concepts underlying React. And that termination does not happen if Facebook thinks you've violated their patents, only if you make a patent claim against Facebook. That's clarified explicitly here.
|
I think that it isn't wise to have any of that hanging over software projects, especially as those PATENTS files get scattered throughout dependencies (Immutable, etc.). It creates a power imbalance, since Facebook could violate your patents, and then you would have to figure out what that untested file really means in practice. Until those PATENTS files are removed, many companies won't be able to use open-source software that depends on Facebook libraries. |
@btzr-io What do you think of polymer 2? It seems to be closest to what vanilla Web Components will be. The only down side I can see is that it still uses Bower, which is basically dead. |
http://riotjs.com/compare/#polymer
I never used polymer before, I'm looking at the docs... |
It looks like they are comparing polymer 1.8. Polymer 2.0 is a rewrite that is relatively new and allegedly solves performance problems. |
|
I'm not really concerned about size, since we will be shipping around 3MB of code just to uncompress Rar, Zip, Tar, and view PDF files. |
Ok, I'm not sure how to implement it yet... |
@codyhatch I'm not sure what you mean. I am not a lawyer btw. In my reading of the PATENTS file there are several ways in which the license would terminate unfairly:
I'm sure there are more holes. I seems like this entire PATENTS file is designed to look like it is protecting Facebook from being attacked by patents claims. While in reality it is filled with double negatives, that stop people from defending themselves from attack by Facebook.
https://github.com/facebook/react/blob/master/PATENTS It is also possible that my understanding may be wrong. I do not have the time or resources to deal with any patent shenanigans. I do not support software patents. Until the React the PATENTS file is removed, and React is placed under a standard open source license, I won't be using it. That is just my opinion, feel free to disagree. |
@btzr-io I'll have to look at preact and polymer more later tonight. |
I spent a little bit of time making a simple polymer 2.0 and preact website. I had huge problems with polymer:
I don't want to crap all over polymer too much. I think it does have a lot of great ideas, and it is more like what I want out of standard WebComponents. Anyway. Preact looks like it will be good enough for now. We can always move to something else, or go back to pure JavaScript if this fails. No big deal. I started on a basic Preact port here: |
Nice, I tried to implement But there is an issue with |
Cool. I should probably use preact-i18nline rather than rolling my own translation code. |
Hi guys. I just noticed this issue because I have picked up work on |
Thanks. I haven't had any time to work on the comic book reader. Hopefully someone can continue porting to Preact. |
@Download awesome, I'm currently working on some components and they have a
|
|
Setting up the project is tricky still at the moment. So let me know if you need help. The docs are a bit out-of-date as well atm. I'm working on making it simpler to drop into a project and as part of that work will also update the README. Until then I would advice you to keep an eye on https://github.com/backstopmedia/preact-book-example. This is an example project using Preact, created with Preact CLI. I will be pushing a branch there soon with the customizations needed to get it to work with preact-i18nline. |
Simplify UI with modular and reusable components:
Todo
The text was updated successfully, but these errors were encountered: